File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
Loading..
0010ebc0
0010ebc0core::fmt::float::float_to_decimal_common_exact:
0010ebc0push rbp
0010ebc1push r15
0010ebc3push r14
0010ebc5push r13
0010ebc7push r12
0010ebc9push rbx
0010ebcasub rsp, 1208
0010ebd1mov r14, rdx
0010ebd4mov eax, esi
0010ebd6movd ecx, x0
0010ebdamov edx, ecx
0010ebdcshr edx, 23
0010ebdfmovzx edx, dl
0010ebe2lea r8l, [rcx+rcx]
0010ebe6and r8l, 0xfffffe
0010ebedmov esi, ecx
0010ebefand esi, 0x7fffff
0010ebf5or esi, 0x800000
0010ebfbtest edx, edx
0010ebfdcmove esi, r8l
0010ec01mov r8l, ecx
0010ec04and r8l, 0x7fffffff
0010ec0bcmp r8l, 0x7f800000
0010ec12jne 0x10ec19
0010ec14mov r10b, 3
0010ec17jmp 0x10ec73
0010ec19
0010ec19loc_10ec19:
0010ec19ucomiss x0, x0
0010ec1cjp 0x10ef50
0010ec22mov r8l, ecx
0010ec25and r8l, 0x7f800000
0010ec2ccmp r8l, 1
0010ec30mov r8l, 4
0010ec36sbb r8, 0
0010ec3atest ecx, 0x7fffffff
0010ec40mov r9l, 2
0010ec46cmovne r9, r8
0010ec4acmp r9, 2
0010ec4eje 0x10ec70
0010ec50cmp r9, 3
0010ec54jne 0x10ee27
0010ec5aadd edx, -150
0010ec60test sil, 1
0010ec64sete r10b
0010ec68mov r8l, 1
0010ec6ejmp 0x10ec73
0010ec70
0010ec70loc_10ec70:
0010ec70mov r10b, 4
0010ec73
0010ec73loc_10ec73:
0010ec73mov [rsp+152], rsi
0010ec7bmov [rsp+160], 1
0010ec87mov [rsp+168], r8
0010ec8fmov [rsp+176], dx
0010ec97mov [rsp+178], r10b
0010ec9fadd r10b, -2
0010eca3movzx r8l, r10b
0010eca7cmp r8b, 3
0010ecabmov r9l, 3
0010ecb1cmovb r9l, r8l
0010ecb5test r9b, r9b
0010ecb8je 0x10ed4a
0010ecbemov r13l, ecx
0010ecc1shr r13l, 31
0010ecc5test ecx, ecx
0010ecc7lea rcx, [rip-0x7fa84]
0010eccelea r8, [rip-0x7d9dd]
0010ecd5cmovs r8, rcx
0010ecd9lea rbx, [rip-0x7fa97]
0010ece0cmovs rbx, rcx
0010ece4test al, al
0010ece6cmove rbx, r8
0010eceamov eax, 1
0010ecefcmovne r13, rax
0010ecf3cmp r9b, 1
0010ecf7je 0x10ed7f
0010ecfdmovzx eax, r9b
0010ed01cmp eax, 2
0010ed04jne 0x10eda5
0010ed0amov [rsp+56], 2
0010ed11test r14, r14
0010ed14je 0x10ee60
0010ed1alea rax, [rip-0xcb4d5]
0010ed21mov [rsp+64], rax
0010ed26mov [rsp+72], 2
0010ed2fmov [rsp+80], 0
0010ed36mov [rsp+88], r14
0010ed3bmov eax, 2
0010ed40lea r15, [rsp+56]
0010ed45jmp 0x10ef20
0010ed4a
0010ed4aloc_10ed4a:
0010ed4amov [rsp+56], 2
0010ed51lea rax, [rip-0xcb50a]
0010ed58mov [rsp+64], rax
0010ed5dmov [rsp+72], 3
0010ed66mov eax, 1
0010ed6blea r15, [rsp+56]
0010ed70lea rbx, [rip-0x7da7f]
0010ed77xor r13l, r13l
0010ed7ajmp 0x10ef20
0010ed7f
0010ed7floc_10ed7f:
0010ed7fmov [rsp+56], 2
0010ed86lea rcx, [rip-0xcb53c]
0010ed8dmov [rsp+64], rcx
0010ed92mov [rsp+72], 3
0010ed9blea r15, [rsp+56]
0010eda0jmp 0x10ef20
0010eda5
0010eda5loc_10eda5:
0010eda5mov [rsp+8], rdi
0010edaatest dx, dx
0010edadmov rax, -12
0010edb4mov ecx, 5
0010edb9cmovs rcx, rax
0010edbdmovsx r12, dx
0010edc1imul r12, rcx
0010edc5cmp r12, 16064
0010edccjae 0x10ef58
0010edd2shr r12, 4
0010edd6add r12, 21
0010eddamov eax, r14l
0010edddneg eax
0010eddfcmp r14, 32768
0010ede6mov ebp, 32768
0010edebcmovb ebp, eax
0010edeelea r15, [rsp+56]
0010edf3lea rcx, [rsp+184]
0010edfbmov rdi, r15
0010edfemov r8, r12
0010ee01mov r9l, ebp
0010ee04call core::num::flt2dec::strategy::grisu::format_exact_opt
0010ee09cmp [rsp+56], 0
0010ee0fje 0x10ee84
0010ee11mov rax, [rsp+72]
0010ee16mov [rsp+32], rax
0010ee1bmovups x0, [rsp+56]
0010ee20movaps [rsp+16], x0
0010ee25jmp 0x10eea4
0010ee27
0010ee27loc_10ee27:
0010ee27test sil, 1
0010ee2bsete r10b
0010ee2flea r8, [rsi+rsi]
0010ee33xor r9l, r9l
0010ee36cmp rsi, 0x800000
0010ee3dsete r9b
0010ee41mov esi, 0x2000000
0010ee46cmovne rsi, r8
0010ee4alea r8, [r9+1]
0010ee4exor r9l, -151
0010ee55movzx edx, dx
0010ee58add edx, r9l
0010ee5bjmp 0x10ec73
0010ee60
0010ee60loc_10ee60:
0010ee60lea rax, [rip-0x7fc0d]
0010ee67mov [rsp+64], rax
0010ee6cmov [rsp+72], 1
0010ee75mov eax, 1
0010ee7alea r15, [rsp+56]
0010ee7fjmp 0x10ef20
0010ee84
0010ee84loc_10ee84:
0010ee84lea rdi, [rsp+16]
0010ee89lea rsi, [rsp+152]
0010ee91lea rdx, [rsp+184]
0010ee99mov rcx, r12
0010ee9cmov r8l, ebp
0010ee9fcall core::num::flt2dec::strategy::dragon::format_exact
0010eea4
0010eea4loc_10eea4:
0010eea4movzx edx, [rsp+32]
0010eea9cmp dx, bp
0010eeacjle 0x10eecd
0010eeaemov rdi, [rsp+16]
0010eeb3mov rsi, [rsp+24]
0010eeb8lea r8, [rsp+56]
0010eebdmov rcx, r14
0010eec0call core::num::flt2dec::digits_to_dec_str
0010eec5mov r15, rax
0010eec8mov rax, rdx
0010eecbjmp 0x10ef1b
0010eecd
0010eecdloc_10eecd:
0010eecdmov [rsp+56], 2
0010eed4test r14, r14
0010eed7je 0x10ef01
0010eed9lea rax, [rip-0xcb694]
0010eee0mov [rsp+64], rax
0010eee5mov [rsp+72], 2
0010eeeemov [rsp+80], 0
0010eef5mov [rsp+88], r14
0010eefamov eax, 2
0010eeffjmp 0x10ef1b
0010ef01
0010ef01loc_10ef01:
0010ef01lea rax, [rip-0x7fcae]
0010ef08mov [rsp+64], rax
0010ef0dmov [rsp+72], 1
0010ef16mov eax, 1
0010ef1b
0010ef1bloc_10ef1b:
0010ef1bmov rdi, [rsp+8]
0010ef20
0010ef20loc_10ef20:
0010ef20mov [rsp+16], rbx
0010ef25mov [rsp+24], r13
0010ef2amov [rsp+32], r15
0010ef2fmov [rsp+40], rax
0010ef34lea rsi, [rsp+16]
0010ef39call core::fmt::Formatter::pad_formatted_parts
0010ef3eadd rsp, 1208
0010ef45pop rbx
0010ef46pop r12
0010ef48pop r13
0010ef4apop r14
0010ef4cpop r15
0010ef4epop rbp
0010ef4fret
0010ef50
0010ef50loc_10ef50:
0010ef50mov r10b, 2
0010ef53jmp 0x10ec73
0010ef58
0010ef58loc_10ef58:
0010ef58lea rdi, [rip-0xcb70b]
0010ef5flea rdx, [rip+0xdbc5a]
0010ef66mov esi, 37
0010ef6bcall core::panicking::panic
0010ef70ud2
0010ebc0
0010ebc0core::fmt::float::float_to_decimal_common_exact:
0010ebc0push rbp
0010ebc1push r15
0010ebc3push r14
0010ebc5push r13
0010ebc7push r12
0010ebc9push rbx
0010ebcasub rsp, 1208
0010ebd1mov r14, rdx
0010ebd4mov eax, esi
0010ebd6movd ecx, x0
0010ebdamov edx, ecx
0010ebdcshr edx, 23
0010ebdfmovzx edx, dl
0010ebe2lea r8l, [rcx+rcx]
0010ebe6and r8l, 0xfffffe
0010ebedmov esi, ecx
0010ebefand esi, 0x7fffff
0010ebf5or esi, 0x800000
0010ebfbtest edx, edx
0010ebfdcmove esi, r8l
0010ec01mov r8l, ecx
0010ec04and r8l, 0x7fffffff
0010ec0bcmp r8l, 0x7f800000
0010ec12jne 0x10ec19
0010ec14mov r10b, 3
0010ec17jmp 0x10ec73
0010ec19
0010ec19loc_10ec19:
0010ec19ucomiss x0, x0
0010ec1cjp 0x10ef50
0010ec22mov r8l, ecx
0010ec25and r8l, 0x7f800000
0010ec2ccmp r8l, 1
0010ec30mov r8l, 4
0010ec36sbb r8, 0
0010ec3atest ecx, 0x7fffffff
0010ec40mov r9l, 2
0010ec46cmovne r9, r8
0010ec4acmp r9, 2
0010ec4eje 0x10ec70
0010ec50cmp r9, 3
0010ec54jne 0x10ee27
0010ec5aadd edx, -150
0010ec60test sil, 1
0010ec64sete r10b
0010ec68mov r8l, 1
0010ec6ejmp 0x10ec73
0010ec70
0010ec70loc_10ec70:
0010ec70mov r10b, 4
0010ec73
0010ec73loc_10ec73:
0010ec73mov [rsp+152], rsi
0010ec7bmov [rsp+160], 1
0010ec87mov [rsp+168], r8
0010ec8fmov [rsp+176], dx
0010ec97mov [rsp+178], r10b
0010ec9fadd r10b, -2
0010eca3movzx r8l, r10b
0010eca7cmp r8b, 3
0010ecabmov r9l, 3
0010ecb1cmovb r9l, r8l
0010ecb5test r9b, r9b
0010ecb8je 0x10ed4a
0010ecbemov r13l, ecx
0010ecc1shr r13l, 31
0010ecc5test ecx, ecx
0010ecc7lea rcx, [rip-0x7fa84]
0010eccelea r8, [rip-0x7d9dd]
0010ecd5cmovs r8, rcx
0010ecd9lea rbx, [rip-0x7fa97]
0010ece0cmovs rbx, rcx
0010ece4test al, al
0010ece6cmove rbx, r8
0010eceamov eax, 1
0010ecefcmovne r13, rax
0010ecf3cmp r9b, 1
0010ecf7je 0x10ed7f
0010ecfdmovzx eax, r9b
0010ed01cmp eax, 2
0010ed04jne 0x10eda5
0010ed0amov [rsp+56], 2
0010ed11test r14, r14
0010ed14je 0x10ee60
0010ed1alea rax, [rip-0xcb4d5]
0010ed21mov [rsp+64], rax
0010ed26mov [rsp+72], 2
0010ed2fmov [rsp+80], 0
0010ed36mov [rsp+88], r14
0010ed3bmov eax, 2
0010ed40lea r15, [rsp+56]
0010ed45jmp 0x10ef20
0010ed4a
0010ed4aloc_10ed4a:
0010ed4amov [rsp+56], 2
0010ed51lea rax, [rip-0xcb50a]
0010ed58mov [rsp+64], rax
0010ed5dmov [rsp+72], 3
0010ed66mov eax, 1
0010ed6blea r15, [rsp+56]
0010ed70lea rbx, [rip-0x7da7f]
0010ed77xor r13l, r13l
0010ed7ajmp 0x10ef20
0010ed7f
0010ed7floc_10ed7f:
0010ed7fmov [rsp+56], 2
0010ed86lea rcx, [rip-0xcb53c]
0010ed8dmov [rsp+64], rcx
0010ed92mov [rsp+72], 3
0010ed9blea r15, [rsp+56]
0010eda0jmp 0x10ef20
0010eda5
0010eda5loc_10eda5:
0010eda5mov [rsp+8], rdi
0010edaatest dx, dx
0010edadmov rax, -12
0010edb4mov ecx, 5
0010edb9cmovs rcx, rax
0010edbdmovsx r12, dx
0010edc1imul r12, rcx
0010edc5cmp r12, 16064
0010edccjae 0x10ef58
0010edd2shr r12, 4
0010edd6add r12, 21
0010eddamov eax, r14l
0010edddneg eax
0010eddfcmp r14, 32768
0010ede6mov ebp, 32768
0010edebcmovb ebp, eax
0010edeelea r15, [rsp+56]
0010edf3lea rcx, [rsp+184]
0010edfbmov rdi, r15
0010edfemov r8, r12
0010ee01mov r9l, ebp
0010ee04call core::num::flt2dec::strategy::grisu::format_exact_opt
0010ee09cmp [rsp+56], 0
0010ee0fje 0x10ee84
0010ee11mov rax, [rsp+72]
0010ee16mov [rsp+32], rax
0010ee1bmovups x0, [rsp+56]
0010ee20movaps [rsp+16], x0
0010ee25jmp 0x10eea4
0010ee27
0010ee27loc_10ee27:
0010ee27test sil, 1
0010ee2bsete r10b
0010ee2flea r8, [rsi+rsi]
0010ee33xor r9l, r9l
0010ee36cmp rsi, 0x800000
0010ee3dsete r9b
0010ee41mov esi, 0x2000000
0010ee46cmovne rsi, r8
0010ee4alea r8, [r9+1]
0010ee4exor r9l, -151
0010ee55movzx edx, dx
0010ee58add edx, r9l
0010ee5bjmp 0x10ec73
0010ee60
0010ee60loc_10ee60:
0010ee60lea rax, [rip-0x7fc0d]
0010ee67mov [rsp+64], rax
0010ee6cmov [rsp+72], 1
0010ee75mov eax, 1
0010ee7alea r15, [rsp+56]
0010ee7fjmp 0x10ef20
0010ee84
0010ee84loc_10ee84:
0010ee84lea rdi, [rsp+16]
0010ee89lea rsi, [rsp+152]
0010ee91lea rdx, [rsp+184]
0010ee99mov rcx, r12
0010ee9cmov r8l, ebp
0010ee9fcall core::num::flt2dec::strategy::dragon::format_exact
0010eea4
0010eea4loc_10eea4:
0010eea4movzx edx, [rsp+32]
0010eea9cmp dx, bp
0010eeacjle 0x10eecd
0010eeaemov rdi, [rsp+16]
0010eeb3mov rsi, [rsp+24]
0010eeb8lea r8, [rsp+56]
0010eebdmov rcx, r14
0010eec0call core::num::flt2dec::digits_to_dec_str
0010eec5mov r15, rax
0010eec8mov rax, rdx
0010eecbjmp 0x10ef1b
0010eecd
0010eecdloc_10eecd:
0010eecdmov [rsp+56], 2
0010eed4test r14, r14
0010eed7je 0x10ef01
0010eed9lea rax, [rip-0xcb694]
0010eee0mov [rsp+64], rax
0010eee5mov [rsp+72], 2
0010eeeemov [rsp+80], 0
0010eef5mov [rsp+88], r14
0010eefamov eax, 2
0010eeffjmp 0x10ef1b
0010ef01
0010ef01loc_10ef01:
0010ef01lea rax, [rip-0x7fcae]
0010ef08mov [rsp+64], rax
0010ef0dmov [rsp+72], 1
0010ef16mov eax, 1
0010ef1b
0010ef1bloc_10ef1b:
0010ef1bmov rdi, [rsp+8]
0010ef20
0010ef20loc_10ef20:
0010ef20mov [rsp+16], rbx
0010ef25mov [rsp+24], r13
0010ef2amov [rsp+32], r15
0010ef2fmov [rsp+40], rax
0010ef34lea rsi, [rsp+16]
0010ef39call core::fmt::Formatter::pad_formatted_parts
0010ef3eadd rsp, 1208
0010ef45pop rbx
0010ef46pop r12
0010ef48pop r13
0010ef4apop r14
0010ef4cpop r15
0010ef4epop rbp
0010ef4fret
0010ef50
0010ef50loc_10ef50:
0010ef50mov r10b, 2
0010ef53jmp 0x10ec73
0010ef58
0010ef58loc_10ef58:
0010ef58lea rdi, [rip-0xcb70b]
0010ef5flea rdx, [rip+0xdbc5a]
0010ef66mov esi, 37
0010ef6bcall core::panicking::panic
0010ef70ud2
0010ebc0
0010ef72
0010ef72 // align 0x10
0010ef72 // align 0x10
0010ef80
0010ef80core::fmt::float::float_to_decimal_common_shortest:
0010ef80push r15
0010ef82push r14
0010ef84push rbx
0010ef85sub rsp, 192
0010ef8cmovd eax, x0
0010ef90mov ecx, eax
0010ef92shr ecx, 23
0010ef95movzx ecx, cl
0010ef98lea r8l, [rax+rax]
0010ef9cand r8l, 0xfffffe
0010efa3mov edx, eax
0010efa5and edx, 0x7fffff
0010efabor edx, 0x800000
0010efb1test ecx, ecx
0010efb3cmove edx, r8l
0010efb7mov rbx, rdi
0010efbamov edi, eax
0010efbcand edi, 0x7fffffff
0010efc2cmp edi, 0x7f800000
0010efc8jne 0x10efcf
0010efcamov dil, 3
0010efcdjmp 0x10f023
0010efcf
0010efcfloc_10efcf:
0010efcfucomiss x0, x0
0010efd2jp 0x10f1d8
0010efd8mov edi, eax
0010efdaand edi, 0x7f800000
0010efe0cmp edi, 1
0010efe3mov r8l, 4
0010efe9sbb r8, 0
0010efedtest eax, 0x7fffffff
0010eff2mov edi, 2
0010eff7cmovne rdi, r8
0010effbcmp rdi, 2
0010efffje 0x10f020
0010f001cmp rdi, 3
0010f005jne 0x10f147
0010f00badd ecx, -150
0010f011test dl, 1
0010f014sete dil
0010f018mov r8l, 1
0010f01ejmp 0x10f023
0010f020
0010f020loc_10f020:
0010f020mov dil, 4
0010f023
0010f023loc_10f023:
0010f023mov [rsp+40], rdx
0010f028mov [rsp+48], 1
0010f031mov [rsp+56], r8
0010f036mov [rsp+64], cx
0010f03bmov [rsp+66], dil
0010f040add dil, -2
0010f044movzx edx, dil
0010f048cmp dl, 3
0010f04bmov ecx, 3
0010f050cmovb ecx, edx
0010f053test cl, cl
0010f055je 0x10f0b8
0010f057mov r14l, eax
0010f05ashr r14l, 31
0010f05etest eax, eax
0010f060lea rax, [rip-0x7fe1d]
0010f067lea rdx, [rip-0x7dd76]
0010f06ecmovs rdx, rax
0010f072lea r15, [rip-0x7fe30]
0010f079cmovs r15, rax
0010f07dtest sil, sil
0010f080cmove r15, rdx
0010f084mov edx, 1
0010f089cmovne r14, rdx
0010f08dcmp cl, 1
0010f090je 0x10f0ed
0010f092movzx eax, cl
0010f095cmp eax, 2
0010f098jne 0x10f113
0010f09amov [rsp+72], 2
0010f0a1lea rax, [rip-0x7fe4e]
0010f0a8mov [rsp+80], rax
0010f0admov [rsp+88], 1
0010f0b6jmp 0x10f109
0010f0b8
0010f0b8loc_10f0b8:
0010f0b8mov [rsp+72], 2
0010f0bflea rax, [rip-0xcb878]
0010f0c6mov [rsp+80], rax
0010f0cbmov [rsp+88], 3
0010f0d4mov edx, 1
0010f0d9lea rax, [rsp+72]
0010f0delea r15, [rip-0x7dded]
0010f0e5xor r14l, r14l
0010f0e8jmp 0x10f1ad
0010f0ed
0010f0edloc_10f0ed:
0010f0edmov [rsp+72], 2
0010f0f4lea rax, [rip-0xcb8aa]
0010f0fbmov [rsp+80], rax
0010f100mov [rsp+88], 3
0010f109
0010f109loc_10f109:
0010f109lea rax, [rsp+72]
0010f10ejmp 0x10f1ad
0010f113
0010f113loc_10f113:
0010f113lea rdi, [rsp+72]
0010f118lea rsi, [rsp+40]
0010f11dlea rdx, [rsp+175]
0010f125call core::num::flt2dec::strategy::grisu::format_shortest_opt
0010f12acmp [rsp+72], 0
0010f130je 0x10f17f
0010f132mov rax, [rsp+88]
0010f137mov [rsp+16], rax
0010f13cmovups x0, [rsp+72]
0010f141movaps [rsp], x0
0010f145jmp 0x10f194
0010f147
0010f147loc_10f147:
0010f147test dl, 1
0010f14asete dil
0010f14elea r8, [rdx+rdx]
0010f152xor r9l, r9l
0010f155cmp rdx, 0x800000
0010f15csete r9b
0010f160mov edx, 0x2000000
0010f165cmovne rdx, r8
0010f169lea r8, [r9+1]
0010f16dxor r9l, -151
0010f174movzx ecx, cx
0010f177add ecx, r9l
0010f17ajmp 0x10f023
0010f17f
0010f17floc_10f17f:
0010f17fmov rdi, rsp
0010f182lea rsi, [rsp+40]
0010f187lea rdx, [rsp+175]
0010f18fcall core::num::flt2dec::strategy::dragon::format_shortest
0010f194
0010f194loc_10f194:
0010f194mov rdi, [rsp]
0010f198mov rsi, [rsp+8]
0010f19dmov edx, [rsp+16]
0010f1a1lea r8, [rsp+72]
0010f1a6xor ecx, ecx
0010f1a8call core::num::flt2dec::digits_to_dec_str
0010f1ad
0010f1adloc_10f1ad:
0010f1admov [rsp], r15
0010f1b1mov [rsp+8], r14
0010f1b6mov [rsp+16], rax
0010f1bbmov [rsp+24], rdx
0010f1c0mov rsi, rsp
0010f1c3mov rdi, rbx
0010f1c6call core::fmt::Formatter::pad_formatted_parts
0010f1cbadd rsp, 192
0010f1d2pop rbx
0010f1d3pop r14
0010f1d5pop r15
0010f1d7ret
0010f1d8
0010f1d8loc_10f1d8:
0010f1d8mov dil, 2
0010f1dbjmp 0x10f023
0010ef80
0010ef80core::fmt::float::float_to_decimal_common_shortest:
0010ef80push r15
0010ef82push r14
0010ef84push rbx
0010ef85sub rsp, 192
0010ef8cmovd eax, x0
0010ef90mov ecx, eax
0010ef92shr ecx, 23
0010ef95movzx ecx, cl
0010ef98lea r8l, [rax+rax]
0010ef9cand r8l, 0xfffffe
0010efa3mov edx, eax
0010efa5and edx, 0x7fffff
0010efabor edx, 0x800000
0010efb1test ecx, ecx
0010efb3cmove edx, r8l
0010efb7mov rbx, rdi
0010efbamov edi, eax
0010efbcand edi, 0x7fffffff
0010efc2cmp edi, 0x7f800000
0010efc8jne 0x10efcf
0010efcamov dil, 3
0010efcdjmp 0x10f023
0010efcf
0010efcfloc_10efcf:
0010efcfucomiss x0, x0
0010efd2jp 0x10f1d8
0010efd8mov edi, eax
0010efdaand edi, 0x7f800000
0010efe0cmp edi, 1
0010efe3mov r8l, 4
0010efe9sbb r8, 0
0010efedtest eax, 0x7fffffff
0010eff2mov edi, 2
0010eff7cmovne rdi, r8
0010effbcmp rdi, 2
0010efffje 0x10f020
0010f001cmp rdi, 3
0010f005jne 0x10f147
0010f00badd ecx, -150
0010f011test dl, 1
0010f014sete dil
0010f018mov r8l, 1
0010f01ejmp 0x10f023
0010f020
0010f020loc_10f020:
0010f020mov dil, 4
0010f023
0010f023loc_10f023:
0010f023mov [rsp+40], rdx
0010f028mov [rsp+48], 1
0010f031mov [rsp+56], r8
0010f036mov [rsp+64], cx
0010f03bmov [rsp+66], dil
0010f040add dil, -2
0010f044movzx edx, dil
0010f048cmp dl, 3
0010f04bmov ecx, 3
0010f050cmovb ecx, edx
0010f053test cl, cl
0010f055je 0x10f0b8
0010f057mov r14l, eax
0010f05ashr r14l, 31
0010f05etest eax, eax
0010f060lea rax, [rip-0x7fe1d]
0010f067lea rdx, [rip-0x7dd76]
0010f06ecmovs rdx, rax
0010f072lea r15, [rip-0x7fe30]
0010f079cmovs r15, rax
0010f07dtest sil, sil
0010f080cmove r15, rdx
0010f084mov edx, 1
0010f089cmovne r14, rdx
0010f08dcmp cl, 1
0010f090je 0x10f0ed
0010f092movzx eax, cl
0010f095cmp eax, 2
0010f098jne 0x10f113
0010f09amov [rsp+72], 2
0010f0a1lea rax, [rip-0x7fe4e]
0010f0a8mov [rsp+80], rax
0010f0admov [rsp+88], 1
0010f0b6jmp 0x10f109
0010f0b8
0010f0b8loc_10f0b8:
0010f0b8mov [rsp+72], 2
0010f0bflea rax, [rip-0xcb878]
0010f0c6mov [rsp+80], rax
0010f0cbmov [rsp+88], 3
0010f0d4mov edx, 1
0010f0d9lea rax, [rsp+72]
0010f0delea r15, [rip-0x7dded]
0010f0e5xor r14l, r14l
0010f0e8jmp 0x10f1ad
0010f0ed
0010f0edloc_10f0ed:
0010f0edmov [rsp+72], 2
0010f0f4lea rax, [rip-0xcb8aa]
0010f0fbmov [rsp+80], rax
0010f100mov [rsp+88], 3
0010f109
0010f109loc_10f109:
0010f109lea rax, [rsp+72]
0010f10ejmp 0x10f1ad
0010f113
0010f113loc_10f113:
0010f113lea rdi, [rsp+72]
0010f118lea rsi, [rsp+40]
0010f11dlea rdx, [rsp+175]
0010f125call core::num::flt2dec::strategy::grisu::format_shortest_opt
0010f12acmp [rsp+72], 0
0010f130je 0x10f17f
0010f132mov rax, [rsp+88]
0010f137mov [rsp+16], rax
0010f13cmovups x0, [rsp+72]
0010f141movaps [rsp], x0
0010f145jmp 0x10f194
0010f147
0010f147loc_10f147:
0010f147test dl, 1
0010f14asete dil
0010f14elea r8, [rdx+rdx]
0010f152xor r9l, r9l
0010f155cmp rdx, 0x800000
0010f15csete r9b
0010f160mov edx, 0x2000000
0010f165cmovne rdx, r8
0010f169lea r8, [r9+1]
0010f16dxor r9l, -151
0010f174movzx ecx, cx
0010f177add ecx, r9l
0010f17ajmp 0x10f023
0010f17f
0010f17floc_10f17f:
0010f17fmov rdi, rsp
0010f182lea rsi, [rsp+40]
0010f187lea rdx, [rsp+175]
0010f18fcall core::num::flt2dec::strategy::dragon::format_shortest
0010f194
0010f194loc_10f194:
0010f194mov rdi, [rsp]
0010f198mov rsi, [rsp+8]
0010f19dmov edx, [rsp+16]
0010f1a1lea r8, [rsp+72]
0010f1a6xor ecx, ecx
0010f1a8call core::num::flt2dec::digits_to_dec_str
0010f1ad
0010f1adloc_10f1ad:
0010f1admov [rsp], r15
0010f1b1mov [rsp+8], r14
0010f1b6mov [rsp+16], rax
0010f1bbmov [rsp+24], rdx
0010f1c0mov rsi, rsp
0010f1c3mov rdi, rbx
0010f1c6call core::fmt::Formatter::pad_formatted_parts
0010f1cbadd rsp, 192
0010f1d2pop rbx
0010f1d3pop r14
0010f1d5pop r15
0010f1d7ret
0010f1d8
0010f1d8loc_10f1d8:
0010f1d8mov dil, 2
0010f1dbjmp 0x10f023
0010ef80
0010f1e0
0010f1e0core::fmt::Formatter::pad_formatted_parts:
0010f1e0push rbp
0010f1e1push r15
0010f1e3push r14
0010f1e5push r13
0010f1e7push r12
0010f1e9push rbx
0010f1easub rsp, 56
0010f1eemov rdx, rsi
0010f1f1mov rbx, rdi
0010f1f4cmp [rdi], 0
0010f1f8je 0x10f330
0010f1femov r12, [rbx+8]
0010f202mov rsi, [rdx]
0010f205mov r14, [rdx+8]
0010f209mov r15, [rdx+16]
0010f20dmov r13, [rdx+24]
0010f211mov [rsp+24], rsi
0010f216mov [rsp+32], r14
0010f21bmov [rsp+40], r15
0010f220mov [rsp+48], r13
0010f225mov ebp, [rbx+48]
0010f228movzx eax, [rbx+56]
0010f22ctest [rbx+52], 8
0010f230mov [rsp+20], ebp
0010f234mov [rsp+7], al
0010f238je 0x10f283
0010f23amov rdi, [rbx+32]
0010f23emov rax, [rbx+40]
0010f242mov rdx, r14
0010f245call [rax+24]
0010f248test al, al
0010f24ajne 0x10f3b8
0010f250lea rax, [rip-0x7df5f]
0010f257mov [rsp+24], rax
0010f25cmov [rsp+32], 0
0010f265xor eax, eax
0010f267sub r12, r14
0010f26acmovb r12, rax
0010f26emov [rbx+48], 48
0010f275mov [rbx+56], 1
0010f279mov al, 1
0010f27bmov ebp, 48
0010f280xor r14l, r14l
0010f283
0010f283loc_10f283:
0010f283test r13, r13
0010f286je 0x10f30b
0010f28cshl r13, 3
0010f290lea rcx, [2*r13]
0010f298add rcx, r13
0010f29bxor edx, edx
0010f29djmp 0x10f2b1
0010f29fnop
0010f2a0
0010f2a0loc_10f2a0:
0010f2a0mov rsi, [r15+rdx+16]
0010f2a5
0010f2a5loc_10f2a5:
0010f2a5add r14, rsi
0010f2a8add rdx, 24
0010f2accmp rcx, rdx
0010f2afje 0x10f30b
0010f2b1
0010f2b1loc_10f2b1:
0010f2b1movzx esi, [r15+rdx]
0010f2b6test rsi, rsi
0010f2b9je 0x10f2f0
0010f2bbcmp esi, 1
0010f2bejne 0x10f2a0
0010f2c0movzx edi, [r15+rdx+2]
0010f2c6cmp edi, 1000
0010f2ccjae 0x10f2f7
0010f2cemov esi, 1
0010f2d3cmp di, 10
0010f2d7jb 0x10f2a5
0010f2d9cmp di, 100
0010f2ddmov esi, 3
0010f2e2jmp 0x10f305
0010f2e4nop [rax+rax]
0010f2f0
0010f2f0loc_10f2f0:
0010f2f0mov rsi, [r15+rdx+8]
0010f2f5jmp 0x10f2a5
0010f2f7
0010f2f7loc_10f2f7:
0010f2f7movzx esi, di
0010f2facmp esi, 10000
0010f300mov esi, 5
0010f305
0010f305loc_10f305:
0010f305sbb rsi, 0
0010f309jmp 0x10f2a5
0010f30b
0010f30bloc_10f30b:
0010f30bsub r12, r14
0010f30ejbe 0x10f34b
0010f310movzx r13l, al
0010f314lea rax, [rip-0xd1b4b]
0010f31bmovsxd rcx, [rax+4*r13]
0010f31fadd rcx, rax
0010f322jmp rcx
0010f324mov r13, r12
0010f327xor eax, eax
0010f329mov [rsp+8], rax
0010f32ejmp 0x10f37f
0010f330
0010f330loc_10f330:
0010f330mov rdi, [rbx+32]
0010f334mov rsi, [rbx+40]
0010f338add rsp, 56
0010f33cpop rbx
0010f33dpop r12
0010f33fpop r13
0010f341pop r14
0010f343pop r15
0010f345pop rbp
0010f346jmp 0x10f410
0010f34b
0010f34bloc_10f34b:
0010f34bmov rdi, [rbx+32]
0010f34fmov rsi, [rbx+40]
0010f353lea rdx, [rsp+24]
0010f358call core::fmt::Formatter::write_formatted_parts
0010f35d
0010f35dloc_10f35d:
0010f35dmov ecx, [rsp+20]
0010f361mov [rbx+48], ecx
0010f364movzx ecx, [rsp+7]
0010f369mov [rbx+56], cl
0010f36cjmp 0x10f3ba
0010f36emov r13, r12
0010f371shr r13, 1
0010f374inc r12
0010f377shr r12, 1
0010f37amov [rsp+8], r12
0010f37f
0010f37floc_10f37f:
0010f37fmov r14, [rbx+32]
0010f383mov r15, [rbx+40]
0010f387inc r13
0010f38anop [rax+rax]
0010f390
0010f390loc_10f390:
0010f390dec r13
0010f393je 0x10f3a4
0010f395mov rdi, r14
0010f398mov esi, ebp
0010f39acall [r15+32]
0010f39etest al, al
0010f3a0je 0x10f390
0010f3a2jmp 0x10f3b8
0010f3a4
0010f3a4loc_10f3a4:
0010f3a4lea rdx, [rsp+24]
0010f3a9mov rdi, r14
0010f3acmov rsi, r15
0010f3afcall core::fmt::Formatter::write_formatted_parts
0010f3b4test al, al
0010f3b6je 0x10f3c9
0010f3b8
0010f3b8loc_10f3b8:
0010f3b8mov al, 1
0010f3ba
0010f3baloc_10f3ba:
0010f3baadd rsp, 56
0010f3bepop rbx
0010f3bfpop r12
0010f3c1pop r13
0010f3c3pop r14
0010f3c5pop r15
0010f3c7pop rbp
0010f3c8ret
0010f3c9
0010f3c9loc_10f3c9:
0010f3c9mov r12, [rsp+8]
0010f3ceneg r12
0010f3d1mov r13, -1
0010f3d8nop [rax+rax]
0010f3e0
0010f3e0loc_10f3e0:
0010f3e0lea rax, [r12+r13]
0010f3e4cmp rax, -1
0010f3e8je 0x10f3fc
0010f3eamov rdi, r14
0010f3edmov esi, ebp
0010f3efcall [r15+32]
0010f3f3inc r13
0010f3f6test al, al
0010f3f8je 0x10f3e0
0010f3fajmp 0x10f401
0010f3fc
0010f3fcloc_10f3fc:
0010f3fcmov r13, [rsp+8]
0010f401
0010f401loc_10f401:
0010f401cmp r13, [rsp+8]
0010f406setb al
0010f409jmp 0x10f35d
0010f1e0
0010f1e0core::fmt::Formatter::pad_formatted_parts:
0010f1e0push rbp
0010f1e1push r15
0010f1e3push r14
0010f1e5push r13
0010f1e7push r12
0010f1e9push rbx
0010f1easub rsp, 56
0010f1eemov rdx, rsi
0010f1f1mov rbx, rdi
0010f1f4cmp [rdi], 0
0010f1f8je 0x10f330
0010f1femov r12, [rbx+8]
0010f202mov rsi, [rdx]
0010f205mov r14, [rdx+8]
0010f209mov r15, [rdx+16]
0010f20dmov r13, [rdx+24]
0010f211mov [rsp+24], rsi
0010f216mov [rsp+32], r14
0010f21bmov [rsp+40], r15
0010f220mov [rsp+48], r13
0010f225mov ebp, [rbx+48]
0010f228movzx eax, [rbx+56]
0010f22ctest [rbx+52], 8
0010f230mov [rsp+20], ebp
0010f234mov [rsp+7], al
0010f238je 0x10f283
0010f23amov rdi, [rbx+32]
0010f23emov rax, [rbx+40]
0010f242mov rdx, r14
0010f245call [rax+24]
0010f248test al, al
0010f24ajne 0x10f3b8
0010f250lea rax, [rip-0x7df5f]
0010f257mov [rsp+24], rax
0010f25cmov [rsp+32], 0
0010f265xor eax, eax
0010f267sub r12, r14
0010f26acmovb r12, rax
0010f26emov [rbx+48], 48
0010f275mov [rbx+56], 1
0010f279mov al, 1
0010f27bmov ebp, 48
0010f280xor r14l, r14l
0010f283
0010f283loc_10f283:
0010f283test r13, r13
0010f286je 0x10f30b
0010f28cshl r13, 3
0010f290lea rcx, [2*r13]
0010f298add rcx, r13
0010f29bxor edx, edx
0010f29djmp 0x10f2b1
0010f29fnop
0010f2a0
0010f2a0loc_10f2a0:
0010f2a0mov rsi, [r15+rdx+16]
0010f2a5
0010f2a5loc_10f2a5:
0010f2a5add r14, rsi
0010f2a8add rdx, 24
0010f2accmp rcx, rdx
0010f2afje 0x10f30b
0010f2b1
0010f2b1loc_10f2b1:
0010f2b1movzx esi, [r15+rdx]
0010f2b6test rsi, rsi
0010f2b9je 0x10f2f0
0010f2bbcmp esi, 1
0010f2bejne 0x10f2a0
0010f2c0movzx edi, [r15+rdx+2]
0010f2c6cmp edi, 1000
0010f2ccjae 0x10f2f7
0010f2cemov esi, 1
0010f2d3cmp di, 10
0010f2d7jb 0x10f2a5
0010f2d9cmp di, 100
0010f2ddmov esi, 3
0010f2e2jmp 0x10f305
0010f2e4nop [rax+rax]
0010f2f0
0010f2f0loc_10f2f0:
0010f2f0mov rsi, [r15+rdx+8]
0010f2f5jmp 0x10f2a5
0010f2f7
0010f2f7loc_10f2f7:
0010f2f7movzx esi, di
0010f2facmp esi, 10000
0010f300mov esi, 5
0010f305
0010f305loc_10f305:
0010f305sbb rsi, 0
0010f309jmp 0x10f2a5
0010f30b
0010f30bloc_10f30b:
0010f30bsub r12, r14
0010f30ejbe 0x10f34b
0010f310movzx r13l, al
0010f314lea rax, [rip-0xd1b4b]
0010f31bmovsxd rcx, [rax+4*r13]
0010f31fadd rcx, rax
0010f322jmp rcx
0010f324mov r13, r12
0010f327xor eax, eax
0010f329mov [rsp+8], rax
0010f32ejmp 0x10f37f
0010f330
0010f330loc_10f330:
0010f330mov rdi, [rbx+32]
0010f334mov rsi, [rbx+40]
0010f338add rsp, 56
0010f33cpop rbx
0010f33dpop r12
0010f33fpop r13
0010f341pop r14
0010f343pop r15
0010f345pop rbp
0010f346jmp 0x10f410
0010f34b
0010f34bloc_10f34b:
0010f34bmov rdi, [rbx+32]
0010f34fmov rsi, [rbx+40]
0010f353lea rdx, [rsp+24]
0010f358call core::fmt::Formatter::write_formatted_parts
0010f35d
0010f35dloc_10f35d:
0010f35dmov ecx, [rsp+20]
0010f361mov [rbx+48], ecx
0010f364movzx ecx, [rsp+7]
0010f369mov [rbx+56], cl
0010f36cjmp 0x10f3ba
0010f36emov r13, r12
0010f371shr r13, 1
0010f374inc r12
0010f377shr r12, 1
0010f37amov [rsp+8], r12
0010f37f
0010f37floc_10f37f:
0010f37fmov r14, [rbx+32]
0010f383mov r15, [rbx+40]
0010f387inc r13
0010f38anop [rax+rax]
0010f390
0010f390loc_10f390:
0010f390dec r13
0010f393je 0x10f3a4
0010f395mov rdi, r14
0010f398mov esi, ebp
0010f39acall [r15+32]
0010f39etest al, al
0010f3a0je 0x10f390
0010f3a2jmp 0x10f3b8
0010f3a4
0010f3a4loc_10f3a4:
0010f3a4lea rdx, [rsp+24]
0010f3a9mov rdi, r14
0010f3acmov rsi, r15
0010f3afcall core::fmt::Formatter::write_formatted_parts
0010f3b4test al, al
0010f3b6je 0x10f3c9
0010f3b8
0010f3b8loc_10f3b8:
0010f3b8mov al, 1
0010f3ba
0010f3baloc_10f3ba:
0010f3baadd rsp, 56
0010f3bepop rbx
0010f3bfpop r12
0010f3c1pop r13
0010f3c3pop r14
0010f3c5pop r15
0010f3c7pop rbp
0010f3c8ret
0010f3c9
0010f3c9loc_10f3c9:
0010f3c9mov r12, [rsp+8]
0010f3ceneg r12
0010f3d1mov r13, -1
0010f3d8nop [rax+rax]
0010f3e0
0010f3e0loc_10f3e0:
0010f3e0lea rax, [r12+r13]
0010f3e4cmp rax, -1
0010f3e8je 0x10f3fc
0010f3eamov rdi, r14
0010f3edmov esi, ebp
0010f3efcall [r15+32]
0010f3f3inc r13
0010f3f6test al, al
0010f3f8je 0x10f3e0
0010f3fajmp 0x10f401
0010f3fc
0010f3fcloc_10f3fc:
0010f3fcmov r13, [rsp+8]
0010f401
0010f401loc_10f401:
0010f401cmp r13, [rsp+8]
0010f406setb al
0010f409jmp 0x10f35d
0010f1e0
0010f40e
0010f40e // align 0x10
0010f40e // align 0x10
0010f410
0010f410core::fmt::Formatter::write_formatted_parts:
0010f410push rbp
0010f411push r15
0010f413push r14
0010f415push r13
0010f417push r12
0010f419push rbx
0010f41asub rsp, 24
0010f41emov r15, rdx
0010f421mov rbx, rsi
0010f424mov r14, rdi
0010f427mov rdx, [rdx+8]
0010f42btest rdx, rdx
0010f42eje 0x10f445
0010f430mov rsi, [r15]
0010f433mov rdi, r14
0010f436call [rbx+24]
0010f439mov ecx, eax
0010f43bmov al, 1
0010f43dtest cl, cl
0010f43fjne 0x10f66e
0010f445
0010f445loc_10f445:
0010f445mov rax, [r15+24]
0010f449test rax, rax
0010f44cje 0x10f66c
0010f452mov rbp, [r15+16]
0010f456lea rax, [rax+2*rax]
0010f45alea r15, [8*rax]
0010f462add r15, rbp
0010f465lea r12, [rsp+8]
0010f46amov [rsp+16], r15
0010f46fjmp 0x10f4a3
0010f471
0010f471 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 ffffff.........
0010f480
0010f480loc_10f480:
0010f480mov rsi, [rbp+8]
0010f484mov rdx, [rbp+16]
0010f488mov rdi, r14
0010f48b
0010f48bloc_10f48b:
0010f48bcall [rbx+24]
0010f48etest al, al
0010f490jne 0x10f668
0010f496
0010f496loc_10f496:
0010f496add rbp, 24
0010f49acmp rbp, r15
0010f49dje 0x10f66c
0010f4a3
0010f4a3loc_10f4a3:
0010f4a3movzx eax, [rbp]
0010f4a7test rax, rax
0010f4aaje 0x10f510
0010f4accmp eax, 1
0010f4afjne 0x10f480
0010f4b1movzx eax, [rbp+2]
0010f4b5mov [rsp+12], 0
0010f4bamov [rsp+8], 0
0010f4c2movzx ecx, [rbp]
0010f4c6test rcx, rcx
0010f4c9je 0x10f589
0010f4cfcmp ecx, 1
0010f4d2jne 0x10f58f
0010f4d8movzx ecx, [rbp+2]
0010f4dccmp ecx, 1000
0010f4e2jae 0x10f5bc
0010f4e8mov edi, 1
0010f4edcmp cx, 10
0010f4f1jb 0x10f5d4
0010f4f7cmp cx, 100
0010f4fbmov edi, 3
0010f500jmp 0x10f5ca
0010f505nop [rax+rax]
0010f510
0010f510loc_10f510:
0010f510mov r13, [rbp+8]
0010f514cmp r13, 65
0010f518jb 0x10f555
0010f51amov r15, rbx
0010f51dmov rbx, [rbx+24]
0010f521nop [rax+rax]
0010f530
0010f530loc_10f530:
0010f530mov edx, 64
0010f535mov rdi, r14
0010f538lea rsi, [rip-0xcbab7]
0010f53fcall rbx
0010f541test al, al
0010f543jne 0x10f668
0010f549add r13, -64
0010f54dcmp r13, 64
0010f551ja 0x10f530
0010f553jmp 0x10f565
0010f555
0010f555loc_10f555:
0010f555test r13, r13
0010f558je 0x10f496
0010f55emov r15, rbx
0010f561mov rbx, [rbx+24]
0010f565
0010f565loc_10f565:
0010f565mov rdi, r14
0010f568lea rsi, [rip-0xcbae7]
0010f56fmov rdx, r13
0010f572call rbx
0010f574test al, al
0010f576mov rbx, r15
0010f579mov r15, [rsp+16]
0010f57eje 0x10f496
0010f584jmp 0x10f668
0010f589
0010f589loc_10f589:
0010f589lea rcx, [rbp+8]
0010f58djmp 0x10f593
0010f58f
0010f58floc_10f58f:
0010f58flea rcx, [rbp+16]
0010f593
0010f593loc_10f593:
0010f593mov rdi, [rcx]
0010f596cmp rdi, 6
0010f59ajae 0x10f67d
0010f5a0test rdi, rdi
0010f5a3je 0x10f5b5
0010f5a5test dil, 1
0010f5a9jne 0x10f5d4
0010f5ab
0010f5abloc_10f5ab:
0010f5ablea rcx, [rsp+rdi]
0010f5afadd rcx, 8
0010f5b3jmp 0x10f5f8
0010f5b5
0010f5b5loc_10f5b5:
0010f5b5xor edx, edx
0010f5b7jmp 0x10f65d
0010f5bc
0010f5bcloc_10f5bc:
0010f5bcmovzx ecx, cx
0010f5bfcmp ecx, 10000
0010f5c5mov edi, 5
0010f5ca
0010f5caloc_10f5ca:
0010f5casbb rdi, 0
0010f5cetest dil, 1
0010f5d2je 0x10f5ab
0010f5d4
0010f5d4loc_10f5d4:
0010f5d4lea rcx, [rsp+7]
0010f5d9add rcx, rdi
0010f5dcmovzx edx, ax
0010f5dfimul edx, edx, 52429
0010f5e5shr edx, 19
0010f5e8lea esi, [rdx+rdx]
0010f5eblea esi, [rsi+4*rsi]
0010f5eesub eax, esi
0010f5f0or al, 48
0010f5f2mov [rsp+rdi+7], al
0010f5f6mov eax, edx
0010f5f8
0010f5f8loc_10f5f8:
0010f5f8mov edx, 1
0010f5fdcmp rdi, 1
0010f601je 0x10f65d
0010f603nop [rax+rax]
0010f610
0010f610loc_10f610:
0010f610movzx edx, ax
0010f613imul esi, edx, 52429
0010f619shr esi, 19
0010f61clea r8l, [rsi+rsi]
0010f620lea r8l, [r8+4*r8]
0010f624sub eax, r8l
0010f627or al, 48
0010f629mov [rcx-1], al
0010f62cimul eax, esi, 6554
0010f632shr eax, 15
0010f635and eax, -2
0010f638lea eax, [rax+4*rax]
0010f63bsub esi, eax
0010f63dor sil, 48
0010f641mov [rcx-2], sil
0010f645add rcx, -2
0010f649shr edx, 2
0010f64cimul eax, edx, 5243
0010f652shr eax, 17
0010f655cmp rcx, r12
0010f658jne 0x10f610
0010f65amov rdx, rdi
0010f65d
0010f65dloc_10f65d:
0010f65dmov rdi, r14
0010f660mov rsi, r12
0010f663jmp 0x10f48b
0010f668
0010f668loc_10f668:
0010f668mov al, 1
0010f66ajmp 0x10f66e
0010f66c
0010f66cloc_10f66c:
0010f66cxor eax, eax
0010f66e
0010f66eloc_10f66e:
0010f66eadd rsp, 24
0010f672pop rbx
0010f673pop r12
0010f675pop r13
0010f677pop r14
0010f679pop r15
0010f67bpop rbp
0010f67cret
0010f67d
0010f67dloc_10f67d:
0010f67dlea rdx, [rip+0xdb764]
0010f684mov esi, 5
0010f689call core::slice::index::slice_end_index_len_fail
0010f68eud2
0010f410
0010f410core::fmt::Formatter::write_formatted_parts:
0010f410push rbp
0010f411push r15
0010f413push r14
0010f415push r13
0010f417push r12
0010f419push rbx
0010f41asub rsp, 24
0010f41emov r15, rdx
0010f421mov rbx, rsi
0010f424mov r14, rdi
0010f427mov rdx, [rdx+8]
0010f42btest rdx, rdx
0010f42eje 0x10f445
0010f430mov rsi, [r15]
0010f433mov rdi, r14
0010f436call [rbx+24]
0010f439mov ecx, eax
0010f43bmov al, 1
0010f43dtest cl, cl
0010f43fjne 0x10f66e
0010f445
0010f445loc_10f445:
0010f445mov rax, [r15+24]
0010f449test rax, rax
0010f44cje 0x10f66c
0010f452mov rbp, [r15+16]
0010f456lea rax, [rax+2*rax]
0010f45alea r15, [8*rax]
0010f462add r15, rbp
0010f465lea r12, [rsp+8]
0010f46amov [rsp+16], r15
0010f46fjmp 0x10f4a3
0010f471
0010f471 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 ffffff.........
0010f480
0010f480loc_10f480:
0010f480mov rsi, [rbp+8]
0010f484mov rdx, [rbp+16]
0010f488mov rdi, r14
0010f48b
0010f48bloc_10f48b:
0010f48bcall [rbx+24]
0010f48etest al, al
0010f490jne 0x10f668
0010f496
0010f496loc_10f496:
0010f496add rbp, 24
0010f49acmp rbp, r15
0010f49dje 0x10f66c
0010f4a3
0010f4a3loc_10f4a3:
0010f4a3movzx eax, [rbp]
0010f4a7test rax, rax
0010f4aaje 0x10f510
0010f4accmp eax, 1
0010f4afjne 0x10f480
0010f4b1movzx eax, [rbp+2]
0010f4b5mov [rsp+12], 0
0010f4bamov [rsp+8], 0
0010f4c2movzx ecx, [rbp]
0010f4c6test rcx, rcx
0010f4c9je 0x10f589
0010f4cfcmp ecx, 1
0010f4d2jne 0x10f58f
0010f4d8movzx ecx, [rbp+2]
0010f4dccmp ecx, 1000
0010f4e2jae 0x10f5bc
0010f4e8mov edi, 1
0010f4edcmp cx, 10
0010f4f1jb 0x10f5d4
0010f4f7cmp cx, 100
0010f4fbmov edi, 3
0010f500jmp 0x10f5ca
0010f505nop [rax+rax]
0010f510
0010f510loc_10f510:
0010f510mov r13, [rbp+8]
0010f514cmp r13, 65
0010f518jb 0x10f555
0010f51amov r15, rbx
0010f51dmov rbx, [rbx+24]
0010f521nop [rax+rax]
0010f530
0010f530loc_10f530:
0010f530mov edx, 64
0010f535mov rdi, r14
0010f538lea rsi, [rip-0xcbab7]
0010f53fcall rbx
0010f541test al, al
0010f543jne 0x10f668
0010f549add r13, -64
0010f54dcmp r13, 64
0010f551ja 0x10f530
0010f553jmp 0x10f565
0010f555
0010f555loc_10f555:
0010f555test r13, r13
0010f558je 0x10f496
0010f55emov r15, rbx
0010f561mov rbx, [rbx+24]
0010f565
0010f565loc_10f565:
0010f565mov rdi, r14
0010f568lea rsi, [rip-0xcbae7]
0010f56fmov rdx, r13
0010f572call rbx
0010f574test al, al
0010f576mov rbx, r15
0010f579mov r15, [rsp+16]
0010f57eje 0x10f496
0010f584jmp 0x10f668
0010f589
0010f589loc_10f589:
0010f589lea rcx, [rbp+8]
0010f58djmp 0x10f593
0010f58f
0010f58floc_10f58f:
0010f58flea rcx, [rbp+16]
0010f593
0010f593loc_10f593:
0010f593mov rdi, [rcx]
0010f596cmp rdi, 6
0010f59ajae 0x10f67d
0010f5a0test rdi, rdi
0010f5a3je 0x10f5b5
0010f5a5test dil, 1
0010f5a9jne 0x10f5d4
0010f5ab
0010f5abloc_10f5ab:
0010f5ablea rcx, [rsp+rdi]
0010f5afadd rcx, 8
0010f5b3jmp 0x10f5f8
0010f5b5
0010f5b5loc_10f5b5:
0010f5b5xor edx, edx
0010f5b7jmp 0x10f65d
0010f5bc
0010f5bcloc_10f5bc:
0010f5bcmovzx ecx, cx
0010f5bfcmp ecx, 10000
0010f5c5mov edi, 5
0010f5ca
0010f5caloc_10f5ca:
0010f5casbb rdi, 0
0010f5cetest dil, 1
0010f5d2je 0x10f5ab
0010f5d4
0010f5d4loc_10f5d4:
0010f5d4lea rcx, [rsp+7]
0010f5d9add rcx, rdi
0010f5dcmovzx edx, ax
0010f5dfimul edx, edx, 52429
0010f5e5shr edx, 19
0010f5e8lea esi, [rdx+rdx]
0010f5eblea esi, [rsi+4*rsi]
0010f5eesub eax, esi
0010f5f0or al, 48
0010f5f2mov [rsp+rdi+7], al
0010f5f6mov eax, edx
0010f5f8
0010f5f8loc_10f5f8:
0010f5f8mov edx, 1
0010f5fdcmp rdi, 1
0010f601je 0x10f65d
0010f603nop [rax+rax]
0010f610
0010f610loc_10f610:
0010f610movzx edx, ax
0010f613imul esi, edx, 52429
0010f619shr esi, 19
0010f61clea r8l, [rsi+rsi]
0010f620lea r8l, [r8+4*r8]
0010f624sub eax, r8l
0010f627or al, 48
0010f629mov [rcx-1], al
0010f62cimul eax, esi, 6554
0010f632shr eax, 15
0010f635and eax, -2
0010f638lea eax, [rax+4*rax]
0010f63bsub esi, eax
0010f63dor sil, 48
0010f641mov [rcx-2], sil
0010f645add rcx, -2
0010f649shr edx, 2
0010f64cimul eax, edx, 5243
0010f652shr eax, 17
0010f655cmp rcx, r12
0010f658jne 0x10f610
0010f65amov rdx, rdi
0010f65d
0010f65dloc_10f65d:
0010f65dmov rdi, r14
0010f660mov rsi, r12
0010f663jmp 0x10f48b
0010f668
0010f668loc_10f668:
0010f668mov al, 1
0010f66ajmp 0x10f66e
0010f66c
0010f66cloc_10f66c:
0010f66cxor eax, eax
0010f66e
0010f66eloc_10f66e:
0010f66eadd rsp, 24
0010f672pop rbx
0010f673pop r12
0010f675pop r13
0010f677pop r14
0010f679pop r15
0010f67bpop rbp
0010f67cret
0010f67d
0010f67dloc_10f67d:
0010f67dlea rdx, [rip+0xdb764]
0010f684mov esi, 5
0010f689call core::slice::index::slice_end_index_len_fail
0010f68eud2
0010f410
0010f690
0010f690core::fmt::float::_<impl core::fmt::Display for f32>::fmt:
0010f690mov rax, rsi
0010f693movss x0, [rdi]
0010f697mov esi, [rsi+52]
0010f69acmp [rax+16], 0
0010f69fje 0x10f6b0
0010f6a1and esi, 1
0010f6a4mov rdx, [rax+24]
0010f6a8mov rdi, rax
0010f6abjmp 0x10ebc0
0010f6b0
0010f6b0loc_10f6b0:
0010f6b0and esi, 1
0010f6b3mov rdi, rax
0010f6b6jmp 0x10ef80
0010f690
0010f690core::fmt::float::_<impl core::fmt::Display for f32>::fmt:
0010f690mov rax, rsi
0010f693movss x0, [rdi]
0010f697mov esi, [rsi+52]
0010f69acmp [rax+16], 0
0010f69fje 0x10f6b0
0010f6a1and esi, 1
0010f6a4mov rdx, [rax+24]
0010f6a8mov rdi, rax
0010f6abjmp 0x10ebc0
0010f6b0
0010f6b0loc_10f6b0:
0010f6b0and esi, 1
0010f6b3mov rdi, rax
0010f6b6jmp 0x10ef80
0010f690
0010f6bb
0010f6bb // align 0x10
0010f6bb // align 0x10
0010f6c0
0010f6c0core::fmt::float::float_to_decimal_common_exact:
0010f6c0push rbp
0010f6c1push r15
0010f6c3push r14
0010f6c5push r13
0010f6c7push r12
0010f6c9push rbx
0010f6casub rsp, 1208
0010f6d1mov r14, rdx
0010f6d4mov eax, esi
0010f6d6mov r12, rdi
0010f6d9mov r9, 0x10000000000000
0010f6e3movq rcx, x0
0010f6e8mov rdx, rcx
0010f6ebshr rdx, 52
0010f6efand edx, 2047
0010f6f5lea rsi, [rcx+rcx]
0010f6f9mov r8, 0x1ffffffffffffe
0010f703and r8, rsi
0010f706lea rdi, [r9-1]
0010f70aand rdi, rcx
0010f70dlea rsi, [rdi+r9]
0010f711test edx, edx
0010f713cmove rsi, r8
0010f717ucomisd x0, x0
0010f71bjp 0x10fa63
0010f721mov r8, 0x7ff0000000000000
0010f72bxor r10l, r10l
0010f72emov r11, rcx
0010f731and r11, r8
0010f734setne r10b
0010f738lea rbx, [2*r10+2]
0010f740cmp r11, r8
0010f743mov r8l, 1
0010f749cmove rbx, r8
0010f74dadd r10, 3
0010f751test rdi, rdi
0010f754cmove r10, rbx
0010f758dec r10
0010f75blea rdi, [rip-0xd1f82]
0010f762movsxd r10, [rdi+4*r10]
0010f766add r10, rdi
0010f769jmp r10
0010f76cmov dil, 3
0010f76fjmp 0x10f774
0010f771mov dil, 4
0010f774
0010f774loc_10f774:
0010f774jmp 0x10f7ba
0010f776add edx, -1075
0010f77ctest sil, 1
0010f780sete dil
0010f784jmp 0x10f7ba
0010f786test sil, 1
0010f78asete dil
0010f78elea r8, [rsi+rsi]
0010f792xor r10l, r10l
0010f795cmp rsi, r9
0010f798sete r10b
0010f79cmov rsi, 0x40000000000000
0010f7a6cmovne rsi, r8
0010f7aalea r8, [r10+1]
0010f7aemovzx edx, dx
0010f7b1sub edx, r10l
0010f7b4add edx, -1076
0010f7ba
0010f7baloc_10f7ba:
0010f7bamov [rsp+152], rsi
0010f7c2mov [rsp+160], 1
0010f7cemov [rsp+168], r8
0010f7d6mov [rsp+176], dx
0010f7demov [rsp+178], dil
0010f7e6add dil, -2
0010f7eamovzx r8l, dil
0010f7eecmp r8b, 3
0010f7f2mov edi, 3
0010f7f7cmovb edi, r8l
0010f7fbtest dil, dil
0010f7feje 0x10f891
0010f804mov r13, rcx
0010f807shr r13, 63
0010f80btest rcx, rcx
0010f80elea rcx, [rip-0x805cb]
0010f815lea r8, [rip-0x7e524]
0010f81ccmovs r8, rcx
0010f820lea rbx, [rip-0x805de]
0010f827cmovs rbx, rcx
0010f82btest al, al
0010f82dcmove rbx, r8
0010f831mov eax, 1
0010f836cmovne r13, rax
0010f83acmp dil, 1
0010f83eje 0x10f8c6
0010f844movzx eax, dil
0010f848cmp eax, 2
0010f84bjne 0x10f8ec
0010f851mov [rsp+56], 2
0010f858test r14, r14
0010f85bje 0x10f970
0010f861lea rax, [rip-0xcc01c]
0010f868mov [rsp+64], rax
0010f86dmov [rsp+72], 2
0010f876mov [rsp+80], 0
0010f87dmov [rsp+88], r14
0010f882mov eax, 2
0010f887lea r15, [rsp+56]
0010f88cjmp 0x10fa30
0010f891
0010f891loc_10f891:
0010f891mov [rsp+56], 2
0010f898lea rax, [rip-0xcc051]
0010f89fmov [rsp+64], rax
0010f8a4mov [rsp+72], 3
0010f8admov eax, 1
0010f8b2lea r15, [rsp+56]
0010f8b7lea rbx, [rip-0x7e5c6]
0010f8bexor r13l, r13l
0010f8c1jmp 0x10fa30
0010f8c6
0010f8c6loc_10f8c6:
0010f8c6mov [rsp+56], 2
0010f8cdlea rcx, [rip-0xcc083]
0010f8d4mov [rsp+64], rcx
0010f8d9mov [rsp+72], 3
0010f8e2lea r15, [rsp+56]
0010f8e7jmp 0x10fa30
0010f8ec
0010f8ecloc_10f8ec:
0010f8ecmov [rsp+8], r12
0010f8f1test dx, dx
0010f8f4mov rax, -12
0010f8fbmov ecx, 5
0010f900cmovs rcx, rax
0010f904movsx r12, dx
0010f908imul r12, rcx
0010f90ccmp r12, 16064
0010f913jae 0x10fa6b
0010f919shr r12, 4
0010f91dadd r12, 21
0010f921mov eax, r14l
0010f924neg eax
0010f926cmp r14, 32768
0010f92dmov ebp, 32768
0010f932cmovb ebp, eax
0010f935lea r15, [rsp+56]
0010f93alea rcx, [rsp+184]
0010f942mov rdi, r15
0010f945mov r8, r12
0010f948mov r9l, ebp
0010f94bcall core::num::flt2dec::strategy::grisu::format_exact_opt
0010f950cmp [rsp+56], 0
0010f956je 0x10f994
0010f958mov rax, [rsp+72]
0010f95dmov [rsp+32], rax
0010f962movupd x0, [rsp+56]
0010f968movapd [rsp+16], x0
0010f96ejmp 0x10f9b4
0010f970
0010f970loc_10f970:
0010f970lea rax, [rip-0x8071d]
0010f977mov [rsp+64], rax
0010f97cmov [rsp+72], 1
0010f985mov eax, 1
0010f98alea r15, [rsp+56]
0010f98fjmp 0x10fa30
0010f994
0010f994loc_10f994:
0010f994lea rdi, [rsp+16]
0010f999lea rsi, [rsp+152]
0010f9a1lea rdx, [rsp+184]
0010f9a9mov rcx, r12
0010f9acmov r8l, ebp
0010f9afcall core::num::flt2dec::strategy::dragon::format_exact
0010f9b4
0010f9b4loc_10f9b4:
0010f9b4mov r12, [rsp+8]
0010f9b9movzx edx, [rsp+32]
0010f9becmp dx, bp
0010f9c1jle 0x10f9e2
0010f9c3mov rdi, [rsp+16]
0010f9c8mov rsi, [rsp+24]
0010f9cdlea r8, [rsp+56]
0010f9d2mov rcx, r14
0010f9d5call core::num::flt2dec::digits_to_dec_str
0010f9damov r15, rax
0010f9ddmov rax, rdx
0010f9e0jmp 0x10fa30
0010f9e2
0010f9e2loc_10f9e2:
0010f9e2mov [rsp+56], 2
0010f9e9test r14, r14
0010f9ecje 0x10fa16
0010f9eelea rax, [rip-0xcc1a9]
0010f9f5mov [rsp+64], rax
0010f9famov [rsp+72], 2
0010fa03mov [rsp+80], 0
0010fa0amov [rsp+88], r14
0010fa0fmov eax, 2
0010fa14jmp 0x10fa30
0010fa16
0010fa16loc_10fa16:
0010fa16lea rax, [rip-0x807c3]
0010fa1dmov [rsp+64], rax
0010fa22mov [rsp+72], 1
0010fa2bmov eax, 1
0010fa30
0010fa30loc_10fa30:
0010fa30mov [rsp+16], rbx
0010fa35mov [rsp+24], r13
0010fa3amov [rsp+32], r15
0010fa3fmov [rsp+40], rax
0010fa44lea rsi, [rsp+16]
0010fa49mov rdi, r12
0010fa4ccall core::fmt::Formatter::pad_formatted_parts
0010fa51add rsp, 1208
0010fa58pop rbx
0010fa59pop r12
0010fa5bpop r13
0010fa5dpop r14
0010fa5fpop r15
0010fa61pop rbp
0010fa62ret
0010fa63
0010fa63loc_10fa63:
0010fa63mov dil, 2
0010fa66jmp 0x10f774
0010fa6b
0010fa6bloc_10fa6b:
0010fa6blea rdi, [rip-0xcc21e]
0010fa72lea rdx, [rip+0xdb147]
0010fa79mov esi, 37
0010fa7ecall core::panicking::panic
0010fa83ud2
0010f6c0
0010f6c0core::fmt::float::float_to_decimal_common_exact:
0010f6c0push rbp
0010f6c1push r15
0010f6c3push r14
0010f6c5push r13
0010f6c7push r12
0010f6c9push rbx
0010f6casub rsp, 1208
0010f6d1mov r14, rdx
0010f6d4mov eax, esi
0010f6d6mov r12, rdi
0010f6d9mov r9, 0x10000000000000
0010f6e3movq rcx, x0
0010f6e8mov rdx, rcx
0010f6ebshr rdx, 52
0010f6efand edx, 2047
0010f6f5lea rsi, [rcx+rcx]
0010f6f9mov r8, 0x1ffffffffffffe
0010f703and r8, rsi
0010f706lea rdi, [r9-1]
0010f70aand rdi, rcx
0010f70dlea rsi, [rdi+r9]
0010f711test edx, edx
0010f713cmove rsi, r8
0010f717ucomisd x0, x0
0010f71bjp 0x10fa63
0010f721mov r8, 0x7ff0000000000000
0010f72bxor r10l, r10l
0010f72emov r11, rcx
0010f731and r11, r8
0010f734setne r10b
0010f738lea rbx, [2*r10+2]
0010f740cmp r11, r8
0010f743mov r8l, 1
0010f749cmove rbx, r8
0010f74dadd r10, 3
0010f751test rdi, rdi
0010f754cmove r10, rbx
0010f758dec r10
0010f75blea rdi, [rip-0xd1f82]
0010f762movsxd r10, [rdi+4*r10]
0010f766add r10, rdi
0010f769jmp r10
0010f76cmov dil, 3
0010f76fjmp 0x10f774
0010f771mov dil, 4
0010f774
0010f774loc_10f774:
0010f774jmp 0x10f7ba
0010f776add edx, -1075
0010f77ctest sil, 1
0010f780sete dil
0010f784jmp 0x10f7ba
0010f786test sil, 1
0010f78asete dil
0010f78elea r8, [rsi+rsi]
0010f792xor r10l, r10l
0010f795cmp rsi, r9
0010f798sete r10b
0010f79cmov rsi, 0x40000000000000
0010f7a6cmovne rsi, r8
0010f7aalea r8, [r10+1]
0010f7aemovzx edx, dx
0010f7b1sub edx, r10l
0010f7b4add edx, -1076
0010f7ba
0010f7baloc_10f7ba:
0010f7bamov [rsp+152], rsi
0010f7c2mov [rsp+160], 1
0010f7cemov [rsp+168], r8
0010f7d6mov [rsp+176], dx
0010f7demov [rsp+178], dil
0010f7e6add dil, -2
0010f7eamovzx r8l, dil
0010f7eecmp r8b, 3
0010f7f2mov edi, 3
0010f7f7cmovb edi, r8l
0010f7fbtest dil, dil
0010f7feje 0x10f891
0010f804mov r13, rcx
0010f807shr r13, 63
0010f80btest rcx, rcx
0010f80elea rcx, [rip-0x805cb]
0010f815lea r8, [rip-0x7e524]
0010f81ccmovs r8, rcx
0010f820lea rbx, [rip-0x805de]
0010f827cmovs rbx, rcx
0010f82btest al, al
0010f82dcmove rbx, r8
0010f831mov eax, 1
0010f836cmovne r13, rax
0010f83acmp dil, 1
0010f83eje 0x10f8c6
0010f844movzx eax, dil
0010f848cmp eax, 2
0010f84bjne 0x10f8ec
0010f851mov [rsp+56], 2
0010f858test r14, r14
0010f85bje 0x10f970
0010f861lea rax, [rip-0xcc01c]
0010f868mov [rsp+64], rax
0010f86dmov [rsp+72], 2
0010f876mov [rsp+80], 0
0010f87dmov [rsp+88], r14
0010f882mov eax, 2
0010f887lea r15, [rsp+56]
0010f88cjmp 0x10fa30
0010f891
0010f891loc_10f891:
0010f891mov [rsp+56], 2
0010f898lea rax, [rip-0xcc051]
0010f89fmov [rsp+64], rax
0010f8a4mov [rsp+72], 3
0010f8admov eax, 1
0010f8b2lea r15, [rsp+56]
0010f8b7lea rbx, [rip-0x7e5c6]
0010f8bexor r13l, r13l
0010f8c1jmp 0x10fa30
0010f8c6
0010f8c6loc_10f8c6:
0010f8c6mov [rsp+56], 2
0010f8cdlea rcx, [rip-0xcc083]
0010f8d4mov [rsp+64], rcx
0010f8d9mov [rsp+72], 3
0010f8e2lea r15, [rsp+56]
0010f8e7jmp 0x10fa30
0010f8ec
0010f8ecloc_10f8ec:
0010f8ecmov [rsp+8], r12
0010f8f1test dx, dx
0010f8f4mov rax, -12
0010f8fbmov ecx, 5
0010f900cmovs rcx, rax
0010f904movsx r12, dx
0010f908imul r12, rcx
0010f90ccmp r12, 16064
0010f913jae 0x10fa6b
0010f919shr r12, 4
0010f91dadd r12, 21
0010f921mov eax, r14l
0010f924neg eax
0010f926cmp r14, 32768
0010f92dmov ebp, 32768
0010f932cmovb ebp, eax
0010f935lea r15, [rsp+56]
0010f93alea rcx, [rsp+184]
0010f942mov rdi, r15
0010f945mov r8, r12
0010f948mov r9l, ebp
0010f94bcall core::num::flt2dec::strategy::grisu::format_exact_opt
0010f950cmp [rsp+56], 0
0010f956je 0x10f994
0010f958mov rax, [rsp+72]
0010f95dmov [rsp+32], rax
0010f962movupd x0, [rsp+56]
0010f968movapd [rsp+16], x0
0010f96ejmp 0x10f9b4
0010f970
0010f970loc_10f970:
0010f970lea rax, [rip-0x8071d]
0010f977mov [rsp+64], rax
0010f97cmov [rsp+72], 1
0010f985mov eax, 1
0010f98alea r15, [rsp+56]
0010f98fjmp 0x10fa30
0010f994
0010f994loc_10f994:
0010f994lea rdi, [rsp+16]
0010f999lea rsi, [rsp+152]
0010f9a1lea rdx, [rsp+184]
0010f9a9mov rcx, r12
0010f9acmov r8l, ebp
0010f9afcall core::num::flt2dec::strategy::dragon::format_exact
0010f9b4
0010f9b4loc_10f9b4:
0010f9b4mov r12, [rsp+8]
0010f9b9movzx edx, [rsp+32]
0010f9becmp dx, bp
0010f9c1jle 0x10f9e2
0010f9c3mov rdi, [rsp+16]
0010f9c8mov rsi, [rsp+24]
0010f9cdlea r8, [rsp+56]
0010f9d2mov rcx, r14
0010f9d5call core::num::flt2dec::digits_to_dec_str
0010f9damov r15, rax
0010f9ddmov rax, rdx
0010f9e0jmp 0x10fa30
0010f9e2
0010f9e2loc_10f9e2:
0010f9e2mov [rsp+56], 2
0010f9e9test r14, r14
0010f9ecje 0x10fa16
0010f9eelea rax, [rip-0xcc1a9]
0010f9f5mov [rsp+64], rax
0010f9famov [rsp+72], 2
0010fa03mov [rsp+80], 0
0010fa0amov [rsp+88], r14
0010fa0fmov eax, 2
0010fa14jmp 0x10fa30
0010fa16
0010fa16loc_10fa16:
0010fa16lea rax, [rip-0x807c3]
0010fa1dmov [rsp+64], rax
0010fa22mov [rsp+72], 1
0010fa2bmov eax, 1
0010fa30
0010fa30loc_10fa30:
0010fa30mov [rsp+16], rbx
0010fa35mov [rsp+24], r13
0010fa3amov [rsp+32], r15
0010fa3fmov [rsp+40], rax
0010fa44lea rsi, [rsp+16]
0010fa49mov rdi, r12
0010fa4ccall core::fmt::Formatter::pad_formatted_parts
0010fa51add rsp, 1208
0010fa58pop rbx
0010fa59pop r12
0010fa5bpop r13
0010fa5dpop r14
0010fa5fpop r15
0010fa61pop rbp
0010fa62ret
0010fa63
0010fa63loc_10fa63:
0010fa63mov dil, 2
0010fa66jmp 0x10f774
0010fa6b
0010fa6bloc_10fa6b:
0010fa6blea rdi, [rip-0xcc21e]
0010fa72lea rdx, [rip+0xdb147]
0010fa79mov esi, 37
0010fa7ecall core::panicking::panic
0010fa83ud2
0010f6c0
0010fa85
0010fa85 // align 0x10
0010fa85 // align 0x10
0010fa90
0010fa90core::fmt::float::float_to_decimal_common_shortest:
0010fa90push r15
0010fa92push r14
0010fa94push rbx
0010fa95sub rsp, 192
0010fa9cmov rbx, rdi
0010fa9fmov r9, 0x10000000000000
0010faa9movq rax, x0
0010faaemov rcx, rax
0010fab1shr rcx, 52
0010fab5and ecx, 2047
0010fabblea rdx, [rax+rax]
0010fabfmov r8, 0x1ffffffffffffe
0010fac9and r8, rdx
0010facclea rdi, [r9-1]
0010fad0and rdi, rax
0010fad3lea rdx, [rdi+r9]
0010fad7test ecx, ecx
0010fad9cmove rdx, r8
0010fadducomisd x0, x0
0010fae1jp 0x10fcfb
0010fae7mov r8, 0x7ff0000000000000
0010faf1xor r10l, r10l
0010faf4mov r11, rax
0010faf7and r11, r8
0010fafasetne r10b
0010fafelea r14, [2*r10+2]
0010fb06cmp r11, r8
0010fb09mov r8l, 1
0010fb0fcmove r14, r8
0010fb13add r10, 3
0010fb17test rdi, rdi
0010fb1acmove r10, r14
0010fb1edec r10
0010fb21lea rdi, [rip-0xd2338]
0010fb28movsxd r10, [rdi+4*r10]
0010fb2cadd r10, rdi
0010fb2fjmp r10
0010fb32mov dil, 3
0010fb35jmp 0x10fb49
0010fb37add ecx, -1075
0010fb3dtest dl, 1
0010fb40sete dil
0010fb44jmp 0x10fb7e
0010fb46mov dil, 4
0010fb49
0010fb49loc_10fb49:
0010fb49jmp 0x10fb7e
0010fb4btest dl, 1
0010fb4esete dil
0010fb52lea r8, [rdx+rdx]
0010fb56xor r10l, r10l
0010fb59cmp rdx, r9
0010fb5csete r10b
0010fb60mov rdx, 0x40000000000000
0010fb6acmovne rdx, r8
0010fb6elea r8, [r10+1]
0010fb72movzx ecx, cx
0010fb75sub ecx, r10l
0010fb78add ecx, -1076
0010fb7e
0010fb7eloc_10fb7e:
0010fb7emov [rsp+40], rdx
0010fb83mov [rsp+48], 1
0010fb8cmov [rsp+56], r8
0010fb91mov [rsp+64], cx
0010fb96mov [rsp+66], dil
0010fb9badd dil, -2
0010fb9fmovzx edx, dil
0010fba3cmp dl, 3
0010fba6mov ecx, 3
0010fbabcmovb ecx, edx
0010fbaetest cl, cl
0010fbb0je 0x10fc14
0010fbb2mov r14, rax
0010fbb5shr r14, 63
0010fbb9test rax, rax
0010fbbclea rax, [rip-0x80979]
0010fbc3lea rdx, [rip-0x7e8d2]
0010fbcacmovs rdx, rax
0010fbcelea r15, [rip-0x8098c]
0010fbd5cmovs r15, rax
0010fbd9test sil, sil
0010fbdccmove r15, rdx
0010fbe0mov edx, 1
0010fbe5cmovne r14, rdx
0010fbe9cmp cl, 1
0010fbecje 0x10fc49
0010fbeemovzx eax, cl
0010fbf1cmp eax, 2
0010fbf4jne 0x10fc6c
0010fbf6mov [rsp+72], 2
0010fbfdlea rax, [rip-0x809aa]
0010fc04mov [rsp+80], rax
0010fc09mov [rsp+88], 1
0010fc12jmp 0x10fc65
0010fc14
0010fc14loc_10fc14:
0010fc14mov [rsp+72], 2
0010fc1blea rax, [rip-0xcc3d4]
0010fc22mov [rsp+80], rax
0010fc27mov [rsp+88], 3
0010fc30mov edx, 1
0010fc35lea rax, [rsp+72]
0010fc3alea r15, [rip-0x7e949]
0010fc41xor r14l, r14l
0010fc44jmp 0x10fcd0
0010fc49
0010fc49loc_10fc49:
0010fc49mov [rsp+72], 2
0010fc50lea rax, [rip-0xcc406]
0010fc57mov [rsp+80], rax
0010fc5cmov [rsp+88], 3
0010fc65
0010fc65loc_10fc65:
0010fc65lea rax, [rsp+72]
0010fc6ajmp 0x10fcd0
0010fc6c
0010fc6cloc_10fc6c:
0010fc6clea rdi, [rsp+72]
0010fc71lea rsi, [rsp+40]
0010fc76lea rdx, [rsp+175]
0010fc7ecall core::num::flt2dec::strategy::grisu::format_shortest_opt
0010fc83cmp [rsp+72], 0
0010fc89je 0x10fca2
0010fc8bmov rax, [rsp+88]
0010fc90mov [rsp+16], rax
0010fc95movupd x0, [rsp+72]
0010fc9bmovapd [rsp], x0
0010fca0jmp 0x10fcb7
0010fca2
0010fca2loc_10fca2:
0010fca2mov rdi, rsp
0010fca5lea rsi, [rsp+40]
0010fcaalea rdx, [rsp+175]
0010fcb2call core::num::flt2dec::strategy::dragon::format_shortest
0010fcb7
0010fcb7loc_10fcb7:
0010fcb7mov rdi, [rsp]
0010fcbbmov rsi, [rsp+8]
0010fcc0mov edx, [rsp+16]
0010fcc4lea r8, [rsp+72]
0010fcc9xor ecx, ecx
0010fccbcall core::num::flt2dec::digits_to_dec_str
0010fcd0
0010fcd0loc_10fcd0:
0010fcd0mov [rsp], r15
0010fcd4mov [rsp+8], r14
0010fcd9mov [rsp+16], rax
0010fcdemov [rsp+24], rdx
0010fce3mov rsi, rsp
0010fce6mov rdi, rbx
0010fce9call core::fmt::Formatter::pad_formatted_parts
0010fceeadd rsp, 192
0010fcf5pop rbx
0010fcf6pop r14
0010fcf8pop r15
0010fcfaret
0010fcfb
0010fcfbloc_10fcfb:
0010fcfbmov dil, 2
0010fcfejmp 0x10fb49
0010fa90
0010fa90core::fmt::float::float_to_decimal_common_shortest:
0010fa90push r15
0010fa92push r14
0010fa94push rbx
0010fa95sub rsp, 192
0010fa9cmov rbx, rdi
0010fa9fmov r9, 0x10000000000000
0010faa9movq rax, x0
0010faaemov rcx, rax
0010fab1shr rcx, 52
0010fab5and ecx, 2047
0010fabblea rdx, [rax+rax]
0010fabfmov r8, 0x1ffffffffffffe
0010fac9and r8, rdx
0010facclea rdi, [r9-1]
0010fad0and rdi, rax
0010fad3lea rdx, [rdi+r9]
0010fad7test ecx, ecx
0010fad9cmove rdx, r8
0010fadducomisd x0, x0
0010fae1jp 0x10fcfb
0010fae7mov r8, 0x7ff0000000000000
0010faf1xor r10l, r10l
0010faf4mov r11, rax
0010faf7and r11, r8
0010fafasetne r10b
0010fafelea r14, [2*r10+2]
0010fb06cmp r11, r8
0010fb09mov r8l, 1
0010fb0fcmove r14, r8
0010fb13add r10, 3
0010fb17test rdi, rdi
0010fb1acmove r10, r14
0010fb1edec r10
0010fb21lea rdi, [rip-0xd2338]
0010fb28movsxd r10, [rdi+4*r10]
0010fb2cadd r10, rdi
0010fb2fjmp r10
0010fb32mov dil, 3
0010fb35jmp 0x10fb49
0010fb37add ecx, -1075
0010fb3dtest dl, 1
0010fb40sete dil
0010fb44jmp 0x10fb7e
0010fb46mov dil, 4
0010fb49
0010fb49loc_10fb49:
0010fb49jmp 0x10fb7e
0010fb4btest dl, 1
0010fb4esete dil
0010fb52lea r8, [rdx+rdx]
0010fb56xor r10l, r10l
0010fb59cmp rdx, r9
0010fb5csete r10b
0010fb60mov rdx, 0x40000000000000
0010fb6acmovne rdx, r8
0010fb6elea r8, [r10+1]
0010fb72movzx ecx, cx
0010fb75sub ecx, r10l
0010fb78add ecx, -1076
0010fb7e
0010fb7eloc_10fb7e:
0010fb7emov [rsp+40], rdx
0010fb83mov [rsp+48], 1
0010fb8cmov [rsp+56], r8
0010fb91mov [rsp+64], cx
0010fb96mov [rsp+66], dil
0010fb9badd dil, -2
0010fb9fmovzx edx, dil
0010fba3cmp dl, 3
0010fba6mov ecx, 3
0010fbabcmovb ecx, edx
0010fbaetest cl, cl
0010fbb0je 0x10fc14
0010fbb2mov r14, rax
0010fbb5shr r14, 63
0010fbb9test rax, rax
0010fbbclea rax, [rip-0x80979]
0010fbc3lea rdx, [rip-0x7e8d2]
0010fbcacmovs rdx, rax
0010fbcelea r15, [rip-0x8098c]
0010fbd5cmovs r15, rax
0010fbd9test sil, sil
0010fbdccmove r15, rdx
0010fbe0mov edx, 1
0010fbe5cmovne r14, rdx
0010fbe9cmp cl, 1
0010fbecje 0x10fc49
0010fbeemovzx eax, cl
0010fbf1cmp eax, 2
0010fbf4jne 0x10fc6c
0010fbf6mov [rsp+72], 2
0010fbfdlea rax, [rip-0x809aa]
0010fc04mov [rsp+80], rax
0010fc09mov [rsp+88], 1
0010fc12jmp 0x10fc65
0010fc14
0010fc14loc_10fc14:
0010fc14mov [rsp+72], 2
0010fc1blea rax, [rip-0xcc3d4]
0010fc22mov [rsp+80], rax
0010fc27mov [rsp+88], 3
0010fc30mov edx, 1
0010fc35lea rax, [rsp+72]
0010fc3alea r15, [rip-0x7e949]
0010fc41xor r14l, r14l
0010fc44jmp 0x10fcd0
0010fc49
0010fc49loc_10fc49:
0010fc49mov [rsp+72], 2
0010fc50lea rax, [rip-0xcc406]
0010fc57mov [rsp+80], rax
0010fc5cmov [rsp+88], 3
0010fc65
0010fc65loc_10fc65:
0010fc65lea rax, [rsp+72]
0010fc6ajmp 0x10fcd0
0010fc6c
0010fc6cloc_10fc6c:
0010fc6clea rdi, [rsp+72]
0010fc71lea rsi, [rsp+40]
0010fc76lea rdx, [rsp+175]
0010fc7ecall core::num::flt2dec::strategy::grisu::format_shortest_opt
0010fc83cmp [rsp+72], 0
0010fc89je 0x10fca2
0010fc8bmov rax, [rsp+88]
0010fc90mov [rsp+16], rax
0010fc95movupd x0, [rsp+72]
0010fc9bmovapd [rsp], x0
0010fca0jmp 0x10fcb7
0010fca2
0010fca2loc_10fca2:
0010fca2mov rdi, rsp
0010fca5lea rsi, [rsp+40]
0010fcaalea rdx, [rsp+175]
0010fcb2call core::num::flt2dec::strategy::dragon::format_shortest
0010fcb7
0010fcb7loc_10fcb7:
0010fcb7mov rdi, [rsp]
0010fcbbmov rsi, [rsp+8]
0010fcc0mov edx, [rsp+16]
0010fcc4lea r8, [rsp+72]
0010fcc9xor ecx, ecx
0010fccbcall core::num::flt2dec::digits_to_dec_str
0010fcd0
0010fcd0loc_10fcd0:
0010fcd0mov [rsp], r15
0010fcd4mov [rsp+8], r14
0010fcd9mov [rsp+16], rax
0010fcdemov [rsp+24], rdx
0010fce3mov rsi, rsp
0010fce6mov rdi, rbx
0010fce9call core::fmt::Formatter::pad_formatted_parts
0010fceeadd rsp, 192
0010fcf5pop rbx
0010fcf6pop r14
0010fcf8pop r15
0010fcfaret
0010fcfb
0010fcfbloc_10fcfb:
0010fcfbmov dil, 2
0010fcfejmp 0x10fb49
0010fa90
0010fd03
0010fd03 // align 0x10
0010fd03 // align 0x10
0010fd10
0010fd10core::fmt::float::_<impl core::fmt::Display for f64>::fmt:
0010fd10mov rax, rsi
0010fd13movsd_xmm x0, [rdi]
0010fd17mov esi, [rsi+52]
0010fd1acmp [rax+16], 0
0010fd1fje 0x10fd30
0010fd21and esi, 1
0010fd24mov rdx, [rax+24]
0010fd28mov rdi, rax
0010fd2bjmp 0x10f6c0
0010fd30
0010fd30loc_10fd30:
0010fd30and esi, 1
0010fd33mov rdi, rax
0010fd36jmp 0x10fa90
0010fd10
0010fd10core::fmt::float::_<impl core::fmt::Display for f64>::fmt:
0010fd10mov rax, rsi
0010fd13movsd_xmm x0, [rdi]
0010fd17mov esi, [rsi+52]
0010fd1acmp [rax+16], 0
0010fd1fje 0x10fd30
0010fd21and esi, 1
0010fd24mov rdx, [rax+24]
0010fd28mov rdi, rax
0010fd2bjmp 0x10f6c0
0010fd30
0010fd30loc_10fd30:
0010fd30and esi, 1
0010fd33mov rdi, rax
0010fd36jmp 0x10fa90
0010fd10
0010fd3b
0010fd3b // align 0x10
0010fd3b // align 0x10
0010fd40
0010fd40core::fmt::num::_<impl core::fmt::Binary for i8>::fmt:
0010fd40sub rsp, 136
0010fd47movzx ecx, [rdi]
0010fd4amov eax, 129
0010fd4fmov edx, ecx
0010fd51nop [rax+rax]
0010fd60
0010fd60loc_10fd60:
0010fd60mov rdi, rax
0010fd63mov eax, ecx
0010fd65and al, 1
0010fd67shr dl, 1
0010fd69or al, 48
0010fd6bmov [rsp+rdi+6], al
0010fd6flea rax, [rdi-1]
0010fd73cmp cl, 2
0010fd76mov ecx, edx
0010fd78jae 0x10fd60
0010fd7aadd rdi, -2
0010fd7ecmp rdi, 128
0010fd85ja 0x10fdb9
0010fd87mov r9l, 129
0010fd8dsub r9, rax
0010fd90lea r8, [rsp+rdi]
0010fd94add r8, 8
0010fd98lea rdx, [rip-0xcc319]
0010fd9fmov ecx, 2
0010fda4mov rdi, rsi
0010fda7mov esi, 1
0010fdaccall core::fmt::Formatter::pad_integral
0010fdb1add rsp, 136
0010fdb8ret
0010fdb9
0010fdb9loc_10fdb9:
0010fdb9lea rdx, [rip+0xdb010]
0010fdc0mov esi, 128
0010fdc5call core::slice::index::slice_start_index_len_fail
0010fdcaud2
0010fd40
0010fd40core::fmt::num::_<impl core::fmt::Binary for i8>::fmt:
0010fd40sub rsp, 136
0010fd47movzx ecx, [rdi]
0010fd4amov eax, 129
0010fd4fmov edx, ecx
0010fd51nop [rax+rax]
0010fd60
0010fd60loc_10fd60:
0010fd60mov rdi, rax
0010fd63mov eax, ecx
0010fd65and al, 1
0010fd67shr dl, 1
0010fd69or al, 48
0010fd6bmov [rsp+rdi+6], al
0010fd6flea rax, [rdi-1]
0010fd73cmp cl, 2
0010fd76mov ecx, edx
0010fd78jae 0x10fd60
0010fd7aadd rdi, -2
0010fd7ecmp rdi, 128
0010fd85ja 0x10fdb9
0010fd87mov r9l, 129
0010fd8dsub r9, rax
0010fd90lea r8, [rsp+rdi]
0010fd94add r8, 8
0010fd98lea rdx, [rip-0xcc319]
0010fd9fmov ecx, 2
0010fda4mov rdi, rsi
0010fda7mov esi, 1
0010fdaccall core::fmt::Formatter::pad_integral
0010fdb1add rsp, 136
0010fdb8ret
0010fdb9
0010fdb9loc_10fdb9:
0010fdb9lea rdx, [rip+0xdb010]
0010fdc0mov esi, 128
0010fdc5call core::slice::index::slice_start_index_len_fail
0010fdcaud2
0010fd40
0010fdcc
0010fdcc // align 0x10
0010fdcc // align 0x10
0010fdd0
0010fdd0core::fmt::num::_<impl core::fmt::UpperHex for i32>::fmt:
0010fdd0sub rsp, 136
0010fdd7mov ecx, [rdi]
0010fdd9mov edx, 129
0010fddemov eax, 48
0010fde3mov r8l, ecx
0010fde6nop [rax+rax]
0010fdf0
0010fdf0loc_10fdf0:
0010fdf0mov rdi, rdx
0010fdf3shr r8l, 4
0010fdf7mov edx, ecx
0010fdf9and dl, 15
0010fdfccmp dl, 10
0010fdffmov r9l, 55
0010fe05cmovb r9l, eax
0010fe09add r9b, dl
0010fe0cmov [rsp+rdi+6], r9b
0010fe11lea rdx, [rdi-1]
0010fe15cmp ecx, 16
0010fe18mov ecx, r8l
0010fe1bjae 0x10fdf0
0010fe1dadd rdi, -2
0010fe21cmp rdi, 128
0010fe28ja 0x10fe5c
0010fe2amov r9l, 129
0010fe30sub r9, rdx
0010fe33lea r8, [rsp+rdi]
0010fe37add r8, 8
0010fe3blea rdx, [rip-0x81248]
0010fe42mov ecx, 2
0010fe47mov rdi, rsi
0010fe4amov esi, 1
0010fe4fcall core::fmt::Formatter::pad_integral
0010fe54add rsp, 136
0010fe5bret
0010fe5c
0010fe5cloc_10fe5c:
0010fe5clea rdx, [rip+0xdaf6d]
0010fe63mov esi, 128
0010fe68call core::slice::index::slice_start_index_len_fail
0010fe6dud2
0010fdd0
0010fdd0core::fmt::num::_<impl core::fmt::UpperHex for i32>::fmt:
0010fdd0sub rsp, 136
0010fdd7mov ecx, [rdi]
0010fdd9mov edx, 129
0010fddemov eax, 48
0010fde3mov r8l, ecx
0010fde6nop [rax+rax]
0010fdf0
0010fdf0loc_10fdf0:
0010fdf0mov rdi, rdx
0010fdf3shr r8l, 4
0010fdf7mov edx, ecx
0010fdf9and dl, 15
0010fdfccmp dl, 10
0010fdffmov r9l, 55
0010fe05cmovb r9l, eax
0010fe09add r9b, dl
0010fe0cmov [rsp+rdi+6], r9b
0010fe11lea rdx, [rdi-1]
0010fe15cmp ecx, 16
0010fe18mov ecx, r8l
0010fe1bjae 0x10fdf0
0010fe1dadd rdi, -2
0010fe21cmp rdi, 128
0010fe28ja 0x10fe5c
0010fe2amov r9l, 129
0010fe30sub r9, rdx
0010fe33lea r8, [rsp+rdi]
0010fe37add r8, 8
0010fe3blea rdx, [rip-0x81248]
0010fe42mov ecx, 2
0010fe47mov rdi, rsi
0010fe4amov esi, 1
0010fe4fcall core::fmt::Formatter::pad_integral
0010fe54add rsp, 136
0010fe5bret
0010fe5c
0010fe5cloc_10fe5c:
0010fe5clea rdx, [rip+0xdaf6d]
0010fe63mov esi, 128
0010fe68call core::slice::index::slice_start_index_len_fail
0010fe6dud2
0010fdd0
0010fe6f
0010fe6f // align 0x10
0010fe6f // align 0x10
0010fe70
0010fe70core::fmt::num::_<impl core::fmt::UpperHex for i64>::fmt:
0010fe70sub rsp, 136
0010fe77mov rax, rdi
0010fe7amov edx, 129
0010fe7fmov ecx, 48
0010fe84mov r8, rdi
0010fe87nop [rax+rax]
0010fe90
0010fe90loc_10fe90:
0010fe90mov rdi, rdx
0010fe93shr r8, 4
0010fe97mov edx, eax
0010fe99and dl, 15
0010fe9ccmp dl, 10
0010fe9fmov r9l, 55
0010fea5cmovb r9l, ecx
0010fea9add r9b, dl
0010feacmov [rsp+rdi+6], r9b
0010feb1lea rdx, [rdi-1]
0010feb5cmp rax, 16
0010feb9mov rax, r8
0010febcjae 0x10fe90
0010febeadd rdi, -2
0010fec2cmp rdi, 128
0010fec9ja 0x10fefd
0010fecbmov r9l, 129
0010fed1sub r9, rdx
0010fed4lea r8, [rsp+rdi]
0010fed8add r8, 8
0010fedclea rdx, [rip-0x812e9]
0010fee3mov ecx, 2
0010fee8mov rdi, rsi
0010feebmov esi, 1
0010fef0call core::fmt::Formatter::pad_integral
0010fef5add rsp, 136
0010fefcret
0010fefd
0010fefdloc_10fefd:
0010fefdlea rdx, [rip+0xdaecc]
0010ff04mov esi, 128
0010ff09call core::slice::index::slice_start_index_len_fail
0010ff0eud2
0010fe70
0010fe70core::fmt::num::_<impl core::fmt::UpperHex for i64>::fmt:
0010fe70sub rsp, 136
0010fe77mov rax, rdi
0010fe7amov edx, 129
0010fe7fmov ecx, 48
0010fe84mov r8, rdi
0010fe87nop [rax+rax]
0010fe90
0010fe90loc_10fe90:
0010fe90mov rdi, rdx
0010fe93shr r8, 4
0010fe97mov edx, eax
0010fe99and dl, 15
0010fe9ccmp dl, 10
0010fe9fmov r9l, 55
0010fea5cmovb r9l, ecx
0010fea9add r9b, dl
0010feacmov [rsp+rdi+6], r9b
0010feb1lea rdx, [rdi-1]
0010feb5cmp rax, 16
0010feb9mov rax, r8
0010febcjae 0x10fe90
0010febeadd rdi, -2
0010fec2cmp rdi, 128
0010fec9ja 0x10fefd
0010fecbmov r9l, 129
0010fed1sub r9, rdx
0010fed4lea r8, [rsp+rdi]
0010fed8add r8, 8
0010fedclea rdx, [rip-0x812e9]
0010fee3mov ecx, 2
0010fee8mov rdi, rsi
0010feebmov esi, 1
0010fef0call core::fmt::Formatter::pad_integral
0010fef5add rsp, 136
0010fefcret
0010fefd
0010fefdloc_10fefd:
0010fefdlea rdx, [rip+0xdaecc]
0010ff04mov esi, 128
0010ff09call core::slice::index::slice_start_index_len_fail
0010ff0eud2
0010fe70
0010ff10
0010ff10core::fmt::num::imp::_<impl core::fmt::Display for i32>::fmt:
0010ff10push rbx
0010ff11sub rsp, 48
0010ff15movsxd rcx, [rdi]
0010ff18mov rax, rcx
0010ff1bneg rax
0010ff1etest rcx, rcx
0010ff21mov r8l, ecx
0010ff24cmovs r8, rax
0010ff28mov rdi, rsi
0010ff2bmov eax, 39
0010ff30lea rsi, [rip-0x80ee5]
0010ff37cmp r8, 10000
0010ff3ejb 0x10fff7
0010ff44mov r10l, 39
0010ff4amov r9, 0x346dc5d63886594b
0010ff54nop [rax+rax]
0010ff60
0010ff60loc_10ff60:
0010ff60mov rax, r8
0010ff63mul r9
0010ff66shr rdx, 11
0010ff6aimul eax, edx, 10000
0010ff70mov r11l, r8l
0010ff73sub r11l, eax
0010ff76imul ebx, r11l, 5243
0010ff7dshr ebx, 19
0010ff80imul eax, ebx, 100
0010ff83sub r11l, eax
0010ff86movzx r11l, r11w
0010ff8alea rax, [r10-4]
0010ff8emovzx ebx, [rsi+2*rbx]
0010ff92mov [rsp+r10+5], bx
0010ff98movzx r11l, [rsi+2*r11]
0010ff9dmov [rsp+r10+7], r11w
0010ffa3mov r10, rax
0010ffa6cmp r8, 0x5f5e0ff
0010ffadmov r8, rdx
0010ffb0ja 0x10ff60
0010ffb2cmp rdx, 99
0010ffb6jbe 0x10ffe5
0010ffb8
0010ffb8loc_10ffb8:
0010ffb8movzx r8l, dx
0010ffbcshr r8l, 2
0010ffc0imul r8l, r8l, 5243
0010ffc7shr r8l, 17
0010ffcbimul r9l, r8l, 100
0010ffcfsub edx, r9l
0010ffd2movzx edx, dx
0010ffd5movzx edx, [rsi+2*rdx]
0010ffd9mov [rsp+rax+7], dx
0010ffdeadd rax, -2
0010ffe2mov rdx, r8
0010ffe5
0010ffe5loc_10ffe5:
0010ffe5cmp rdx, 10
0010ffe9jae 0x110002
0010ffebadd dl, 48
0010ffeemov [rsp+rax+8], dl
0010fff2dec rax
0010fff5jmp 0x11000f
0010fff7
0010fff7loc_10fff7:
0010fff7mov rdx, r8
0010fffacmp rdx, 99
0010fffeja 0x10ffb8
00110000jmp 0x10ffe5
00110002
00110002loc_110002:
00110002movzx edx, [rsi+2*rdx]
00110006mov [rsp+rax+7], dx
0011000badd rax, -2
0011000f
0011000floc_11000f:
0011000flea r8, [rsp+rax]
00110013add r8, 9
00110017mov r9l, 39
0011001dsub r9, rax
00110020not ecx
00110022shr ecx, 31
00110025lea rdx, [rip-0x7ed34]
0011002cmov esi, ecx
0011002exor ecx, ecx
00110030call core::fmt::Formatter::pad_integral
00110035add rsp, 48
00110039pop rbx
0011003aret
0010ff10
0010ff10core::fmt::num::imp::_<impl core::fmt::Display for i32>::fmt:
0010ff10push rbx
0010ff11sub rsp, 48
0010ff15movsxd rcx, [rdi]
0010ff18mov rax, rcx
0010ff1bneg rax
0010ff1etest rcx, rcx
0010ff21mov r8l, ecx
0010ff24cmovs r8, rax
0010ff28mov rdi, rsi
0010ff2bmov eax, 39
0010ff30lea rsi, [rip-0x80ee5]
0010ff37cmp r8, 10000
0010ff3ejb 0x10fff7
0010ff44mov r10l, 39
0010ff4amov r9, 0x346dc5d63886594b
0010ff54nop [rax+rax]
0010ff60
0010ff60loc_10ff60:
0010ff60mov rax, r8
0010ff63mul r9
0010ff66shr rdx, 11
0010ff6aimul eax, edx, 10000
0010ff70mov r11l, r8l
0010ff73sub r11l, eax
0010ff76imul ebx, r11l, 5243
0010ff7dshr ebx, 19
0010ff80imul eax, ebx, 100
0010ff83sub r11l, eax
0010ff86movzx r11l, r11w
0010ff8alea rax, [r10-4]
0010ff8emovzx ebx, [rsi+2*rbx]
0010ff92mov [rsp+r10+5], bx
0010ff98movzx r11l, [rsi+2*r11]
0010ff9dmov [rsp+r10+7], r11w
0010ffa3mov r10, rax
0010ffa6cmp r8, 0x5f5e0ff
0010ffadmov r8, rdx
0010ffb0ja 0x10ff60
0010ffb2cmp rdx, 99
0010ffb6jbe 0x10ffe5
0010ffb8
0010ffb8loc_10ffb8:
0010ffb8movzx r8l, dx
0010ffbcshr r8l, 2
0010ffc0imul r8l, r8l, 5243
0010ffc7shr r8l, 17
0010ffcbimul r9l, r8l, 100
0010ffcfsub edx, r9l
0010ffd2movzx edx, dx
0010ffd5movzx edx, [rsi+2*rdx]
0010ffd9mov [rsp+rax+7], dx
0010ffdeadd rax, -2
0010ffe2mov rdx, r8
0010ffe5
0010ffe5loc_10ffe5:
0010ffe5cmp rdx, 10
0010ffe9jae 0x110002
0010ffebadd dl, 48
0010ffeemov [rsp+rax+8], dl
0010fff2dec rax
0010fff5jmp 0x11000f
0010fff7
0010fff7loc_10fff7:
0010fff7mov rdx, r8
0010fffacmp rdx, 99
0010fffeja 0x10ffb8
00110000jmp 0x10ffe5
00110002
00110002loc_110002:
00110002movzx edx, [rsi+2*rdx]
00110006mov [rsp+rax+7], dx
0011000badd rax, -2
0011000f
0011000floc_11000f:
0011000flea r8, [rsp+rax]
00110013add r8, 9
00110017mov r9l, 39
0011001dsub r9, rax
00110020not ecx
00110022shr ecx, 31
00110025lea rdx, [rip-0x7ed34]
0011002cmov esi, ecx
0011002exor ecx, ecx
00110030call core::fmt::Formatter::pad_integral
00110035add rsp, 48
00110039pop rbx
0011003aret
0010ff10
0011003b
0011003b // align 0x10
0011003b // align 0x10
00110040
00110040_<core::str::error::Utf8Error as core::fmt::Debug>::fmt:
00110040push r14
00110042push rbx
00110043sub rsp, 24
00110047mov rbx, rsi
0011004amov r14, rdi
0011004dlea rax, [rdi+8]
00110051mov [rsp+16], rax
00110056mov rdi, [rsi+32]
0011005amov rax, [rsi+40]
0011005elea rsi, [rip-0xc934e]
00110065mov edx, 9
0011006acall [rax+24]
0011006dmov [rsp], rbx
00110071mov [rsp+8], al
00110075mov [rsp+9], 0
0011007alea rsi, [rip-0xc9361]
00110081lea r8, [rip+0xdb178]
00110088mov rbx, rsp
0011008bmov edx, 11
00110090mov rdi, rbx
00110093mov rcx, r14
00110096call core::fmt::builders::DebugStruct::field
0011009blea rsi, [rip-0xc9377]
001100a2lea r8, [rip+0xdb1d7]
001100a9lea rcx, [rsp+16]
001100aemov edx, 9
001100b3mov rdi, rbx
001100b6call core::fmt::builders::DebugStruct::field
001100bbcmp [rsp+9], 0
001100c0movzx eax, [rsp+8]
001100c5je 0x110104
001100c7test al, al
001100c9mov al, 1
001100cbjne 0x110104
001100cdmov rax, [rsp]
001100d1test [rax+52], 4
001100d5jne 0x1100ed
001100d7mov rdi, [rax+32]
001100dbmov rax, [rax+40]
001100dflea rsi, [rip-0x814ef]
001100e6mov edx, 2
001100ebjmp 0x110101
001100ed
001100edloc_1100ed:
001100edmov rdi, [rax+32]
001100f1mov rax, [rax+40]
001100f5lea rsi, [rip-0x815ea]
001100fcmov edx, 1
00110101
00110101loc_110101:
00110101call [rax+24]
00110104
00110104loc_110104:
00110104test al, al
00110106setne al
00110109add rsp, 24
0011010dpop rbx
0011010epop r14
00110110ret
00110040
00110040_<core::str::error::Utf8Error as core::fmt::Debug>::fmt:
00110040push r14
00110042push rbx
00110043sub rsp, 24
00110047mov rbx, rsi
0011004amov r14, rdi
0011004dlea rax, [rdi+8]
00110051mov [rsp+16], rax
00110056mov rdi, [rsi+32]
0011005amov rax, [rsi+40]
0011005elea rsi, [rip-0xc934e]
00110065mov edx, 9
0011006acall [rax+24]
0011006dmov [rsp], rbx
00110071mov [rsp+8], al
00110075mov [rsp+9], 0
0011007alea rsi, [rip-0xc9361]
00110081lea r8, [rip+0xdb178]
00110088mov rbx, rsp
0011008bmov edx, 11
00110090mov rdi, rbx
00110093mov rcx, r14
00110096call core::fmt::builders::DebugStruct::field
0011009blea rsi, [rip-0xc9377]
001100a2lea r8, [rip+0xdb1d7]
001100a9lea rcx, [rsp+16]
001100aemov edx, 9
001100b3mov rdi, rbx
001100b6call core::fmt::builders::DebugStruct::field
001100bbcmp [rsp+9], 0
001100c0movzx eax, [rsp+8]
001100c5je 0x110104
001100c7test al, al
001100c9mov al, 1
001100cbjne 0x110104
001100cdmov rax, [rsp]
001100d1test [rax+52], 4
001100d5jne 0x1100ed
001100d7mov rdi, [rax+32]
001100dbmov rax, [rax+40]
001100dflea rsi, [rip-0x814ef]
001100e6mov edx, 2
001100ebjmp 0x110101
001100ed
001100edloc_1100ed:
001100edmov rdi, [rax+32]
001100f1mov rax, [rax+40]
001100f5lea rsi, [rip-0x815ea]
001100fcmov edx, 1
00110101
00110101loc_110101:
00110101call [rax+24]
00110104
00110104loc_110104:
00110104test al, al
00110106setne al
00110109add rsp, 24
0011010dpop rbx
0011010epop r14
00110110ret
00110040
00110111
00110111 // align 0x10
00110111 // align 0x10
00110120
00110120_<&T as core::fmt::Debug>::fmt:
00110120push r14
00110122push rbx
00110123sub rsp, 40
00110127mov rbx, rsi
0011012amov rax, [rdi]
0011012dcmp [rax], 0
00110130je 0x1101e6
00110136inc rax
00110139mov [rsp+32], rax
0011013emov rdi, [rbx+32]
00110142mov rax, [rbx+40]
00110146lea rsi, [rip-0xd6169]
0011014dmov edx, 4
00110152call [rax+24]
00110155mov [rsp+16], rbx
0011015amov [rsp+24], al
0011015emov [rsp+8], 0
00110167mov [rsp+25], 0
0011016clea rdx, [rip+0xdabed]
00110173lea rdi, [rsp+8]
00110178lea rsi, [rsp+32]
0011017dcall core::fmt::builders::DebugTuple::field
00110182mov rax, [rsp+8]
00110187movzx ecx, [rsp+24]
0011018ctest rax, rax
0011018fje 0x110207
00110191mov bl, 1
00110193test cl, cl
00110195jne 0x110209
00110197mov r14, [rsp+16]
0011019ccmp rax, 1
001101a0jne 0x1101cb
001101a2cmp [rsp+25], 0
001101a7je 0x1101cb
001101a9test [r14+52], 4
001101aejne 0x1101cb
001101b0mov rdi, [r14+32]
001101b4mov rax, [r14+40]
001101b8lea rsi, [rip-0x8174d]
001101bfmov edx, 1
001101c4call [rax+24]
001101c7test al, al
001101c9jne 0x110209
001101cb
001101cbloc_1101cb:
001101cbmov rdi, [r14+32]
001101cfmov rax, [r14+40]
001101d3lea rsi, [rip-0x801a5]
001101damov edx, 1
001101dfcall [rax+24]
001101e2mov ebx, eax
001101e4jmp 0x110209
001101e6
001101e6loc_1101e6:
001101e6mov rdi, [rbx+32]
001101eamov rax, [rbx+40]
001101eemov rax, [rax+24]
001101f2lea rsi, [rip-0xd6219]
001101f9mov edx, 4
001101feadd rsp, 40
00110202pop rbx
00110203pop r14
00110205jmp rax
00110207
00110207loc_110207:
00110207mov ebx, ecx
00110209
00110209loc_110209:
00110209test bl, bl
0011020bsetne al
0011020eadd rsp, 40
00110212pop rbx
00110213pop r14
00110215ret
00110120
00110120_<&T as core::fmt::Debug>::fmt:
00110120push r14
00110122push rbx
00110123sub rsp, 40
00110127mov rbx, rsi
0011012amov rax, [rdi]
0011012dcmp [rax], 0
00110130je 0x1101e6
00110136inc rax
00110139mov [rsp+32], rax
0011013emov rdi, [rbx+32]
00110142mov rax, [rbx+40]
00110146lea rsi, [rip-0xd6169]
0011014dmov edx, 4
00110152call [rax+24]
00110155mov [rsp+16], rbx
0011015amov [rsp+24], al
0011015emov [rsp+8], 0
00110167mov [rsp+25], 0
0011016clea rdx, [rip+0xdabed]
00110173lea rdi, [rsp+8]
00110178lea rsi, [rsp+32]
0011017dcall core::fmt::builders::DebugTuple::field
00110182mov rax, [rsp+8]
00110187movzx ecx, [rsp+24]
0011018ctest rax, rax
0011018fje 0x110207
00110191mov bl, 1
00110193test cl, cl
00110195jne 0x110209
00110197mov r14, [rsp+16]
0011019ccmp rax, 1
001101a0jne 0x1101cb
001101a2cmp [rsp+25], 0
001101a7je 0x1101cb
001101a9test [r14+52], 4
001101aejne 0x1101cb
001101b0mov rdi, [r14+32]
001101b4mov rax, [r14+40]
001101b8lea rsi, [rip-0x8174d]
001101bfmov edx, 1
001101c4call [rax+24]
001101c7test al, al
001101c9jne 0x110209
001101cb
001101cbloc_1101cb:
001101cbmov rdi, [r14+32]
001101cfmov rax, [r14+40]
001101d3lea rsi, [rip-0x801a5]
001101damov edx, 1
001101dfcall [rax+24]
001101e2mov ebx, eax
001101e4jmp 0x110209
001101e6
001101e6loc_1101e6:
001101e6mov rdi, [rbx+32]
001101eamov rax, [rbx+40]
001101eemov rax, [rax+24]
001101f2lea rsi, [rip-0xd6219]
001101f9mov edx, 4
001101feadd rsp, 40
00110202pop rbx
00110203pop r14
00110205jmp rax
00110207
00110207loc_110207:
00110207mov ebx, ecx
00110209
00110209loc_110209:
00110209test bl, bl
0011020bsetne al
0011020eadd rsp, 40
00110212pop rbx
00110213pop r14
00110215ret
00110120
00110216
00110216 // align 0x10
00110216 // align 0x10
00110220
00110220core::unicode::unicode_data::cc::lookup:
00110220mov eax, edi
00110222shl eax, 11
00110225cmp eax, 0xffffffff88050000
0011022ajae 0x11023e
0011022ccmp edi, 32
0011022fsetb cl
00110232add edi, -127
00110235cmp edi, 33
00110238setb al
0011023bor al, cl
0011023dret
0011023e
0011023eloc_11023e:
0011023epush rax
0011023flea rdx, [rip+0xdaf2a]
00110246mov edi, 1
0011024bmov esi, 1
00110250call core::panicking::panic_bounds_check
00110255ud2
00110220
00110220core::unicode::unicode_data::cc::lookup:
00110220mov eax, edi
00110222shl eax, 11
00110225cmp eax, 0xffffffff88050000
0011022ajae 0x11023e
0011022ccmp edi, 32
0011022fsetb cl
00110232add edi, -127
00110235cmp edi, 33
00110238setb al
0011023bor al, cl
0011023dret
0011023e
0011023eloc_11023e:
0011023epush rax
0011023flea rdx, [rip+0xdaf2a]
00110246mov edi, 1
0011024bmov esi, 1
00110250call core::panicking::panic_bounds_check
00110255ud2
00110220
00110257
00110257 // align 0x10
00110257 // align 0x10
00110260
00110260_<core::alloc::layout::LayoutError as core::fmt::Debug>::fmt:
00110260mov rdi, [rsi+32]
00110264mov rax, [rsi+40]
00110268mov rax, [rax+24]
0011026clea rsi, [rip-0xc5603]
00110273mov edx, 11
00110278jmp rax
00110260
00110260_<core::alloc::layout::LayoutError as core::fmt::Debug>::fmt:
00110260mov rdi, [rsi+32]
00110264mov rax, [rsi+40]
00110268mov rax, [rax+24]
0011026clea rsi, [rip-0xc5603]
00110273mov edx, 11
00110278jmp rax
00110260
0011027a
0011027a // align 0x10
0011027a // align 0x10
00110288
00110288 // align 0x10
00110288 // align 0x10
00110290
00110290_<core::core_arch::x86::::m128i as core::fmt::Debug>::fmt:
00110290sub rsp, 24
00110294mov rax, rsi
00110297mov rcx, rdi
0011029alea rdx, [rdi+8]
0011029emov [rsp+16], rdx
001102a3lea rdx, [rip+0xdaff6]
001102aamov [rsp], rdx
001102aelea rsi, [rip-0xc563a]
001102b5lea r8, [rip+0xdaf64]
001102bclea r9, [rsp+16]
001102c1mov edx, 7
001102c6mov rdi, rax
001102c9call core::fmt::Formatter::debug_tuple_field2_finish
001102ceadd rsp, 24
001102d2ret
00110290
00110290_<core::core_arch::x86::::m128i as core::fmt::Debug>::fmt:
00110290sub rsp, 24
00110294mov rax, rsi
00110297mov rcx, rdi
0011029alea rdx, [rdi+8]
0011029emov [rsp+16], rdx
001102a3lea rdx, [rip+0xdaff6]
001102aamov [rsp], rdx
001102aelea rsi, [rip-0xc563a]
001102b5lea r8, [rip+0xdaf64]
001102bclea r9, [rsp+16]
001102c1mov edx, 7
001102c6mov rdi, rax
001102c9call core::fmt::Formatter::debug_tuple_field2_finish
001102ceadd rsp, 24
001102d2ret
00110290
001102d3
001102d3 // align 0x10
001102d3 // align 0x10
001102e0
001102e0_<core::core_arch::x86::::m256i as core::fmt::Debug>::fmt:
001102e0push r15
001102e2push r14
001102e4push r13
001102e6push r12
001102e8push rbx
001102e9sub rsp, 32
001102edmov r14, rsi
001102f0mov r15, rdi
001102f3lea r12, [rdi+8]
001102f7lea rbx, [rdi+16]
001102fblea rax, [rdi+24]
001102ffmov [rsp+24], rax
00110304mov rdi, [rsi+32]
00110308mov rax, [rsi+40]
0011030clea rsi, [rip-0xc5691]
00110313mov edx, 7
00110318call [rax+24]
0011031bmov [rsp+8], r14
00110320mov [rsp+16], al
00110324mov [rsp], 0
0011032cmov [rsp+17], 0
00110331lea r14, [rip+0xdaee8]
00110338mov r13, rsp
0011033bmov rdi, r13
0011033emov rsi, r15
00110341mov rdx, r14
00110344call core::fmt::builders::DebugTuple::field
00110349mov rdi, r13
0011034cmov rsi, r12
0011034fmov rdx, r14
00110352call core::fmt::builders::DebugTuple::field
00110357mov rdi, r13
0011035amov rsi, rbx
0011035dmov rdx, r14
00110360call core::fmt::builders::DebugTuple::field
00110365lea rdx, [rip+0xdaf34]
0011036clea rsi, [rsp+24]
00110371mov rdi, r13
00110374call core::fmt::builders::DebugTuple::field
00110379mov rax, [rsp]
0011037dmovzx ecx, [rsp+16]
00110382test rax, rax
00110385je 0x1103dc
00110387mov bl, 1
00110389test cl, cl
0011038bjne 0x1103de
0011038dmov r14, [rsp+8]
00110392cmp rax, 1
00110396jne 0x1103c1
00110398cmp [rsp+17], 0
0011039dje 0x1103c1
0011039ftest [r14+52], 4
001103a4jne 0x1103c1
001103a6mov rdi, [r14+32]
001103aamov rax, [r14+40]
001103aelea rsi, [rip-0x81943]
001103b5mov edx, 1
001103bacall [rax+24]
001103bdtest al, al
001103bfjne 0x1103de
001103c1
001103c1loc_1103c1:
001103c1mov rdi, [r14+32]
001103c5mov rax, [r14+40]
001103c9lea rsi, [rip-0x8039b]
001103d0mov edx, 1
001103d5call [rax+24]
001103d8mov ebx, eax
001103dajmp 0x1103de
001103dc
001103dcloc_1103dc:
001103dcmov ebx, ecx
001103de
001103deloc_1103de:
001103detest bl, bl
001103e0setne al
001103e3add rsp, 32
001103e7pop rbx
001103e8pop r12
001103eapop r13
001103ecpop r14
001103eepop r15
001103f0ret
001102e0
001102e0_<core::core_arch::x86::::m256i as core::fmt::Debug>::fmt:
001102e0push r15
001102e2push r14
001102e4push r13
001102e6push r12
001102e8push rbx
001102e9sub rsp, 32
001102edmov r14, rsi
001102f0mov r15, rdi
001102f3lea r12, [rdi+8]
001102f7lea rbx, [rdi+16]
001102fblea rax, [rdi+24]
001102ffmov [rsp+24], rax
00110304mov rdi, [rsi+32]
00110308mov rax, [rsi+40]
0011030clea rsi, [rip-0xc5691]
00110313mov edx, 7
00110318call [rax+24]
0011031bmov [rsp+8], r14
00110320mov [rsp+16], al
00110324mov [rsp], 0
0011032cmov [rsp+17], 0
00110331lea r14, [rip+0xdaee8]
00110338mov r13, rsp
0011033bmov rdi, r13
0011033emov rsi, r15
00110341mov rdx, r14
00110344call core::fmt::builders::DebugTuple::field
00110349mov rdi, r13
0011034cmov rsi, r12
0011034fmov rdx, r14
00110352call core::fmt::builders::DebugTuple::field
00110357mov rdi, r13
0011035amov rsi, rbx
0011035dmov rdx, r14
00110360call core::fmt::builders::DebugTuple::field
00110365lea rdx, [rip+0xdaf34]
0011036clea rsi, [rsp+24]
00110371mov rdi, r13
00110374call core::fmt::builders::DebugTuple::field
00110379mov rax, [rsp]
0011037dmovzx ecx, [rsp+16]
00110382test rax, rax
00110385je 0x1103dc
00110387mov bl, 1
00110389test cl, cl
0011038bjne 0x1103de
0011038dmov r14, [rsp+8]
00110392cmp rax, 1
00110396jne 0x1103c1
00110398cmp [rsp+17], 0
0011039dje 0x1103c1
0011039ftest [r14+52], 4
001103a4jne 0x1103c1
001103a6mov rdi, [r14+32]
001103aamov rax, [r14+40]
001103aelea rsi, [rip-0x81943]
001103b5mov edx, 1
001103bacall [rax+24]
001103bdtest al, al
001103bfjne 0x1103de
001103c1
001103c1loc_1103c1:
001103c1mov rdi, [r14+32]
001103c5mov rax, [r14+40]
001103c9lea rsi, [rip-0x8039b]
001103d0mov edx, 1
001103d5call [rax+24]
001103d8mov ebx, eax
001103dajmp 0x1103de
001103dc
001103dcloc_1103dc:
001103dcmov ebx, ecx
001103de
001103deloc_1103de:
001103detest bl, bl
001103e0setne al
001103e3add rsp, 32
001103e7pop rbx
001103e8pop r12
001103eapop r13
001103ecpop r14
001103eepop r15
001103f0ret
001102e0
001103f1
001103f1_<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut:
001103f1push rax
001103f2mov r9, rsi
001103f5sub r9, rdi
001103f8jb 0x11040a
001103facmp rsi, rcx
001103fdja 0x110414
001103ffadd rdx, rdi
00110402mov rax, rdx
00110405mov rdx, r9
00110408pop rcx
00110409ret
0011040a
0011040aloc_11040a:
0011040amov rdx, r8
0011040dcall core::slice::index::slice_index_order_fail
00110412ud2
00110414
00110414loc_110414:
00110414mov rdi, rsi
00110417mov rsi, rcx
0011041amov rdx, r8
0011041dcall core::slice::index::slice_end_index_len_fail
00110422ud2
001103f1
001103f1_<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut:
001103f1push rax
001103f2mov r9, rsi
001103f5sub r9, rdi
001103f8jb 0x11040a
001103facmp rsi, rcx
001103fdja 0x110414
001103ffadd rdx, rdi
00110402mov rax, rdx
00110405mov rdx, r9
00110408pop rcx
00110409ret
0011040a
0011040aloc_11040a:
0011040amov rdx, r8
0011040dcall core::slice::index::slice_index_order_fail
00110412ud2
00110414
00110414loc_110414:
00110414mov rdi, rsi
00110417mov rsi, rcx
0011041amov rdx, r8
0011041dcall core::slice::index::slice_end_index_len_fail
00110422ud2
001103f1
00110424
00110424crypto::cryptoutil::copy_memory:
00110424mov rax, rsi
00110427cmp rcx, rsi
0011042ajb 0x11043b
0011042cmov rsi, rdi
0011042fmov rdi, rdx
00110432mov rdx, rax
00110435jmp [rip+0x1016e5]
0011043b
0011043bloc_11043b:
0011043bpush rax
0011043clea rdi, [rip-0xc563c]
00110443lea rdx, [rip+0xdaf16]
0011044apush 40
0011044cpop rsi
0011044dcall core::panicking::panic
00110452ud2
00110424
00110424crypto::cryptoutil::copy_memory:
00110424mov rax, rsi
00110427cmp rcx, rsi
0011042ajb 0x11043b
0011042cmov rsi, rdi
0011042fmov rdi, rdx
00110432mov rdx, rax
00110435jmp [rip+0x1016e5]
0011043b
0011043bloc_11043b:
0011043bpush rax
0011043clea rdi, [rip-0xc563c]
00110443lea rdx, [rip+0xdaf16]
0011044apush 40
0011044cpop rsi
0011044dcall core::panicking::panic
00110452ud2
00110424
00110454
00110454core::array::_<impl core::ops::index::IndexMut<I> for [T; N]>::index_mut:
00110454mov r8, rdx
00110457mov rdx, rdi
0011045apush 16
0011045cpop rcx
0011045dxor edi, edi
0011045fjmp 0x1103f1
00110454
00110454core::array::_<impl core::ops::index::IndexMut<I> for [T; N]>::index_mut:
00110454mov r8, rdx
00110457mov rdx, rdi
0011045apush 16
0011045cpop rcx
0011045dxor edi, edi
0011045fjmp 0x1103f1
00110454
00110464
00110464core::array::_<impl core::ops::index::IndexMut<I> for [T; N]>::index_mut:
00110464mov r8, rdx
00110467mov rdx, rdi
0011046apush 32
0011046cpop rcx
0011046dxor edi, edi
0011046fjmp 0x1103f1
00110464
00110464core::array::_<impl core::ops::index::IndexMut<I> for [T; N]>::index_mut:
00110464mov r8, rdx
00110467mov rdx, rdi
0011046apush 32
0011046cpop rcx
0011046dxor edi, edi
0011046fjmp 0x1103f1
00110464
00110474
00110474crypto::cryptoutil::write_u32v_le:
00110474cmp rsi, 16
00110478jne 0x11048e
0011047axor eax, eax
0011047c
0011047cloc_11047c:
0011047ccmp rax, 4
00110480je 0x11048d
00110482mov ecx, [rdx+4*rax]
00110485mov [rdi+4*rax], ecx
00110488inc rax
0011048bjmp 0x11047c
0011048d
0011048dloc_11048d:
0011048dret
0011048e
0011048eloc_11048e:
0011048epush rax
0011048flea rdi, [rip-0xc56df]
00110496lea rdx, [rip+0xdae93]
0011049dpush 46
0011049fpop rsi
001104a0call core::panicking::panic
001104a5ud2
00110474
00110474crypto::cryptoutil::write_u32v_le:
00110474cmp rsi, 16
00110478jne 0x11048e
0011047axor eax, eax
0011047c
0011047cloc_11047c:
0011047ccmp rax, 4
00110480je 0x11048d
00110482mov ecx, [rdx+4*rax]
00110485mov [rdi+4*rax], ecx
00110488inc rax
0011048bjmp 0x11047c
0011048d
0011048dloc_11048d:
0011048dret
0011048e
0011048eloc_11048e:
0011048epush rax
0011048flea rdi, [rip-0xc56df]
00110496lea rdx, [rip+0xdae93]
0011049dpush 46
0011049fpop rsi
001104a0call core::panicking::panic
001104a5ud2
00110474
001104a7
001104a7_<crypto::buffer::RefReadBuffer as crypto::buffer::ReadBuffer>::take_next:
001104a7push r14
001104a9push rbx
001104aapush rax
001104abmov rbx, rsi
001104aemov r14, rdi
001104b1mov rdx, [rdi]
001104b4mov rcx, [rdi+8]
001104b8mov rdi, [rdi+16]
001104bcadd rbx, rdi
001104bflea r8, [rip+0xdae22]
001104c6mov rsi, rbx
001104c9call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index
001104cemov [r14+16], rbx
001104d2add rsp, 8
001104d6pop rbx
001104d7pop r14
001104d9ret
001104a7
001104a7_<crypto::buffer::RefReadBuffer as crypto::buffer::ReadBuffer>::take_next:
001104a7push r14
001104a9push rbx
001104aapush rax
001104abmov rbx, rsi
001104aemov r14, rdi
001104b1mov rdx, [rdi]
001104b4mov rcx, [rdi+8]
001104b8mov rdi, [rdi+16]
001104bcadd rbx, rdi
001104bflea r8, [rip+0xdae22]
001104c6mov rsi, rbx
001104c9call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index
001104cemov [r14+16], rbx
001104d2add rsp, 8
001104d6pop rbx
001104d7pop r14
001104d9ret
001104a7
001104da
001104dacore::array::_<impl core::ops::index::Index<I> for [T; N]>::index:
001104damov r8, rcx
001104ddmov rax, rdi
001104e0push 16
001104e2pop rcx
001104e3mov rdi, rsi
001104e6mov rsi, rdx
001104e9mov rdx, rax
001104ecjmp 0x128f5e
001104da
001104dacore::array::_<impl core::ops::index::Index<I> for [T; N]>::index:
001104damov r8, rcx
001104ddmov rax, rdi
001104e0push 16
001104e2pop rcx
001104e3mov rdi, rsi
001104e6mov rsi, rdx
001104e9mov rdx, rax
001104ecjmp 0x128f5e
001104da
001104f1
001104f1crypto::cryptoutil::read_u32_le:
001104f1cmp rsi, 4
001104f5jne 0x1104fa
001104f7mov eax, [rdi]
001104f9ret
001104fa
001104faloc_1104fa:
001104fapush rax
001104fblea rdi, [rip-0xc571d]
00110502lea rdx, [rip+0xdae3f]
00110509push 34
0011050bpop rsi
0011050ccall core::panicking::panic
00110511ud2
001104f1
001104f1crypto::cryptoutil::read_u32_le:
001104f1cmp rsi, 4
001104f5jne 0x1104fa
001104f7mov eax, [rdi]
001104f9ret
001104fa
001104faloc_1104fa:
001104fapush rax
001104fblea rdi, [rip-0xc571d]
00110502lea rdx, [rip+0xdae3f]
00110509push 34
0011050bpop rsi
0011050ccall core::panicking::panic
00110511ud2
001104f1
00110513
00110513core::array::_<impl core::ops::index::IndexMut<I> for [T; N]>::index_mut:
00110513mov r8, rcx
00110516mov rax, rdi
00110519push 80
0011051bpop rcx
0011051cmov rdi, rsi
0011051fmov rsi, rdx
00110522mov rdx, rax
00110525jmp 0x1103f1
00110513
00110513core::array::_<impl core::ops::index::IndexMut<I> for [T; N]>::index_mut:
00110513mov r8, rcx
00110516mov rax, rdi
00110519push 80
0011051bpop rcx
0011051cmov rdi, rsi
0011051fmov rsi, rdx
00110522mov rdx, rax
00110525jmp 0x1103f1
00110513
0011052a
0011052acore::array::_<impl core::ops::index::Index<I> for [T; N]>::index:
0011052amov r8, rcx
0011052dmov rax, rdi
00110530push 32
00110532pop rcx
00110533mov rdi, rsi
00110536mov rsi, rdx
00110539mov rdx, rax
0011053cjmp 0x128f5e
0011052a
0011052acore::array::_<impl core::ops::index::Index<I> for [T; N]>::index:
0011052amov r8, rcx
0011052dmov rax, rdi
00110530push 32
00110532pop rcx
00110533mov rdi, rsi
00110536mov rsi, rdx
00110539mov rdx, rax
0011053cjmp 0x128f5e
0011052a
00110541
00110541_<[Z; 32] as zeroize::Zeroize>::zeroize:
00110541xor eax, eax
00110543
00110543loc_110543:
00110543cmp rax, 32
00110547je 0x110552
00110549mov [rdi+rax], 0
0011054dinc rax
00110550jmp 0x110543
00110552
00110552loc_110552:
00110552ret
00110541
00110541_<[Z; 32] as zeroize::Zeroize>::zeroize:
00110541xor eax, eax
00110543
00110543loc_110543:
00110543cmp rax, 32
00110547je 0x110552
00110549mov [rdi+rax], 0
0011054dinc rax
00110550jmp 0x110543
00110552
00110552loc_110552:
00110552ret
00110541
00110553
00110553_<curve25519_dalek::scalar::Scalar as core::ops::index::Index<usize>>::index:
00110553cmp rsi, 31
00110557ja 0x110560
00110559add rdi, rsi
0011055cmov rax, rdi
0011055fret
00110560
00110560loc_110560:
00110560push rax
00110561push 32
00110563pop rax
00110564mov rdi, rsi
00110567mov rsi, rax
0011056acall core::panicking::panic_bounds_check
0011056fud2
00110553
00110553_<curve25519_dalek::scalar::Scalar as core::ops::index::Index<usize>>::index:
00110553cmp rsi, 31
00110557ja 0x110560
00110559add rdi, rsi
0011055cmov rax, rdi
0011055fret
00110560
00110560loc_110560:
00110560push rax
00110561push 32
00110563pop rax
00110564mov rdi, rsi
00110567mov rsi, rax
0011056acall core::panicking::panic_bounds_check
0011056fud2
00110553
00110571
00110571curve25519_dalek::backend::serial::u64::field::FieldElement51::as_bytes:
00110571push rbp
00110572push r15
00110574push r14
00110576push r13
00110578push r12
0011057apush rbx
0011057bmov [rsp-32], rdi
00110580mov rax, [rsi]
00110583mov r9, [rsi+8]
00110587mov r8, [rsi+16]
0011058bmov rdx, [rsi+24]
0011058fmov rcx, [rsi+32]
00110593mov rsi, rax
00110596shr rsi, 51
0011059amov rdi, r9
0011059dshr rdi, 51
001105a1mov r10, r8
001105a4shr r10, 51
001105a8mov r11, rdx
001105abshr r11, 51
001105afmov rbx, rcx
001105b2shr rbx, 51
001105b6mov r14, 0x7ffffffffffff
001105c0and rax, r14
001105c3and r9, r14
001105c6add r9, rsi
001105c9and r8, r14
001105ccadd r8, rdi
001105cfand rdx, r14
001105d2add rdx, r10
001105d5and rcx, r14
001105d8add rcx, r11
001105dbimul rsi, rbx, 19
001105dflea r10, [rsi+rax]
001105e3add rax, rsi
001105e6add rax, 19
001105eashr rax, 51
001105eeadd rax, r9
001105f1shr rax, 51
001105f5add rax, r8
001105f8shr rax, 51
001105fcadd rax, rdx
001105ffshr rax, 51
00110603add rax, rcx
00110606shr rax, 51
0011060aimul r11, rax, 19
0011060eadd r11, r10
00110611mov rsi, r11
00110614mov r10, r11
00110617shr r10, 51
0011061badd r10, r9
0011061emov rax, r10
00110621shr rax, 51
00110625add rax, r8
00110628mov r13, rax
0011062bshr r13, 51
0011062fadd r13, rdx
00110632mov r15, r13
00110635shr r15, 51
00110639add r15, rcx
0011063cshr rsi, 48
00110640and esi, 7
00110643lea ecx, [rsi+8*r10]
00110647mov [rsp-64], ecx
0011064bmov [rsp-68], r10l
00110650mov [rsp-52], r10l
00110655mov [rsp-56], r10l
0011065amov [rsp-40], r10
0011065fmov [rsp-48], r10
00110664shr r10, 45
00110668and r10l, 63
0011066cmov ebx, eax
0011066eshl ebx, 6
00110671or ebx, r10l
00110674mov [rsp-60], eax
00110678mov [rsp-72], eax
0011067cmov r14l, eax
0011067fmov r9, rax
00110682mov r8, rax
00110685mov r10, rax
00110688shr rax, 50
0011068cand eax, 1
0011068flea ebp, [rax+2*r13]
00110693mov edi, r13l
00110696mov esi, r13l
00110699mov edx, r13l
0011069cmov rax, r13
0011069fmov r12, r13
001106a2shr r13, 47
001106a6and r13l, 15
001106aamov ecx, r15l
001106adshl ecx, 4
001106b0or ecx, r13l
001106b3shr rax, 31
001106b7movd x11, eax
001106bcshr edx, 23
001106bfmovd x3, edx
001106c3shr esi, 15
001106c6movd x4, esi
001106cashr edi, 7
001106cdmovd x1, edi
001106d1shr r8, 34
001106d5movd x5, r8l
001106dashr r9, 26
001106demovd x0, r9l
001106e3movd x2, ebp
001106e7movdqa [rsp-24], x2
001106edshr r10, 42
001106f1movd x7, r10l
001106f6mov rax, r15
001106f9shr rax, 28
001106fdmovd x12, eax
00110702mov eax, r15l
00110705shr eax, 20
00110708movd x2, eax
0011070cmov rax, r15
0011070fshr rax, 36
00110713movd x8, eax
00110718mov eax, r15l
0011071bmov edx, r15l
0011071eshr r15, 44
00110722and r15l, 127
00110726movd x15, r15l
0011072bshr edx, 12
0011072emovd x13, edx
00110733shr eax, 4
00110736movd x10, eax
0011073bmovd x14, ecx
00110740shr r12, 39
00110744movd x9, r12l
00110749mov eax, r11l
0011074cshr eax, 24
0011074fpunpcklbw x3, x11
00110754movd x11, eax
00110759mov eax, r11l
0011075cshr eax, 16
0011075fpunpcklbw x1, x4
00110763movd x4, eax
00110767mov eax, r11l
0011076ashr eax, 8
0011076dpunpcklwd x1, x3
00110771movd x6, eax
00110775mov rax, r11
00110778shr rax, 40
0011077cpunpcklbw x0, x5
00110780movd x5, eax
00110784punpcklbw x7, [rsp-24]
0011078amovd x3, r11l
0011078fshr r11, 32
00110793punpcklwd x0, x7
00110797movd x7, r11l
0011079cpunpckldq x0, x1
001107a0movd x1, [rsp-64]
001107a6mov eax, [rsp-68]
001107aashr eax, 5
001107adpunpcklbw x2, x12
001107b2movd x12, eax
001107b7mov rax, [rsp-48]
001107bcshr rax, 37
001107c0punpcklbw x8, x15
001107c5movd x15, eax
001107camov rax, [rsp-40]
001107cfshr rax, 29
001107d3punpcklwd x2, x8
001107d8movd x8, eax
001107ddmov eax, [rsp-56]
001107e1shr eax, 21
001107e4punpcklbw x10, x13
001107e9movd x13, eax
001107eemov eax, [rsp-52]
001107f2shr eax, 13
001107f5punpcklbw x9, x14
001107famovd x14, eax
001107ffshr r14l, 18
00110803punpcklwd x9, x10
00110808movd x10, r14l
0011080dmov eax, [rsp-72]
00110811shr eax, 10
00110814punpckldq x9, x2
00110819movd x2, eax
0011081dpunpcklqdq x0, x9
00110822movd x9, ebx
00110827mov eax, [rsp-60]
0011082bshr eax, 2
0011082epunpcklbw x4, x11
00110833movd x11, eax
00110838punpcklbw x3, x6
0011083cpunpcklwd x3, x4
00110840punpcklbw x7, x5
00110844punpcklbw x1, x12
00110849punpcklwd x7, x1
0011084dpunpckldq x3, x7
00110851punpcklbw x8, x15
00110856punpcklbw x14, x13
0011085bpunpcklwd x14, x8
00110860punpcklbw x2, x10
00110865punpcklbw x9, x11
0011086apunpcklwd x9, x2
0011086fpunpckldq x14, x9
00110874punpcklqdq x3, x14
00110879mov rax, [rsp-32]
0011087emovdqu [rax], x3
00110882movdqu [rax+16], x0
00110887pop rbx
00110888pop r12
0011088apop r13
0011088cpop r14
0011088epop r15
00110890pop rbp
00110891ret
00110571
00110571curve25519_dalek::backend::serial::u64::field::FieldElement51::as_bytes:
00110571push rbp
00110572push r15
00110574push r14
00110576push r13
00110578push r12
0011057apush rbx
0011057bmov [rsp-32], rdi
00110580mov rax, [rsi]
00110583mov r9, [rsi+8]
00110587mov r8, [rsi+16]
0011058bmov rdx, [rsi+24]
0011058fmov rcx, [rsi+32]
00110593mov rsi, rax
00110596shr rsi, 51
0011059amov rdi, r9
0011059dshr rdi, 51
001105a1mov r10, r8
001105a4shr r10, 51
001105a8mov r11, rdx
001105abshr r11, 51
001105afmov rbx, rcx
001105b2shr rbx, 51
001105b6mov r14, 0x7ffffffffffff
001105c0and rax, r14
001105c3and r9, r14
001105c6add r9, rsi
001105c9and r8, r14
001105ccadd r8, rdi
001105cfand rdx, r14
001105d2add rdx, r10
001105d5and rcx, r14
001105d8add rcx, r11
001105dbimul rsi, rbx, 19
001105dflea r10, [rsi+rax]
001105e3add rax, rsi
001105e6add rax, 19
001105eashr rax, 51
001105eeadd rax, r9
001105f1shr rax, 51
001105f5add rax, r8
001105f8shr rax, 51
001105fcadd rax, rdx
001105ffshr rax, 51
00110603add rax, rcx
00110606shr rax, 51
0011060aimul r11, rax, 19
0011060eadd r11, r10
00110611mov rsi, r11
00110614mov r10, r11
00110617shr r10, 51
0011061badd r10, r9
0011061emov rax, r10
00110621shr rax, 51
00110625add rax, r8
00110628mov r13, rax
0011062bshr r13, 51
0011062fadd r13, rdx
00110632mov r15, r13
00110635shr r15, 51
00110639add r15, rcx
0011063cshr rsi, 48
00110640and esi, 7
00110643lea ecx, [rsi+8*r10]
00110647mov [rsp-64], ecx
0011064bmov [rsp-68], r10l
00110650mov [rsp-52], r10l
00110655mov [rsp-56], r10l
0011065amov [rsp-40], r10
0011065fmov [rsp-48], r10
00110664shr r10, 45
00110668and r10l, 63
0011066cmov ebx, eax
0011066eshl ebx, 6
00110671or ebx, r10l
00110674mov [rsp-60], eax
00110678mov [rsp-72], eax
0011067cmov r14l, eax
0011067fmov r9, rax
00110682mov r8, rax
00110685mov r10, rax
00110688shr rax, 50
0011068cand eax, 1
0011068flea ebp, [rax+2*r13]
00110693mov edi, r13l
00110696mov esi, r13l
00110699mov edx, r13l
0011069cmov rax, r13
0011069fmov r12, r13
001106a2shr r13, 47
001106a6and r13l, 15
001106aamov ecx, r15l
001106adshl ecx, 4
001106b0or ecx, r13l
001106b3shr rax, 31
001106b7movd x11, eax
001106bcshr edx, 23
001106bfmovd x3, edx
001106c3shr esi, 15
001106c6movd x4, esi
001106cashr edi, 7
001106cdmovd x1, edi
001106d1shr r8, 34
001106d5movd x5, r8l
001106dashr r9, 26
001106demovd x0, r9l
001106e3movd x2, ebp
001106e7movdqa [rsp-24], x2
001106edshr r10, 42
001106f1movd x7, r10l
001106f6mov rax, r15
001106f9shr rax, 28
001106fdmovd x12, eax
00110702mov eax, r15l
00110705shr eax, 20
00110708movd x2, eax
0011070cmov rax, r15
0011070fshr rax, 36
00110713movd x8, eax
00110718mov eax, r15l
0011071bmov edx, r15l
0011071eshr r15, 44
00110722and r15l, 127
00110726movd x15, r15l
0011072bshr edx, 12
0011072emovd x13, edx
00110733shr eax, 4
00110736movd x10, eax
0011073bmovd x14, ecx
00110740shr r12, 39
00110744movd x9, r12l
00110749mov eax, r11l
0011074cshr eax, 24
0011074fpunpcklbw x3, x11
00110754movd x11, eax
00110759mov eax, r11l
0011075cshr eax, 16
0011075fpunpcklbw x1, x4
00110763movd x4, eax
00110767mov eax, r11l
0011076ashr eax, 8
0011076dpunpcklwd x1, x3
00110771movd x6, eax
00110775mov rax, r11
00110778shr rax, 40
0011077cpunpcklbw x0, x5
00110780movd x5, eax
00110784punpcklbw x7, [rsp-24]
0011078amovd x3, r11l
0011078fshr r11, 32
00110793punpcklwd x0, x7
00110797movd x7, r11l
0011079cpunpckldq x0, x1
001107a0movd x1, [rsp-64]
001107a6mov eax, [rsp-68]
001107aashr eax, 5
001107adpunpcklbw x2, x12
001107b2movd x12, eax
001107b7mov rax, [rsp-48]
001107bcshr rax, 37
001107c0punpcklbw x8, x15
001107c5movd x15, eax
001107camov rax, [rsp-40]
001107cfshr rax, 29
001107d3punpcklwd x2, x8
001107d8movd x8, eax
001107ddmov eax, [rsp-56]
001107e1shr eax, 21
001107e4punpcklbw x10, x13
001107e9movd x13, eax
001107eemov eax, [rsp-52]
001107f2shr eax, 13
001107f5punpcklbw x9, x14
001107famovd x14, eax
001107ffshr r14l, 18
00110803punpcklwd x9, x10
00110808movd x10, r14l
0011080dmov eax, [rsp-72]
00110811shr eax, 10
00110814punpckldq x9, x2
00110819movd x2, eax
0011081dpunpcklqdq x0, x9
00110822movd x9, ebx
00110827mov eax, [rsp-60]
0011082bshr eax, 2
0011082epunpcklbw x4, x11
00110833movd x11, eax
00110838punpcklbw x3, x6
0011083cpunpcklwd x3, x4
00110840punpcklbw x7, x5
00110844punpcklbw x1, x12
00110849punpcklwd x7, x1
0011084dpunpckldq x3, x7
00110851punpcklbw x8, x15
00110856punpcklbw x14, x13
0011085bpunpcklwd x14, x8
00110860punpcklbw x2, x10
00110865punpcklbw x9, x11
0011086apunpcklwd x9, x2
0011086fpunpckldq x14, x9
00110874punpcklqdq x3, x14
00110879mov rax, [rsp-32]
0011087emovdqu [rax], x3
00110882movdqu [rax+16], x0
00110887pop rbx
00110888pop r12
0011088apop r13
0011088cpop r14
0011088epop r15
00110890pop rbp
00110891ret
00110571
00110892
00110892_<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Add<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::add:
00110892mov rax, [rsi+32]
00110896mov [rsp-8], rax
0011089bmovups x0, [rsi]
0011089emovups x1, [rsi+16]
001108a2movaps [rsp-24], x1
001108a7movaps [rsp-40], x0
001108acxor eax, eax
001108ae
001108aeloc_1108ae:
001108aecmp rax, 5
001108b2je 0x1108c2
001108b4mov rcx, [rdx+8*rax]
001108b8add [rsp+8*rax-40], rcx
001108bdinc rax
001108c0jmp 0x1108ae
001108c2
001108c2loc_1108c2:
001108c2mov rax, [rsp-8]
001108c7mov [rdi+32], rax
001108cbmovaps x0, [rsp-40]
001108d0movaps x1, [rsp-24]
001108d5movups [rdi+16], x1
001108d9movups [rdi], x0
001108dcret
00110892
00110892_<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Add<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::add:
00110892mov rax, [rsi+32]
00110896mov [rsp-8], rax
0011089bmovups x0, [rsi]
0011089emovups x1, [rsi+16]
001108a2movaps [rsp-24], x1
001108a7movaps [rsp-40], x0
001108acxor eax, eax
001108ae
001108aeloc_1108ae:
001108aecmp rax, 5
001108b2je 0x1108c2
001108b4mov rcx, [rdx+8*rax]
001108b8add [rsp+8*rax-40], rcx
001108bdinc rax
001108c0jmp 0x1108ae
001108c2
001108c2loc_1108c2:
001108c2mov rax, [rsp-8]
001108c7mov [rdi+32], rax
001108cbmovaps x0, [rsp-40]
001108d0movaps x1, [rsp-24]
001108d5movups [rdi+16], x1
001108d9movups [rdi], x0
001108dcret
00110892
001108dd
001108dd_<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Sub<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::sub:
001108ddpush r15
001108dfpush r14
001108e1push rbx
001108e2mov rax, 0x7ffffffffffff0
001108ecmov rcx, [rsi]
001108efadd rcx, rax
001108f2sub rcx, [rdx]
001108f5mov r8, [rsi+8]
001108f9add r8, rax
001108fcsub r8, [rdx+8]
00110900mov r9, [rsi+16]
00110904add r9, rax
00110907sub r9, [rdx+16]
0011090bmov r10, [rsi+24]
0011090fadd r10, rax
00110912sub r10, [rdx+24]
00110916add rax, [rsi+32]
0011091asub rax, [rdx+32]
0011091eadd rcx, -288
00110925mov rdx, rcx
00110928shr rdx, 51
0011092cmov rsi, r8
0011092fshr rsi, 51
00110933mov r11, r9
00110936shr r11, 51
0011093amov rbx, r10
0011093dshr rbx, 51
00110941mov r14, rax
00110944shr r14, 51
00110948mov r15, 0x7ffffffffffff
00110952and rcx, r15
00110955and r8, r15
00110958add r8, rdx
0011095band r9, r15
0011095eadd r9, rsi
00110961and r10, r15
00110964add r10, r11
00110967and rax, r15
0011096aadd rax, rbx
0011096dimul rdx, r14, 19
00110971add rdx, rcx
00110974mov [rdi], rdx
00110977mov [rdi+8], r8
0011097bmov [rdi+16], r9
0011097fmov [rdi+24], r10
00110983mov [rdi+32], rax
00110987pop rbx
00110988pop r14
0011098apop r15
0011098cret
001108dd
001108dd_<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Sub<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::sub:
001108ddpush r15
001108dfpush r14
001108e1push rbx
001108e2mov rax, 0x7ffffffffffff0
001108ecmov rcx, [rsi]
001108efadd rcx, rax
001108f2sub rcx, [rdx]
001108f5mov r8, [rsi+8]
001108f9add r8, rax
001108fcsub r8, [rdx+8]
00110900mov r9, [rsi+16]
00110904add r9, rax
00110907sub r9, [rdx+16]
0011090bmov r10, [rsi+24]
0011090fadd r10, rax
00110912sub r10, [rdx+24]
00110916add rax, [rsi+32]
0011091asub rax, [rdx+32]
0011091eadd rcx, -288
00110925mov rdx, rcx
00110928shr rdx, 51
0011092cmov rsi, r8
0011092fshr rsi, 51
00110933mov r11, r9
00110936shr r11, 51
0011093amov rbx, r10
0011093dshr rbx, 51
00110941mov r14, rax
00110944shr r14, 51
00110948mov r15, 0x7ffffffffffff
00110952and rcx, r15
00110955and r8, r15
00110958add r8, rdx
0011095band r9, r15
0011095eadd r9, rsi
00110961and r10, r15
00110964add r10, r11
00110967and rax, r15
0011096aadd rax, rbx
0011096dimul rdx, r14, 19
00110971add rdx, rcx
00110974mov [rdi], rdx
00110977mov [rdi+8], r8
0011097bmov [rdi+16], r9
0011097fmov [rdi+24], r10
00110983mov [rdi+32], rax
00110987pop rbx
00110988pop r14
0011098apop r15
0011098cret
001108dd
0011098d
0011098dcurve25519_dalek::field::_<impl curve25519_dalek::backend::serial::u64::field::FieldElement51>::invert:
0011098dpush rbp
0011098epush r15
00110990push r14
00110992push r13
00110994push r12
00110996push rbx
00110997sub rsp, 872
0011099emov r14, rsi
001109a1mov [rsp+8], rdi
001109a6lea r15, [rsp+192]
001109aemov rdi, r15
001109b1call curve25519_dalek::backend::serial::u64::field::FieldElement51::square
001109b6lea r12, [rsp+112]
001109bbmov rdi, r12
001109bemov rsi, r15
001109c1call curve25519_dalek::backend::serial::u64::field::FieldElement51::square
001109c6lea r13, [rsp+232]
001109cemov rdi, r13
001109d1mov rsi, r12
001109d4call curve25519_dalek::backend::serial::u64::field::FieldElement51::square
001109d9lea r12, [rsp+272]
001109e1mov rdi, r12
001109e4mov rsi, r14
001109e7mov rdx, r13
001109eacall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
001109eflea r14, [rsp+312]
001109f7mov rdi, r14
001109famov rsi, r15
001109fdmov rdx, r12
00110a00call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110a05lea r15, [rsp+352]
00110a0dmov rdi, r15
00110a10mov rsi, r14
00110a13call curve25519_dalek::backend::serial::u64::field::FieldElement51::square
00110a18lea r13, [rsp+392]
00110a20mov rdi, r13
00110a23mov rsi, r12
00110a26mov rdx, r15
00110a29call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110a2elea r12, [rsp+432]
00110a36push 5
00110a38pop rdx
00110a39mov rdi, r12
00110a3cmov rsi, r13
00110a3fcall curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110a44lea r15, [rsp+472]
00110a4cmov rdi, r15
00110a4fmov rsi, r12
00110a52mov rdx, r13
00110a55call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110a5alea r13, [rsp+512]
00110a62push 10
00110a64pop r12
00110a66mov rdi, r13
00110a69mov rsi, r15
00110a6cmov edx, r12l
00110a6fcall curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110a74lea rbx, [rsp+552]
00110a7cmov rdi, rbx
00110a7fmov rsi, r13
00110a82mov rdx, r15
00110a85call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110a8alea r13, [rsp+592]
00110a92push 20
00110a94pop rdx
00110a95mov rdi, r13
00110a98mov rsi, rbx
00110a9bcall curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110aa0lea rbp, [rsp+632]
00110aa8mov rdi, rbp
00110aabmov rsi, r13
00110aaemov rdx, rbx
00110ab1call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110ab6lea rbx, [rsp+672]
00110abemov rdi, rbx
00110ac1mov rsi, rbp
00110ac4mov edx, r12l
00110ac7call curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110acclea r12, [rsp+712]
00110ad4mov rdi, r12
00110ad7mov rsi, rbx
00110adamov rdx, r15
00110addcall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110ae2lea rbx, [rsp+752]
00110aeapush 50
00110aecpop r15
00110aeemov rdi, rbx
00110af1mov rsi, r12
00110af4mov edx, r15l
00110af7call curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110afclea rbp, [rsp+792]
00110b04mov rdi, rbp
00110b07mov rsi, rbx
00110b0amov rdx, r12
00110b0dcall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110b12lea rbx, [rsp+832]
00110b1apush 100
00110b1cpop rdx
00110b1dmov rdi, rbx
00110b20mov rsi, rbp
00110b23call curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110b28lea r13, [rsp+16]
00110b2dmov rdi, r13
00110b30mov rsi, rbx
00110b33mov rdx, rbp
00110b36call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110b3blea rbx, [rsp+64]
00110b40mov rdi, rbx
00110b43mov rsi, r13
00110b46mov edx, r15l
00110b49call curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110b4elea r15, [rsp+112]
00110b53mov rdi, r15
00110b56mov rsi, rbx
00110b59mov rdx, r12
00110b5ccall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110b61mov rax, [r14+32]
00110b65mov [r15+72], rax
00110b69movups x0, [r14]
00110b6dmovups x1, [r14+16]
00110b72movups [r15+56], x1
00110b77movups [r15+40], x0
00110b7cmov rax, [r15+32]
00110b80mov [r13+32], rax
00110b84movups x0, [r15]
00110b88movups x1, [r15+16]
00110b8dmovaps [r13+16], x1
00110b92movaps [r13], x0
00110b97mov rax, [r15+72]
00110b9bmov [rbx+32], rax
00110b9fmovups x0, [r15+40]
00110ba4movups x1, [r15+56]
00110ba9movaps [rbx+16], x1
00110badmovaps [rbx], x0
00110bb0lea rbx, [rsp+112]
00110bb5lea rsi, [rsp+16]
00110bbamov rdi, rbx
00110bbdpush 5
00110bbfpop rdx
00110bc0call curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110bc5lea rdx, [rsp+64]
00110bcamov rdi, [rsp+8]
00110bcfmov rsi, rbx
00110bd2call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110bd7add rsp, 872
00110bdepop rbx
00110bdfpop r12
00110be1pop r13
00110be3pop r14
00110be5pop r15
00110be7pop rbp
00110be8ret
0011098d
0011098dcurve25519_dalek::field::_<impl curve25519_dalek::backend::serial::u64::field::FieldElement51>::invert:
0011098dpush rbp
0011098epush r15
00110990push r14
00110992push r13
00110994push r12
00110996push rbx
00110997sub rsp, 872
0011099emov r14, rsi
001109a1mov [rsp+8], rdi
001109a6lea r15, [rsp+192]
001109aemov rdi, r15
001109b1call curve25519_dalek::backend::serial::u64::field::FieldElement51::square
001109b6lea r12, [rsp+112]
001109bbmov rdi, r12
001109bemov rsi, r15
001109c1call curve25519_dalek::backend::serial::u64::field::FieldElement51::square
001109c6lea r13, [rsp+232]
001109cemov rdi, r13
001109d1mov rsi, r12
001109d4call curve25519_dalek::backend::serial::u64::field::FieldElement51::square
001109d9lea r12, [rsp+272]
001109e1mov rdi, r12
001109e4mov rsi, r14
001109e7mov rdx, r13
001109eacall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
001109eflea r14, [rsp+312]
001109f7mov rdi, r14
001109famov rsi, r15
001109fdmov rdx, r12
00110a00call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110a05lea r15, [rsp+352]
00110a0dmov rdi, r15
00110a10mov rsi, r14
00110a13call curve25519_dalek::backend::serial::u64::field::FieldElement51::square
00110a18lea r13, [rsp+392]
00110a20mov rdi, r13
00110a23mov rsi, r12
00110a26mov rdx, r15
00110a29call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110a2elea r12, [rsp+432]
00110a36push 5
00110a38pop rdx
00110a39mov rdi, r12
00110a3cmov rsi, r13
00110a3fcall curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110a44lea r15, [rsp+472]
00110a4cmov rdi, r15
00110a4fmov rsi, r12
00110a52mov rdx, r13
00110a55call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110a5alea r13, [rsp+512]
00110a62push 10
00110a64pop r12
00110a66mov rdi, r13
00110a69mov rsi, r15
00110a6cmov edx, r12l
00110a6fcall curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110a74lea rbx, [rsp+552]
00110a7cmov rdi, rbx
00110a7fmov rsi, r13
00110a82mov rdx, r15
00110a85call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110a8alea r13, [rsp+592]
00110a92push 20
00110a94pop rdx
00110a95mov rdi, r13
00110a98mov rsi, rbx
00110a9bcall curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110aa0lea rbp, [rsp+632]
00110aa8mov rdi, rbp
00110aabmov rsi, r13
00110aaemov rdx, rbx
00110ab1call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110ab6lea rbx, [rsp+672]
00110abemov rdi, rbx
00110ac1mov rsi, rbp
00110ac4mov edx, r12l
00110ac7call curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110acclea r12, [rsp+712]
00110ad4mov rdi, r12
00110ad7mov rsi, rbx
00110adamov rdx, r15
00110addcall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110ae2lea rbx, [rsp+752]
00110aeapush 50
00110aecpop r15
00110aeemov rdi, rbx
00110af1mov rsi, r12
00110af4mov edx, r15l
00110af7call curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110afclea rbp, [rsp+792]
00110b04mov rdi, rbp
00110b07mov rsi, rbx
00110b0amov rdx, r12
00110b0dcall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110b12lea rbx, [rsp+832]
00110b1apush 100
00110b1cpop rdx
00110b1dmov rdi, rbx
00110b20mov rsi, rbp
00110b23call curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110b28lea r13, [rsp+16]
00110b2dmov rdi, r13
00110b30mov rsi, rbx
00110b33mov rdx, rbp
00110b36call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110b3blea rbx, [rsp+64]
00110b40mov rdi, rbx
00110b43mov rsi, r13
00110b46mov edx, r15l
00110b49call curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110b4elea r15, [rsp+112]
00110b53mov rdi, r15
00110b56mov rsi, rbx
00110b59mov rdx, r12
00110b5ccall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110b61mov rax, [r14+32]
00110b65mov [r15+72], rax
00110b69movups x0, [r14]
00110b6dmovups x1, [r14+16]
00110b72movups [r15+56], x1
00110b77movups [r15+40], x0
00110b7cmov rax, [r15+32]
00110b80mov [r13+32], rax
00110b84movups x0, [r15]
00110b88movups x1, [r15+16]
00110b8dmovaps [r13+16], x1
00110b92movaps [r13], x0
00110b97mov rax, [r15+72]
00110b9bmov [rbx+32], rax
00110b9fmovups x0, [r15+40]
00110ba4movups x1, [r15+56]
00110ba9movaps [rbx+16], x1
00110badmovaps [rbx], x0
00110bb0lea rbx, [rsp+112]
00110bb5lea rsi, [rsp+16]
00110bbamov rdi, rbx
00110bbdpush 5
00110bbfpop rdx
00110bc0call curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00110bc5lea rdx, [rsp+64]
00110bcamov rdi, [rsp+8]
00110bcfmov rsi, rbx
00110bd2call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00110bd7add rsp, 872
00110bdepop rbx
00110bdfpop r12
00110be1pop r13
00110be3pop r14
00110be5pop r15
00110be7pop rbp
00110be8ret
0011098d
00110be9
00110be9_<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul:
00110be9push rbp
00110beapush r15
00110becpush r14
00110beepush r13
00110bf0push r12
00110bf2push rbx
00110bf3sub rsp, 144
00110bfamov r12, [rdx]
00110bfdmov rax, [rdx+8]
00110c01mov [rsp-64], rax
00110c06imul r9, rax, 19
00110c0amov rax, [rdx+16]
00110c0emov [rsp-120], rax
00110c13imul r15, rax, 19
00110c17mov [rsp-88], r15
00110c1cmov rax, [rdx+24]
00110c20mov [rsp-112], rax
00110c25imul rbx, rax, 19
00110c29mov [rsp-96], rbx
00110c2emov r11, [rdx+32]
00110c32mov [rsp+136], r11
00110c3amov rcx, [rsi]
00110c3dmov [rsp-80], rcx
00110c42mov rax, r12
00110c45mul rcx
00110c48mov rcx, rax
00110c4bmov r8, rdx
00110c4emov rax, [rsi+32]
00110c52mov rbp, rax
00110c55mul r9
00110c58mov r9, rax
00110c5bmov r10, rdx
00110c5eimul r14, r11, 19
00110c62add r9, rcx
00110c65adc r10, r8
00110c68mov r13, [rsi+24]
00110c6cmov rax, r13
00110c6fmov [rsp-128], r13
00110c74mul r15
00110c77mov r8, rdx
00110c7amov r11, rax
00110c7dadd r11, r9
00110c80adc r8, r10
00110c83mov rcx, [rsi+16]
00110c87mov rax, rcx
00110c8amul rbx
00110c8dmov r9, rdx
00110c90mov rbx, rax
00110c93add rbx, r11
00110c96adc r9, r8
00110c99mov r10, [rsi+8]
00110c9dmov rax, r10
00110ca0mul r14
00110ca3mov [rsp-104], r14
00110ca8add rax, rbx
00110cabmov [rsp+48], rax
00110cb0adc rdx, r9
00110cb3mov [rsp+40], rdx
00110cb8mov rax, r10
00110cbbmov r8, r12
00110cbemov [rsp-72], r12
00110cc3mul r12
00110cc6mov [rsp+104], rdx
00110ccbmov [rsp+56], rax
00110cd0mov r15, [rsp-80]
00110cd5mov rax, r15
00110cd8mov r12, [rsp-64]
00110cddmul r12
00110ce0mov [rsp+16], rdx
00110ce5mov [rsp-8], rax
00110ceamov rax, rbp
00110cedmul [rsp-88]
00110cf2mov r11, rdx
00110cf5mov rsi, rax
00110cf8mov rax, r13
00110cfbmov r9, [rsp-96]
00110d00mul r9
00110d03mov [rsp-24], rdx
00110d08mov [rsp-48], rax
00110d0dmov rax, rcx
00110d10mul r14
00110d13mov [rsp-32], rdx
00110d18mov [rsp-56], rax
00110d1dmov rax, rcx
00110d20mul r8
00110d23mov [rsp-88], rdx
00110d28mov [rsp+96], rax
00110d2dmov rax, r10
00110d30mul r12
00110d33mov [rsp+128], rdx
00110d3bmov [rsp+88], rax
00110d40mov rax, r15
00110d43mov r14, r15
00110d46mov r15, [rsp-120]
00110d4bmul r15
00110d4emov [rsp+32], rdx
00110d53mov [rsp+8], rax
00110d58mov rax, rbp
00110d5bmov r13, rbp
00110d5emul r9
00110d61mov rbx, rdx
00110d64mov r8, rax
00110d67mov rbp, [rsp-128]
00110d6cmov rax, rbp
00110d6fmov r9, [rsp-104]
00110d74mul r9
00110d77mov [rsp-16], rdx
00110d7cmov [rsp-40], rax
00110d81mov rax, rbp
00110d84mov rbp, [rsp-72]
00110d89mul rbp
00110d8cmov [rsp-96], rdx
00110d91mov [rsp+80], rax
00110d96mov rax, rcx
00110d99mul r12
00110d9cmov [rsp+120], rdx
00110da1mov [rsp+72], rax
00110da6mov rax, r10
00110da9mul r15
00110dacmov [rsp+112], rdx
00110db1mov [rsp+64], rax
00110db6mov rax, r14
00110db9mov r15, [rsp-112]
00110dbemul r15
00110dc1mov [rsp+24], rdx
00110dc6mov [rsp], rax
00110dcamov rax, r13
00110dcdmul r9
00110dd0mov r14, rdx
00110dd3mov r9, rax
00110dd6mov rax, r13
00110dd9mul rbp
00110ddcmov [rsp-104], rdx
00110de1mov rbp, rax
00110de4mov rax, [rsp-128]
00110de9mul r12
00110decmov r12, rdx
00110defmov r13, rax
00110df2mov rax, rcx
00110df5mul [rsp-120]
00110dfamov [rsp-120], rdx
00110dffmov [rsp-128], rax
00110e04mov rax, r10
00110e07mul r15
00110e0amov r15, rdx
00110e0dmov [rsp-112], rax
00110e12mov rax, [rsp-80]
00110e17mul [rsp+136]
00110e1fmov r10, [rsp+48]
00110e24mov rcx, [rsp+40]
00110e29shld rcx, r10, 13
00110e2eadd rsi, [rsp-8]
00110e33adc r11, [rsp+16]
00110e38add rsi, [rsp-48]
00110e3dadc r11, [rsp-24]
00110e42add rsi, [rsp-56]
00110e47adc r11, [rsp-32]
00110e4cadd rsi, [rsp+56]
00110e51adc r11, [rsp+104]
00110e56add rsi, rcx
00110e59adc r11, 0
00110e5dshld r11, rsi, 13
00110e62mov rcx, 0x7ffffffffffff
00110e6cand r10, rcx
00110e6fadd r8, [rsp+8]
00110e74adc rbx, [rsp+32]
00110e79add r8, [rsp-40]
00110e7eadc rbx, [rsp-16]
00110e83add r8, [rsp+96]
00110e88adc rbx, [rsp-88]
00110e8dadd r8, [rsp+88]
00110e92adc rbx, [rsp+128]
00110e9aadd r8, r11
00110e9dadc rbx, 0
00110ea1shld rbx, r8, 13
00110ea6and rsi, rcx
00110ea9add r9, [rsp]
00110eadadc r14, [rsp+24]
00110eb2add r9, [rsp+80]
00110eb7adc r14, [rsp-96]
00110ebcadd r9, [rsp+72]
00110ec1adc r14, [rsp+120]
00110ec6add r9, [rsp+64]
00110ecbadc r14, [rsp+112]
00110ed0add r9, rbx
00110ed3adc r14, 0
00110ed7and r8, rcx
00110edashld r14, r9, 13
00110edfadd rax, rbp
00110ee2adc rdx, [rsp-104]
00110ee7add rax, r13
00110eeaadc rdx, r12
00110eedadd rax, [rsp-128]
00110ef2adc rdx, [rsp-120]
00110ef7add rax, [rsp-112]
00110efcadc rdx, r15
00110effadd rax, r14
00110f02adc rdx, 0
00110f06shld rdx, rax, 13
00110f0bimul rdx, rdx, 19
00110f0fadd rdx, r10
00110f12mov r10, rdx
00110f15shr r10, 51
00110f19add r10, rsi
00110f1cand r9, rcx
00110f1fand rax, rcx
00110f22and rdx, rcx
00110f25mov [rdi], rdx
00110f28mov [rdi+8], r10
00110f2cmov [rdi+16], r8
00110f30mov [rdi+24], r9
00110f34mov [rdi+32], rax
00110f38add rsp, 144
00110f3fpop rbx
00110f40pop r12
00110f42pop r13
00110f44pop r14
00110f46pop r15
00110f48pop rbp
00110f49ret
00110be9
00110be9_<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul:
00110be9push rbp
00110beapush r15
00110becpush r14
00110beepush r13
00110bf0push r12
00110bf2push rbx
00110bf3sub rsp, 144
00110bfamov r12, [rdx]
00110bfdmov rax, [rdx+8]
00110c01mov [rsp-64], rax
00110c06imul r9, rax, 19
00110c0amov rax, [rdx+16]
00110c0emov [rsp-120], rax
00110c13imul r15, rax, 19
00110c17mov [rsp-88], r15
00110c1cmov rax, [rdx+24]
00110c20mov [rsp-112], rax
00110c25imul rbx, rax, 19
00110c29mov [rsp-96], rbx
00110c2emov r11, [rdx+32]
00110c32mov [rsp+136], r11
00110c3amov rcx, [rsi]
00110c3dmov [rsp-80], rcx
00110c42mov rax, r12
00110c45mul rcx
00110c48mov rcx, rax
00110c4bmov r8, rdx
00110c4emov rax, [rsi+32]
00110c52mov rbp, rax
00110c55mul r9
00110c58mov r9, rax
00110c5bmov r10, rdx
00110c5eimul r14, r11, 19
00110c62add r9, rcx
00110c65adc r10, r8
00110c68mov r13, [rsi+24]
00110c6cmov rax, r13
00110c6fmov [rsp-128], r13
00110c74mul r15
00110c77mov r8, rdx
00110c7amov r11, rax
00110c7dadd r11, r9
00110c80adc r8, r10
00110c83mov rcx, [rsi+16]
00110c87mov rax, rcx
00110c8amul rbx
00110c8dmov r9, rdx
00110c90mov rbx, rax
00110c93add rbx, r11
00110c96adc r9, r8
00110c99mov r10, [rsi+8]
00110c9dmov rax, r10
00110ca0mul r14
00110ca3mov [rsp-104], r14
00110ca8add rax, rbx
00110cabmov [rsp+48], rax
00110cb0adc rdx, r9
00110cb3mov [rsp+40], rdx
00110cb8mov rax, r10
00110cbbmov r8, r12
00110cbemov [rsp-72], r12
00110cc3mul r12
00110cc6mov [rsp+104], rdx
00110ccbmov [rsp+56], rax
00110cd0mov r15, [rsp-80]
00110cd5mov rax, r15
00110cd8mov r12, [rsp-64]
00110cddmul r12
00110ce0mov [rsp+16], rdx
00110ce5mov [rsp-8], rax
00110ceamov rax, rbp
00110cedmul [rsp-88]
00110cf2mov r11, rdx
00110cf5mov rsi, rax
00110cf8mov rax, r13
00110cfbmov r9, [rsp-96]
00110d00mul r9
00110d03mov [rsp-24], rdx
00110d08mov [rsp-48], rax
00110d0dmov rax, rcx
00110d10mul r14
00110d13mov [rsp-32], rdx
00110d18mov [rsp-56], rax
00110d1dmov rax, rcx
00110d20mul r8
00110d23mov [rsp-88], rdx
00110d28mov [rsp+96], rax
00110d2dmov rax, r10
00110d30mul r12
00110d33mov [rsp+128], rdx
00110d3bmov [rsp+88], rax
00110d40mov rax, r15
00110d43mov r14, r15
00110d46mov r15, [rsp-120]
00110d4bmul r15
00110d4emov [rsp+32], rdx
00110d53mov [rsp+8], rax
00110d58mov rax, rbp
00110d5bmov r13, rbp
00110d5emul r9
00110d61mov rbx, rdx
00110d64mov r8, rax
00110d67mov rbp, [rsp-128]
00110d6cmov rax, rbp
00110d6fmov r9, [rsp-104]
00110d74mul r9
00110d77mov [rsp-16], rdx
00110d7cmov [rsp-40], rax
00110d81mov rax, rbp
00110d84mov rbp, [rsp-72]
00110d89mul rbp
00110d8cmov [rsp-96], rdx
00110d91mov [rsp+80], rax
00110d96mov rax, rcx
00110d99mul r12
00110d9cmov [rsp+120], rdx
00110da1mov [rsp+72], rax
00110da6mov rax, r10
00110da9mul r15
00110dacmov [rsp+112], rdx
00110db1mov [rsp+64], rax
00110db6mov rax, r14
00110db9mov r15, [rsp-112]
00110dbemul r15
00110dc1mov [rsp+24], rdx
00110dc6mov [rsp], rax
00110dcamov rax, r13
00110dcdmul r9
00110dd0mov r14, rdx
00110dd3mov r9, rax
00110dd6mov rax, r13
00110dd9mul rbp
00110ddcmov [rsp-104], rdx
00110de1mov rbp, rax
00110de4mov rax, [rsp-128]
00110de9mul r12
00110decmov r12, rdx
00110defmov r13, rax
00110df2mov rax, rcx
00110df5mul [rsp-120]
00110dfamov [rsp-120], rdx
00110dffmov [rsp-128], rax
00110e04mov rax, r10
00110e07mul r15
00110e0amov r15, rdx
00110e0dmov [rsp-112], rax
00110e12mov rax, [rsp-80]
00110e17mul [rsp+136]
00110e1fmov r10, [rsp+48]
00110e24mov rcx, [rsp+40]
00110e29shld rcx, r10, 13
00110e2eadd rsi, [rsp-8]
00110e33adc r11, [rsp+16]
00110e38add rsi, [rsp-48]
00110e3dadc r11, [rsp-24]
00110e42add rsi, [rsp-56]
00110e47adc r11, [rsp-32]
00110e4cadd rsi, [rsp+56]
00110e51adc r11, [rsp+104]
00110e56add rsi, rcx
00110e59adc r11, 0
00110e5dshld r11, rsi, 13
00110e62mov rcx, 0x7ffffffffffff
00110e6cand r10, rcx
00110e6fadd r8, [rsp+8]
00110e74adc rbx, [rsp+32]
00110e79add r8, [rsp-40]
00110e7eadc rbx, [rsp-16]
00110e83add r8, [rsp+96]
00110e88adc rbx, [rsp-88]
00110e8dadd r8, [rsp+88]
00110e92adc rbx, [rsp+128]
00110e9aadd r8, r11
00110e9dadc rbx, 0
00110ea1shld rbx, r8, 13
00110ea6and rsi, rcx
00110ea9add r9, [rsp]
00110eadadc r14, [rsp+24]
00110eb2add r9, [rsp+80]
00110eb7adc r14, [rsp-96]
00110ebcadd r9, [rsp+72]
00110ec1adc r14, [rsp+120]
00110ec6add r9, [rsp+64]
00110ecbadc r14, [rsp+112]
00110ed0add r9, rbx
00110ed3adc r14, 0
00110ed7and r8, rcx
00110edashld r14, r9, 13
00110edfadd rax, rbp
00110ee2adc rdx, [rsp-104]
00110ee7add rax, r13
00110eeaadc rdx, r12
00110eedadd rax, [rsp-128]
00110ef2adc rdx, [rsp-120]
00110ef7add rax, [rsp-112]
00110efcadc rdx, r15
00110effadd rax, r14
00110f02adc rdx, 0
00110f06shld rdx, rax, 13
00110f0bimul rdx, rdx, 19
00110f0fadd rdx, r10
00110f12mov r10, rdx
00110f15shr r10, 51
00110f19add r10, rsi
00110f1cand r9, rcx
00110f1fand rax, rcx
00110f22and rdx, rcx
00110f25mov [rdi], rdx
00110f28mov [rdi+8], r10
00110f2cmov [rdi+16], r8
00110f30mov [rdi+24], r9
00110f34mov [rdi+32], rax
00110f38add rsp, 144
00110f3fpop rbx
00110f40pop r12
00110f42pop r13
00110f44pop r14
00110f46pop r15
00110f48pop rbp
00110f49ret
00110be9
Loading..