File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
Loading..
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
00110f4a
00110f4acurve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k:
00110f4apush rbp
00110f4bpush r15
00110f4dpush r14
00110f4fpush r13
00110f51push r12
00110f53push rbx
00110f54mov [rsp-16], rdi
00110f59mov r11, [rsi]
00110f5cmov r10, [rsi+8]
00110f60mov r8, [rsi+16]
00110f64mov rcx, [rsi+24]
00110f68mov rdi, [rsi+32]
00110f6c
00110f6cloc_110f6c:
00110f6cmov [rsp-20], edx
00110f70imul r14, rcx, 19
00110f74imul rbx, rdi, 19
00110f78mov rax, r11
00110f7bmul r11
00110f7emov r12, rdx
00110f81mov r15, rax
00110f84mov rax, r10
00110f87mul rbx
00110f8amov [rsp-40], rbx
00110f8fmov r13, rdx
00110f92mov rbp, rax
00110f95mov rax, r14
00110f98mul r8
00110f9bmov rsi, rdx
00110f9emov r9, rax
00110fa1add r9, rbp
00110fa4adc rsi, r13
00110fa7shld rsi, r9, 1
00110facadd r9, r9
00110fafadd r9, r15
00110fb2adc rsi, r12
00110fb5mov rax, r14
00110fb8mul rcx
00110fbbmov [rsp-48], rdx
00110fc0mov rbp, rax
00110fc3mov rax, r11
00110fc6mul r10
00110fc9mov r13, rdx
00110fccmov r12, rax
00110fcfmov rax, r8
00110fd2mul rbx
00110fd5mov rbx, rdx
00110fd8mov r15, rax
00110fdbadd r15, r12
00110fdeadc rbx, r13
00110fe1shld rbx, r15, 1
00110fe6add r15, r15
00110fe9add r15, rbp
00110fecadc rbx, [rsp-48]
00110ff1mov rax, r10
00110ff4mul r10
00110ff7mov [rsp-48], rdx
00110ffcmov [rsp-32], rax
00111001mov rax, r11
00111004mul r8
00111007mov rbp, rdx
0011100amov r12, rax
0011100dmov rax, r14
00111010mul rdi
00111013mov r14, rdx
00111016mov r13, rax
00111019add r13, r12
0011101cadc r14, rbp
0011101fshld r14, r13, 1
00111024add r13, r13
00111027add r13, [rsp-32]
0011102cadc r14, [rsp-48]
00111031mov rax, [rsp-40]
00111036mul rdi
00111039mov [rsp-40], rdx
0011103emov [rsp-48], rax
00111043mov rax, r11
00111046mul rcx
00111049mov [rsp-32], rdx
0011104emov [rsp-8], rax
00111053mov rax, r10
00111056mul r8
00111059mov r12, rdx
0011105cmov rbp, rax
0011105fadd rbp, [rsp-8]
00111064adc r12, [rsp-32]
00111069shld r12, rbp, 1
0011106eadd rbp, rbp
00111071add rbp, [rsp-48]
00111076adc r12, [rsp-40]
0011107bmov rax, r8
0011107emul r8
00111081mov [rsp-40], rdx
00111086mov [rsp-48], rax
0011108bmov rax, r11
0011108emul rdi
00111091mov r8, rdx
00111094mov r11, rax
00111097mov rax, r10
0011109amul rcx
0011109dadd rax, r11
001110a0adc rdx, r8
001110a3shld rdx, rax, 1
001110a8add rax, rax
001110abadd rax, [rsp-48]
001110b0adc rdx, [rsp-40]
001110b5shld rsi, r9, 13
001110baadd rsi, r15
001110bdadc rbx, 0
001110c1shld rbx, rsi, 13
001110c6mov r15, 0x7ffffffffffff
001110d0and r9, r15
001110d3add rbx, r13
001110d6adc r14, 0
001110daand rsi, r15
001110ddshld r14, rbx, 13
001110e2add r14, rbp
001110e5adc r12, 0
001110e9mov r8, rbx
001110ecand r8, r15
001110efshld r12, r14, 13
001110f4add r12, rax
001110f7adc rdx, 0
001110fbshld rdx, r12, 13
00111100imul r11, rdx, 19
00111104mov edx, [rsp-20]
00111108add r11, r9
0011110bmov r10, r11
0011110eshr r10, 51
00111112add r10, rsi
00111115mov rcx, r14
00111118and rcx, r15
0011111bmov rdi, r12
0011111eand rdi, r15
00111121and r11, r15
00111124dec edx
00111126jne 0x110f6c
0011112cmov rax, [rsp-16]
00111131mov [rax], r11
00111134mov [rax+8], r10
00111138mov [rax+16], r8
0011113cmov [rax+24], rcx
00111140mov [rax+32], rdi
00111144pop rbx
00111145pop r12
00111147pop r13
00111149pop r14
0011114bpop r15
0011114dpop rbp
0011114eret
00110f4a
00110f4acurve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k:
00110f4apush rbp
00110f4bpush r15
00110f4dpush r14
00110f4fpush r13
00110f51push r12
00110f53push rbx
00110f54mov [rsp-16], rdi
00110f59mov r11, [rsi]
00110f5cmov r10, [rsi+8]
00110f60mov r8, [rsi+16]
00110f64mov rcx, [rsi+24]
00110f68mov rdi, [rsi+32]
00110f6c
00110f6cloc_110f6c:
00110f6cmov [rsp-20], edx
00110f70imul r14, rcx, 19
00110f74imul rbx, rdi, 19
00110f78mov rax, r11
00110f7bmul r11
00110f7emov r12, rdx
00110f81mov r15, rax
00110f84mov rax, r10
00110f87mul rbx
00110f8amov [rsp-40], rbx
00110f8fmov r13, rdx
00110f92mov rbp, rax
00110f95mov rax, r14
00110f98mul r8
00110f9bmov rsi, rdx
00110f9emov r9, rax
00110fa1add r9, rbp
00110fa4adc rsi, r13
00110fa7shld rsi, r9, 1
00110facadd r9, r9
00110fafadd r9, r15
00110fb2adc rsi, r12
00110fb5mov rax, r14
00110fb8mul rcx
00110fbbmov [rsp-48], rdx
00110fc0mov rbp, rax
00110fc3mov rax, r11
00110fc6mul r10
00110fc9mov r13, rdx
00110fccmov r12, rax
00110fcfmov rax, r8
00110fd2mul rbx
00110fd5mov rbx, rdx
00110fd8mov r15, rax
00110fdbadd r15, r12
00110fdeadc rbx, r13
00110fe1shld rbx, r15, 1
00110fe6add r15, r15
00110fe9add r15, rbp
00110fecadc rbx, [rsp-48]
00110ff1mov rax, r10
00110ff4mul r10
00110ff7mov [rsp-48], rdx
00110ffcmov [rsp-32], rax
00111001mov rax, r11
00111004mul r8
00111007mov rbp, rdx
0011100amov r12, rax
0011100dmov rax, r14
00111010mul rdi
00111013mov r14, rdx
00111016mov r13, rax
00111019add r13, r12
0011101cadc r14, rbp
0011101fshld r14, r13, 1
00111024add r13, r13
00111027add r13, [rsp-32]
0011102cadc r14, [rsp-48]
00111031mov rax, [rsp-40]
00111036mul rdi
00111039mov [rsp-40], rdx
0011103emov [rsp-48], rax
00111043mov rax, r11
00111046mul rcx
00111049mov [rsp-32], rdx
0011104emov [rsp-8], rax
00111053mov rax, r10
00111056mul r8
00111059mov r12, rdx
0011105cmov rbp, rax
0011105fadd rbp, [rsp-8]
00111064adc r12, [rsp-32]
00111069shld r12, rbp, 1
0011106eadd rbp, rbp
00111071add rbp, [rsp-48]
00111076adc r12, [rsp-40]
0011107bmov rax, r8
0011107emul r8
00111081mov [rsp-40], rdx
00111086mov [rsp-48], rax
0011108bmov rax, r11
0011108emul rdi
00111091mov r8, rdx
00111094mov r11, rax
00111097mov rax, r10
0011109amul rcx
0011109dadd rax, r11
001110a0adc rdx, r8
001110a3shld rdx, rax, 1
001110a8add rax, rax
001110abadd rax, [rsp-48]
001110b0adc rdx, [rsp-40]
001110b5shld rsi, r9, 13
001110baadd rsi, r15
001110bdadc rbx, 0
001110c1shld rbx, rsi, 13
001110c6mov r15, 0x7ffffffffffff
001110d0and r9, r15
001110d3add rbx, r13
001110d6adc r14, 0
001110daand rsi, r15
001110ddshld r14, rbx, 13
001110e2add r14, rbp
001110e5adc r12, 0
001110e9mov r8, rbx
001110ecand r8, r15
001110efshld r12, r14, 13
001110f4add r12, rax
001110f7adc rdx, 0
001110fbshld rdx, r12, 13
00111100imul r11, rdx, 19
00111104mov edx, [rsp-20]
00111108add r11, r9
0011110bmov r10, r11
0011110eshr r10, 51
00111112add r10, rsi
00111115mov rcx, r14
00111118and rcx, r15
0011111bmov rdi, r12
0011111eand rdi, r15
00111121and r11, r15
00111124dec edx
00111126jne 0x110f6c
0011112cmov rax, [rsp-16]
00111131mov [rax], r11
00111134mov [rax+8], r10
00111138mov [rax+16], r8
0011113cmov [rax+24], rcx
00111140mov [rax+32], rdi
00111144pop rbx
00111145pop r12
00111147pop r13
00111149pop r14
0011114bpop r15
0011114dpop rbp
0011114eret
00110f4a
0011114f
0011114fcurve25519_dalek::backend::serial::u64::field::FieldElement51::square:
0011114fpush 1
00111151pop rdx
00111152jmp 0x110f4a
0011114f
0011114fcurve25519_dalek::backend::serial::u64::field::FieldElement51::square:
0011114fpush 1
00111151pop rdx
00111152jmp 0x110f4a
0011114f
00111157
00111157curve25519_dalek::window::LookupTable<T>::select:
00111157push rbp
00111158push r15
0011115apush r14
0011115cpush r13
0011115epush r12
00111160push rbx
00111161sub rsp, 264
00111168mov r14, rsi
0011116bmov [rsp+8], rdi
00111170movsx eax, dl
00111173movsx ebx, dl
00111176shr ebx, 7
00111179mov ecx, ebx
0011117badd ecx, eax
0011117dmovups x0, [rip-0xc5a6c]
00111184lea r12, [rsp+56]
00111189movaps [r12-24], x0
0011118fmovups x1, [rip-0xc5a8e]
00111196and [r12-8], 0
0011119cmovaps [r12-40], x1
001111a2and [r12+32], 0
001111a8movups [r12], x1
001111admovups [r12+16], x0
001111b3xorps x0, x0
001111b6movaps [r12+40], x0
001111bcmovaps [r12+56], x0
001111c2and [r12+72], 0
001111c8push -8
001111capop r13
001111ccmov ebp, ebx
001111cexor ebp, ecx
001111d0lea r15, [rsp+16]
001111d5
001111d5loc_1111d5:
001111d5test r13, r13
001111d8je 0x111209
001111dalea eax, [r13+9]
001111dexor eax, ebp
001111e0mov ecx, eax
001111e2neg ecx
001111e4xor edi, edi
001111e6or cx, ax
001111e9setns dil
001111edcall subtle::black_box
001111f2movzx edx, al
001111f5mov rdi, r15
001111f8mov rsi, r14
001111fbcall _<curve25519_dalek::backend::serial::curve_models::AffineNielsPoint as subtle::ConditionallySelectable>::conditional_assign
00111200inc r13
00111203add r14, 120
00111207jmp 0x1111d5
00111209
00111209loc_111209:
00111209and bl, 1
0011120cmovzx edi, bl
0011120fcall subtle::black_box
00111214mov rcx, [r12+32]
00111219lea rsi, [rsp+144]
00111221mov [rsi+32], rcx
00111225movups x0, [r12]
0011122amov rcx, 0x7ffffffffffff0
00111234lea r14, [rsp+16]
00111239mov rdx, rcx
0011123csub rdx, [r14+80]
00111240movups x1, [r12+16]
00111246mov rdi, rcx
00111249sub rdi, [r14+88]
0011124dmovaps [rsi+16], x1
00111251mov r8, rcx
00111254sub r8, [r14+96]
00111258movaps [rsi], x0
0011125bmov r9, rcx
0011125esub r9, [r14+104]
00111262add rdx, -288
00111269sub rcx, [r14+112]
0011126dmov r10, rdx
00111270shr r10, 51
00111274mov r11, rdi
00111277shr r11, 51
0011127bmov rbx, r8
0011127eshr rbx, 51
00111282mov r15, r9
00111285shr r15, 51
00111289mov r12, rcx
0011128cshr r12, 51
00111290mov r13, 0x7ffffffffffff
0011129aand rdx, r13
0011129dand rdi, r13
001112a0add rdi, r10
001112a3and r8, r13
001112a6add r8, r11
001112a9and r9, r13
001112acadd r9, rbx
001112afand rcx, r13
001112b2add rcx, r15
001112b5imul r10, r12, 19
001112b9add r10, rdx
001112bcmov [rsi+80], r10
001112c0mov [rsi+88], rdi
001112c4mov [rsi+96], r8
001112c8mov [rsi+104], r9
001112ccmov [rsi+112], rcx
001112d0movaps x0, [r14]
001112d4movaps x1, [r14+16]
001112d9movups [rsi+40], x0
001112ddmovups [rsi+56], x1
001112e1mov rcx, [r14+32]
001112e5mov [rsi+72], rcx
001112e9movzx edx, al
001112ecmov rdi, r14
001112efcall _<curve25519_dalek::backend::serial::curve_models::AffineNielsPoint as subtle::ConditionallySelectable>::conditional_assign
001112f4push 15
001112f6pop rcx
001112f7mov rdi, [rsp+8]
001112fcmov rsi, r14
001112ffrep movsq [rdi], [rsi]
00111302add rsp, 264
00111309pop rbx
0011130apop r12
0011130cpop r13
0011130epop r14
00111310pop r15
00111312pop rbp
00111313ret
00111157
00111157curve25519_dalek::window::LookupTable<T>::select:
00111157push rbp
00111158push r15
0011115apush r14
0011115cpush r13
0011115epush r12
00111160push rbx
00111161sub rsp, 264
00111168mov r14, rsi
0011116bmov [rsp+8], rdi
00111170movsx eax, dl
00111173movsx ebx, dl
00111176shr ebx, 7
00111179mov ecx, ebx
0011117badd ecx, eax
0011117dmovups x0, [rip-0xc5a6c]
00111184lea r12, [rsp+56]
00111189movaps [r12-24], x0
0011118fmovups x1, [rip-0xc5a8e]
00111196and [r12-8], 0
0011119cmovaps [r12-40], x1
001111a2and [r12+32], 0
001111a8movups [r12], x1
001111admovups [r12+16], x0
001111b3xorps x0, x0
001111b6movaps [r12+40], x0
001111bcmovaps [r12+56], x0
001111c2and [r12+72], 0
001111c8push -8
001111capop r13
001111ccmov ebp, ebx
001111cexor ebp, ecx
001111d0lea r15, [rsp+16]
001111d5
001111d5loc_1111d5:
001111d5test r13, r13
001111d8je 0x111209
001111dalea eax, [r13+9]
001111dexor eax, ebp
001111e0mov ecx, eax
001111e2neg ecx
001111e4xor edi, edi
001111e6or cx, ax
001111e9setns dil
001111edcall subtle::black_box
001111f2movzx edx, al
001111f5mov rdi, r15
001111f8mov rsi, r14
001111fbcall _<curve25519_dalek::backend::serial::curve_models::AffineNielsPoint as subtle::ConditionallySelectable>::conditional_assign
00111200inc r13
00111203add r14, 120
00111207jmp 0x1111d5
00111209
00111209loc_111209:
00111209and bl, 1
0011120cmovzx edi, bl
0011120fcall subtle::black_box
00111214mov rcx, [r12+32]
00111219lea rsi, [rsp+144]
00111221mov [rsi+32], rcx
00111225movups x0, [r12]
0011122amov rcx, 0x7ffffffffffff0
00111234lea r14, [rsp+16]
00111239mov rdx, rcx
0011123csub rdx, [r14+80]
00111240movups x1, [r12+16]
00111246mov rdi, rcx
00111249sub rdi, [r14+88]
0011124dmovaps [rsi+16], x1
00111251mov r8, rcx
00111254sub r8, [r14+96]
00111258movaps [rsi], x0
0011125bmov r9, rcx
0011125esub r9, [r14+104]
00111262add rdx, -288
00111269sub rcx, [r14+112]
0011126dmov r10, rdx
00111270shr r10, 51
00111274mov r11, rdi
00111277shr r11, 51
0011127bmov rbx, r8
0011127eshr rbx, 51
00111282mov r15, r9
00111285shr r15, 51
00111289mov r12, rcx
0011128cshr r12, 51
00111290mov r13, 0x7ffffffffffff
0011129aand rdx, r13
0011129dand rdi, r13
001112a0add rdi, r10
001112a3and r8, r13
001112a6add r8, r11
001112a9and r9, r13
001112acadd r9, rbx
001112afand rcx, r13
001112b2add rcx, r15
001112b5imul r10, r12, 19
001112b9add r10, rdx
001112bcmov [rsi+80], r10
001112c0mov [rsi+88], rdi
001112c4mov [rsi+96], r8
001112c8mov [rsi+104], r9
001112ccmov [rsi+112], rcx
001112d0movaps x0, [r14]
001112d4movaps x1, [r14+16]
001112d9movups [rsi+40], x0
001112ddmovups [rsi+56], x1
001112e1mov rcx, [r14+32]
001112e5mov [rsi+72], rcx
001112e9movzx edx, al
001112ecmov rdi, r14
001112efcall _<curve25519_dalek::backend::serial::curve_models::AffineNielsPoint as subtle::ConditionallySelectable>::conditional_assign
001112f4push 15
001112f6pop rcx
001112f7mov rdi, [rsp+8]
001112fcmov rsi, r14
001112ffrep movsq [rdi], [rsi]
00111302add rsp, 264
00111309pop rbx
0011130apop r12
0011130cpop r13
0011130epop r14
00111310pop r15
00111312pop rbp
00111313ret
00111157
00111314
00111314curve25519_dalek::backend::serial::curve_models::_<impl core::ops::arith::Add<&curve25519_dalek::backend::serial::curve_models::AffineNielsPoint> for &curve25519_dalek::edwards::EdwardsPoint>::add:
00111314push rbp
00111315push r15
00111317push r14
00111319push r13
0011131bpush r12
0011131dpush rbx
0011131esub rsp, 248
00111325mov r12, rdx
00111328mov r14, rsi
0011132bmov rbx, rdi
0011132elea r15, [rsi+40]
00111332lea r13, [rsp+48]
00111337mov rdi, r13
0011133amov rsi, r15
0011133dmov rdx, r14
00111340call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Add<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::add
00111345lea rbp, [rsp+88]
0011134amov rdi, rbp
0011134dmov rsi, r15
00111350mov rdx, r14
00111353call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Sub<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::sub
00111358lea rdi, [rsp+8]
0011135dmov rsi, r13
00111360mov rdx, r12
00111363call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00111368lea rdx, [r12+40]
0011136dlea r15, [rsp+128]
00111375mov rdi, r15
00111378mov rsi, rbp
0011137bcall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00111380lea rsi, [r14+120]
00111384add r12, 80
00111388lea r13, [rsp+168]
00111390mov rdi, r13
00111393mov rdx, r12
00111396call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
0011139badd r14, 80
0011139flea r12, [rsp+208]
001113a7mov rdi, r12
001113aamov rsi, r14
001113admov rdx, r14
001113b0call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Add<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::add
001113b5mov rdi, rbx
001113b8lea r14, [rsp+8]
001113bdmov rsi, r14
001113c0mov rdx, r15
001113c3call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Sub<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::sub
001113c8lea rdi, [rbx+40]
001113ccmov rsi, r14
001113cfmov rdx, r15
001113d2call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Add<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::add
001113d7lea rdi, [rbx+80]
001113dbmov rsi, r12
001113demov rdx, r13
001113e1call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Add<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::add
001113e6add rbx, 120
001113eamov rdi, rbx
001113edmov rsi, r12
001113f0mov rdx, r13
001113f3call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Sub<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::sub
001113f8add rsp, 248
001113ffpop rbx
00111400pop r12
00111402pop r13
00111404pop r14
00111406pop r15
00111408pop rbp
00111409ret
00111314
00111314curve25519_dalek::backend::serial::curve_models::_<impl core::ops::arith::Add<&curve25519_dalek::backend::serial::curve_models::AffineNielsPoint> for &curve25519_dalek::edwards::EdwardsPoint>::add:
00111314push rbp
00111315push r15
00111317push r14
00111319push r13
0011131bpush r12
0011131dpush rbx
0011131esub rsp, 248
00111325mov r12, rdx
00111328mov r14, rsi
0011132bmov rbx, rdi
0011132elea r15, [rsi+40]
00111332lea r13, [rsp+48]
00111337mov rdi, r13
0011133amov rsi, r15
0011133dmov rdx, r14
00111340call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Add<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::add
00111345lea rbp, [rsp+88]
0011134amov rdi, rbp
0011134dmov rsi, r15
00111350mov rdx, r14
00111353call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Sub<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::sub
00111358lea rdi, [rsp+8]
0011135dmov rsi, r13
00111360mov rdx, r12
00111363call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00111368lea rdx, [r12+40]
0011136dlea r15, [rsp+128]
00111375mov rdi, r15
00111378mov rsi, rbp
0011137bcall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00111380lea rsi, [r14+120]
00111384add r12, 80
00111388lea r13, [rsp+168]
00111390mov rdi, r13
00111393mov rdx, r12
00111396call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
0011139badd r14, 80
0011139flea r12, [rsp+208]
001113a7mov rdi, r12
001113aamov rsi, r14
001113admov rdx, r14
001113b0call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Add<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::add
001113b5mov rdi, rbx
001113b8lea r14, [rsp+8]
001113bdmov rsi, r14
001113c0mov rdx, r15
001113c3call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Sub<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::sub
001113c8lea rdi, [rbx+40]
001113ccmov rsi, r14
001113cfmov rdx, r15
001113d2call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Add<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::add
001113d7lea rdi, [rbx+80]
001113dbmov rsi, r12
001113demov rdx, r13
001113e1call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Add<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::add
001113e6add rbx, 120
001113eamov rdi, rbx
001113edmov rsi, r12
001113f0mov rdx, r13
001113f3call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Sub<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::sub
001113f8add rsp, 248
001113ffpop rbx
00111400pop r12
00111402pop r13
00111404pop r14
00111406pop r15
00111408pop rbp
00111409ret
00111314
0011140a
0011140acurve25519_dalek::backend::serial::curve_models::CompletedPoint::as_extended:
0011140apush r15
0011140cpush r14
0011140epush r13
00111410push r12
00111412push rbx
00111413mov rbx, rsi
00111416mov r14, rdi
00111419lea r15, [rsi+120]
0011141dmov rdx, r15
00111420call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00111425lea r12, [rbx+40]
00111429lea r13, [rbx+80]
0011142dlea rdi, [r14+40]
00111431mov rsi, r12
00111434mov rdx, r13
00111437call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
0011143clea rdi, [r14+80]
00111440mov rsi, r13
00111443mov rdx, r15
00111446call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
0011144badd r14, 120
0011144fmov rdi, r14
00111452mov rsi, rbx
00111455mov rdx, r12
00111458pop rbx
00111459pop r12
0011145bpop r13
0011145dpop r14
0011145fpop r15
00111461jmp 0x110be9
0011140a
0011140acurve25519_dalek::backend::serial::curve_models::CompletedPoint::as_extended:
0011140apush r15
0011140cpush r14
0011140epush r13
00111410push r12
00111412push rbx
00111413mov rbx, rsi
00111416mov r14, rdi
00111419lea r15, [rsi+120]
0011141dmov rdx, r15
00111420call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
00111425lea r12, [rbx+40]
00111429lea r13, [rbx+80]
0011142dlea rdi, [r14+40]
00111431mov rsi, r12
00111434mov rdx, r13
00111437call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
0011143clea rdi, [r14+80]
00111440mov rsi, r13
00111443mov rdx, r15
00111446call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Mul<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::mul
0011144badd r14, 120
0011144fmov rdi, r14
00111452mov rsi, rbx
00111455mov rdx, r12
00111458pop rbx
00111459pop r12
0011145bpop r13
0011145dpop r14
0011145fpop r15
00111461jmp 0x110be9
0011140a
00111466
00111466_<curve25519_dalek::backend::serial::curve_models::AffineNielsPoint as subtle::ConditionallySelectable>::conditional_assign:
00111466push r15
00111468push r14
0011146apush rbx
0011146bmov ebx, edx
0011146dmov r14, rsi
00111470mov r15, rdi
00111473call _<curve25519_dalek::backend::serial::u64::field::FieldElement51 as subtle::ConditionallySelectable>::conditional_assign
00111478lea rdi, [r15+40]
0011147clea rsi, [r14+40]
00111480mov edx, ebx
00111482call _<curve25519_dalek::backend::serial::u64::field::FieldElement51 as subtle::ConditionallySelectable>::conditional_assign
00111487add r15, 80
0011148badd r14, 80
0011148fmov rdi, r15
00111492mov rsi, r14
00111495mov edx, ebx
00111497pop rbx
00111498pop r14
0011149apop r15
0011149cjmp 0x1114a1
00111466
00111466_<curve25519_dalek::backend::serial::curve_models::AffineNielsPoint as subtle::ConditionallySelectable>::conditional_assign:
00111466push r15
00111468push r14
0011146apush rbx
0011146bmov ebx, edx
0011146dmov r14, rsi
00111470mov r15, rdi
00111473call _<curve25519_dalek::backend::serial::u64::field::FieldElement51 as subtle::ConditionallySelectable>::conditional_assign
00111478lea rdi, [r15+40]
0011147clea rsi, [r14+40]
00111480mov edx, ebx
00111482call _<curve25519_dalek::backend::serial::u64::field::FieldElement51 as subtle::ConditionallySelectable>::conditional_assign
00111487add r15, 80
0011148badd r14, 80
0011148fmov rdi, r15
00111492mov rsi, r14
00111495mov edx, ebx
00111497pop rbx
00111498pop r14
0011149apop r15
0011149cjmp 0x1114a1
00111466
001114a1
001114a1_<curve25519_dalek::backend::serial::u64::field::FieldElement51 as subtle::ConditionallySelectable>::conditional_assign:
001114a1movzx eax, dl
001114a4neg rax
001114a7mov rcx, [rdi]
001114aamov rdx, [rdi+8]
001114aemov r8, [rsi]
001114b1xor r8, rcx
001114b4and r8, rax
001114b7xor r8, rcx
001114bamov [rdi], r8
001114bdmov rcx, [rsi+8]
001114c1xor rcx, rdx
001114c4and rcx, rax
001114c7xor rcx, rdx
001114camov [rdi+8], rcx
001114cemov rcx, [rdi+16]
001114d2mov rdx, [rsi+16]
001114d6xor rdx, rcx
001114d9and rdx, rax
001114dcxor rdx, rcx
001114dfmov [rdi+16], rdx
001114e3mov rcx, [rdi+24]
001114e7mov rdx, [rsi+24]
001114ebxor rdx, rcx
001114eeand rdx, rax
001114f1xor rdx, rcx
001114f4mov [rdi+24], rdx
001114f8mov rcx, [rdi+32]
001114fcmov rdx, [rsi+32]
00111500xor rdx, rcx
00111503and rdx, rax
00111506xor rdx, rcx
00111509mov [rdi+32], rdx
0011150dret
001114a1
001114a1_<curve25519_dalek::backend::serial::u64::field::FieldElement51 as subtle::ConditionallySelectable>::conditional_assign:
001114a1movzx eax, dl
001114a4neg rax
001114a7mov rcx, [rdi]
001114aamov rdx, [rdi+8]
001114aemov r8, [rsi]
001114b1xor r8, rcx
001114b4and r8, rax
001114b7xor r8, rcx
001114bamov [rdi], r8
001114bdmov rcx, [rsi+8]
001114c1xor rcx, rdx
001114c4and rcx, rax
001114c7xor rcx, rdx
001114camov [rdi+8], rcx
001114cemov rcx, [rdi+16]
001114d2mov rdx, [rsi+16]
001114d6xor rdx, rcx
001114d9and rdx, rax
001114dcxor rdx, rcx
001114dfmov [rdi+16], rdx
001114e3mov rcx, [rdi+24]
001114e7mov rdx, [rsi+24]
001114ebxor rdx, rcx
001114eeand rdx, rax
001114f1xor rdx, rcx
001114f4mov [rdi+24], rdx
001114f8mov rcx, [rdi+32]
001114fcmov rdx, [rsi+32]
00111500xor rdx, rcx
00111503and rdx, rax
00111506xor rdx, rcx
00111509mov [rdi+32], rdx
0011150dret
001114a1
0011150e
0011150ecurve25519_dalek::backend::serial::curve_models::ProjectivePoint::double:
0011150epush rbp
0011150fpush r15
00111511push r14
00111513push r13
00111515push r12
00111517push rbx
00111518sub rsp, 296
0011151fmov r12, rsi
00111522mov rbx, rdi
00111525lea rdi, [rsp+96]
0011152acall curve25519_dalek::backend::serial::u64::field::FieldElement51::square
0011152flea r13, [r12+40]
00111534lea rdi, [rsp+136]
0011153cmov rsi, r13
0011153fcall curve25519_dalek::backend::serial::u64::field::FieldElement51::square
00111544lea rsi, [r12+80]
00111549lea rdi, [rsp+8]
0011154epush 1
00111550pop rdx
00111551call curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00111556xor eax, eax
00111558
00111558loc_111558:
00111558cmp rax, 5
0011155cje 0x111568
0011155eshl [rsp+8*rax+8], 1
00111563inc rax
00111566jmp 0x111558
00111568
00111568loc_111568:
00111568lea r14, [rsp+8]
0011156dmov rax, [r14+32]
00111571lea rcx, [rsp+48]
00111576mov [rcx+32], rax
0011157amovups x0, [r14]
0011157emovups x1, [r14+16]
00111583movaps [rcx+16], x1
00111587movaps [rcx], x0
0011158alea rbp, [rsp+176]
00111592mov rdi, rbp
00111595mov rsi, r12
00111598mov rdx, r13
0011159bcall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Add<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::add
001115a0lea r12, [rsp+216]
001115a8mov rdi, r12
001115abmov rsi, rbp
001115aecall curve25519_dalek::backend::serial::u64::field::FieldElement51::square
001115b3lea r13, [rsp+256]
001115bblea rbp, [rsp+136]
001115c3lea r15, [rsp+96]
001115c8mov rdi, r13
001115cbmov rsi, rbp
001115cemov rdx, r15
001115d1call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Add<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::add
001115d6mov rdi, r14
001115d9mov rsi, rbp
001115dcmov rdx, r15
001115dfcall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Sub<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::sub
001115e4mov rdi, rbx
001115e7mov rsi, r12
001115eamov rdx, r13
001115edcall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Sub<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::sub
001115f2mov rax, [r13+32]
001115f6mov [rbx+72], rax
001115famovups x0, [r13]
001115ffmovups x1, [r13+16]
00111604movups [rbx+56], x1
00111608movups [rbx+40], x0
0011160cmovups x0, [r14]
00111610movups x1, [r14+16]
00111615movups [rbx+80], x0
00111619movups [rbx+96], x1
0011161dmov rax, [r14+32]
00111621mov [rbx+112], rax
00111625add rbx, 120
00111629mov rdi, rbx
0011162clea rsi, [rsp+48]
00111631mov rdx, r14
00111634call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Sub<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::sub
00111639add rsp, 296
00111640pop rbx
00111641pop r12
00111643pop r13
00111645pop r14
00111647pop r15
00111649pop rbp
0011164aret
0011150e
0011150ecurve25519_dalek::backend::serial::curve_models::ProjectivePoint::double:
0011150epush rbp
0011150fpush r15
00111511push r14
00111513push r13
00111515push r12
00111517push rbx
00111518sub rsp, 296
0011151fmov r12, rsi
00111522mov rbx, rdi
00111525lea rdi, [rsp+96]
0011152acall curve25519_dalek::backend::serial::u64::field::FieldElement51::square
0011152flea r13, [r12+40]
00111534lea rdi, [rsp+136]
0011153cmov rsi, r13
0011153fcall curve25519_dalek::backend::serial::u64::field::FieldElement51::square
00111544lea rsi, [r12+80]
00111549lea rdi, [rsp+8]
0011154epush 1
00111550pop rdx
00111551call curve25519_dalek::backend::serial::u64::field::FieldElement51::pow2k
00111556xor eax, eax
00111558
00111558loc_111558:
00111558cmp rax, 5
0011155cje 0x111568
0011155eshl [rsp+8*rax+8], 1
00111563inc rax
00111566jmp 0x111558
00111568
00111568loc_111568:
00111568lea r14, [rsp+8]
0011156dmov rax, [r14+32]
00111571lea rcx, [rsp+48]
00111576mov [rcx+32], rax
0011157amovups x0, [r14]
0011157emovups x1, [r14+16]
00111583movaps [rcx+16], x1
00111587movaps [rcx], x0
0011158alea rbp, [rsp+176]
00111592mov rdi, rbp
00111595mov rsi, r12
00111598mov rdx, r13
0011159bcall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Add<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::add
001115a0lea r12, [rsp+216]
001115a8mov rdi, r12
001115abmov rsi, rbp
001115aecall curve25519_dalek::backend::serial::u64::field::FieldElement51::square
001115b3lea r13, [rsp+256]
001115bblea rbp, [rsp+136]
001115c3lea r15, [rsp+96]
001115c8mov rdi, r13
001115cbmov rsi, rbp
001115cemov rdx, r15
001115d1call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Add<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::add
001115d6mov rdi, r14
001115d9mov rsi, rbp
001115dcmov rdx, r15
001115dfcall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Sub<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::sub
001115e4mov rdi, rbx
001115e7mov rsi, r12
001115eamov rdx, r13
001115edcall _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Sub<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::sub
001115f2mov rax, [r13+32]
001115f6mov [rbx+72], rax
001115famovups x0, [r13]
001115ffmovups x1, [r13+16]
00111604movups [rbx+56], x1
00111608movups [rbx+40], x0
0011160cmovups x0, [r14]
00111610movups x1, [r14+16]
00111615movups [rbx+80], x0
00111619movups [rbx+96], x1
0011161dmov rax, [r14+32]
00111621mov [rbx+112], rax
00111625add rbx, 120
00111629mov rdi, rbx
0011162clea rsi, [rsp+48]
00111631mov rdx, r14
00111634call _<&curve25519_dalek::backend::serial::u64::field::FieldElement51 as core::ops::arith::Sub<&curve25519_dalek::backend::serial::u64::field::FieldElement51>>::sub
00111639add rsp, 296
00111640pop rbx
00111641pop r12
00111643pop r13
00111645pop r14
00111647pop r15
00111649pop rbp
0011164aret
0011150e
0011164b
0011164b_<core::iter::adapters::map::Map<I,F> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back:
0011164bmov rdx, [rdi+16]
0011164fmov al, 2
00111651cmp [rdi+8], rdx
00111655jae 0x11167f
00111657lea rcx, [rdx-1]
0011165bmov [rdi+16], rcx
0011165fmov rax, rcx
00111662shr rax, 3
00111666cmp rdx, 257
0011166djae 0x111680
0011166fmov rdx, [rdi]
00111672movzx eax, [rdx+rax]
00111676and ecx, 7
00111679bt eax, ecx
0011167csetb al
0011167f
0011167floc_11167f:
0011167fret
00111680
00111680loc_111680:
00111680push rax
00111681lea rdx, [rip+0xd9ee8]
00111688push 32
0011168apop rsi
0011168bmov rdi, rax
0011168ecall core::panicking::panic_bounds_check
00111693ud2
0011164b
0011164b_<core::iter::adapters::map::Map<I,F> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back:
0011164bmov rdx, [rdi+16]
0011164fmov al, 2
00111651cmp [rdi+8], rdx
00111655jae 0x11167f
00111657lea rcx, [rdx-1]
0011165bmov [rdi+16], rcx
0011165fmov rax, rcx
00111662shr rax, 3
00111666cmp rdx, 257
0011166djae 0x111680
0011166fmov rdx, [rdi]
00111672movzx eax, [rdx+rax]
00111676and ecx, 7
00111679bt eax, ecx
0011167csetb al
0011167f
0011167floc_11167f:
0011167fret
00111680
00111680loc_111680:
00111680push rax
00111681lea rdx, [rip+0xd9ee8]
00111688push 32
0011168apop rsi
0011168bmov rdi, rax
0011168ecall core::panicking::panic_bounds_check
00111693ud2
0011164b
00111695
00111695subtle::ConditionallySelectable::conditional_swap:
00111695push r15
00111697push r14
00111699push rbx
0011169asub rsp, 80
0011169emov ebx, edx
001116a0mov r14, rsi
001116a3mov rax, rdi
001116a6push 10
001116a8pop rcx
001116a9mov r15, rsp
001116acmov rdi, r15
001116afmov rsi, rax
001116b2rep movsq [rdi], [rsi]
001116b5mov rdi, rax
001116b8mov rsi, r14
001116bbcall subtle::ConditionallySelectable::conditional_assign
001116c0mov rdi, r14
001116c3mov rsi, r15
001116c6mov edx, ebx
001116c8call subtle::ConditionallySelectable::conditional_assign
001116cdadd rsp, 80
001116d1pop rbx
001116d2pop r14
001116d4pop r15
001116d6ret
00111695
00111695subtle::ConditionallySelectable::conditional_swap:
00111695push r15
00111697push r14
00111699push rbx
0011169asub rsp, 80
0011169emov ebx, edx
001116a0mov r14, rsi
001116a3mov rax, rdi
001116a6push 10
001116a8pop rcx
001116a9mov r15, rsp
001116acmov rdi, r15
001116afmov rsi, rax
001116b2rep movsq [rdi], [rsi]
001116b5mov rdi, rax
001116b8mov rsi, r14
001116bbcall subtle::ConditionallySelectable::conditional_assign
001116c0mov rdi, r14
001116c3mov rsi, r15
001116c6mov edx, ebx
001116c8call subtle::ConditionallySelectable::conditional_assign
001116cdadd rsp, 80
001116d1pop rbx
001116d2pop r14
001116d4pop r15
001116d6ret
00111695
001116d7
001116d7subtle::ConditionallySelectable::conditional_assign:
001116d7push r15
001116d9push r14
001116dbpush r12
001116ddpush rbx
001116desub rsp, 88
001116e2mov ebx, edx
001116e4mov r14, rsi
001116e7mov r15, rdi
001116ealea r12, [rsp+8]
001116efmov rdi, r12
001116f2mov rsi, r15
001116f5mov rdx, r14
001116f8mov ecx, ebx
001116facall _<curve25519_dalek::backend::serial::u64::field::FieldElement51 as subtle::ConditionallySelectable>::conditional_select
001116fflea rsi, [r15+40]
00111703add r14, 40
00111707lea rdi, [rsp+48]
0011170cmov rdx, r14
0011170fmov ecx, ebx
00111711call _<curve25519_dalek::backend::serial::u64::field::FieldElement51 as subtle::ConditionallySelectable>::conditional_select
00111716push 10
00111718pop rcx
00111719mov rdi, r15
0011171cmov rsi, r12
0011171frep movsq [rdi], [rsi]
00111722add rsp, 88
00111726pop rbx
00111727pop r12
00111729pop r14
0011172bpop r15
0011172dret
001116d7
001116d7subtle::ConditionallySelectable::conditional_assign:
001116d7push r15
001116d9push r14
001116dbpush r12
001116ddpush rbx
001116desub rsp, 88
001116e2mov ebx, edx
001116e4mov r14, rsi
001116e7mov r15, rdi
001116ealea r12, [rsp+8]
001116efmov rdi, r12
001116f2mov rsi, r15
001116f5mov rdx, r14
001116f8mov ecx, ebx
001116facall _<curve25519_dalek::backend::serial::u64::field::FieldElement51 as subtle::ConditionallySelectable>::conditional_select
001116fflea rsi, [r15+40]
00111703add r14, 40
00111707lea rdi, [rsp+48]
0011170cmov rdx, r14
0011170fmov ecx, ebx
00111711call _<curve25519_dalek::backend::serial::u64::field::FieldElement51 as subtle::ConditionallySelectable>::conditional_select
00111716push 10
00111718pop rcx
00111719mov rdi, r15
0011171cmov rsi, r12
0011171frep movsq [rdi], [rsi]
00111722add rsp, 88
00111726pop rbx
00111727pop r12
00111729pop r14
0011172bpop r15
0011172dret
001116d7
0011172e
0011172e_<curve25519_dalek::backend::serial::u64::field::FieldElement51 as subtle::ConditionallySelectable>::conditional_select:
0011172emovzx eax, cl
00111731neg rax
00111734mov r8, [rsi]
00111737mov r9, [rsi+8]
0011173bmov rcx, [rdx]
0011173exor rcx, r8
00111741and rcx, rax
00111744xor rcx, r8
00111747mov r8, [rdx+8]
0011174bxor r8, r9
0011174eand r8, rax
00111751xor r8, r9
00111754mov r9, [rsi+16]
00111758mov r10, [rdx+16]
0011175cxor r10, r9
0011175fand r10, rax
00111762xor r10, r9
00111765mov r9, [rsi+24]
00111769mov r11, [rdx+24]
0011176dxor r11, r9
00111770and r11, rax
00111773xor r11, r9
00111776mov rsi, [rsi+32]
0011177amov rdx, [rdx+32]
0011177exor rdx, rsi
00111781and rdx, rax
00111784xor rdx, rsi
00111787mov [rdi], rcx
0011178amov [rdi+8], r8
0011178emov [rdi+16], r10
00111792mov [rdi+24], r11
00111796mov [rdi+32], rdx
0011179aret
0011172e
0011172e_<curve25519_dalek::backend::serial::u64::field::FieldElement51 as subtle::ConditionallySelectable>::conditional_select:
0011172emovzx eax, cl
00111731neg rax
00111734mov r8, [rsi]
00111737mov r9, [rsi+8]
0011173bmov rcx, [rdx]
0011173exor rcx, r8
00111741and rcx, rax
00111744xor rcx, r8
00111747mov r8, [rdx+8]
0011174bxor r8, r9
0011174eand r8, rax
00111751xor r8, r9
00111754mov r9, [rsi+16]
00111758mov r10, [rdx+16]
0011175cxor r10, r9
0011175fand r10, rax
00111762xor r10, r9
00111765mov r9, [rsi+24]
00111769mov r11, [rdx+24]
0011176dxor r11, r9
00111770and r11, rax
00111773xor r11, r9
00111776mov rsi, [rsi+32]
0011177amov rdx, [rdx+32]
0011177exor rdx, rsi
00111781and rdx, rax
00111784xor rdx, rsi
00111787mov [rdi], rcx
0011178amov [rdi+8], r8
0011178emov [rdi+16], r10
00111792mov [rdi+24], r11
00111796mov [rdi+32], rdx
0011179aret
0011172e
0011179b
0011179bfork::fork:
0011179bpush rax
0011179ccall [rip+0x10048e]
001117a2cmp eax, -1
001117a5je 0x1117b2
001117a7test eax, eax
001117a9jne 0x1117c1
001117abpush 1
001117adpop rcx
001117aexor eax, eax
001117b0jmp 0x1117c7
001117b2
001117b2loc_1117b2:
001117b2push 2
001117b4pop rcx
001117b5mov rax, 0xffffffff00000000
001117bfjmp 0x1117c7
001117c1
001117c1loc_1117c1:
001117c1shl rax, 32
001117c5xor ecx, ecx
001117c7
001117c7loc_1117c7:
001117c7or rax, rcx
001117capop rcx
001117cbret
0011179b
0011179bfork::fork:
0011179bpush rax
0011179ccall [rip+0x10048e]
001117a2cmp eax, -1
001117a5je 0x1117b2
001117a7test eax, eax
001117a9jne 0x1117c1
001117abpush 1
001117adpop rcx
001117aexor eax, eax
001117b0jmp 0x1117c7
001117b2
001117b2loc_1117b2:
001117b2push 2
001117b4pop rcx
001117b5mov rax, 0xffffffff00000000
001117bfjmp 0x1117c7
001117c1
001117c1loc_1117c1:
001117c1shl rax, 32
001117c5xor ecx, ecx
001117c7
001117c7loc_1117c7:
001117c7or rax, rcx
001117capop rcx
001117cbret
0011179b
001117cc
001117cc_<getrandom::error::Error as core::fmt::Debug>::fmt:
001117ccpush r14
001117cepush rbx
001117cfsub rsp, 184
001117d6mov rbx, rsi
001117d9mov r14, rdi
001117dcmov rdi, [rsi+32]
001117e0mov rax, [rsi+40]
001117e4lea rsi, [rip-0x817c6]
001117ebpush 5
001117edpop rdx
001117eecall [rax+24]
001117f1mov [rsp+8], rbx
001117f6mov [rsp+16], al
001117famov [rsp+17], 0
001117ffmov ebx, [r14]
00111802test ebx, ebx
00111804js 0x11188b
0011180alea r14, [rsp+28]
0011180fmov [r14], ebx
00111812lea rsi, [rip-0xd8031]
00111819lea r8, [rip+0xd9d98]
00111820lea rdi, [rsp+8]
00111825push 8
00111827pop rdx
00111828mov rcx, r14
0011182bcall core::fmt::builders::DebugStruct::field
00111830xorps x0, x0
00111833lea rsi, [rsp+48]
00111838movaps [rsi+112], x0
0011183cmovaps [rsi+96], x0
00111840movaps [rsi+80], x0
00111844movaps [rsi+64], x0
00111848movaps [rsi+48], x0
0011184cmovaps [rsi+32], x0
00111850movaps [rsi+16], x0
00111854movaps [rsi], x0
00111857mov edi, [r14]
0011185acall getrandom::error::os_err
0011185ftest rax, rax
00111862je 0x111903
00111868lea rcx, [rsp+32]
0011186dmov [rcx], rax
00111870mov [rcx+8], rdx
00111874lea rsi, [rip-0xbe8fb]
0011187blea r8, [rip+0xd9d56]
00111882lea rdi, [rsp+8]
00111887push 11
00111889jmp 0x1118fd
0011188b
0011188bloc_11188b:
0011188bmov edi, ebx
0011188dcall getrandom::error::internal_desc
00111892test rax, rax
00111895je 0x1118e1
00111897lea r14, [rsp+48]
0011189cmov [r14], rax
0011189fmov [r14+8], rdx
001118a3lea rcx, [rsp+32]
001118a8mov [rcx], ebx
001118aalea rsi, [rip-0xbe926]
001118b1lea r8, [rip+0xd9d40]
001118b8lea rbx, [rsp+8]
001118bdpush 13
001118bfpop rdx
001118c0mov rdi, rbx
001118c3call core::fmt::builders::DebugStruct::field
001118c8lea rsi, [rip-0xbe94f]
001118cflea r8, [rip+0xd9d02]
001118d6push 11
001118d8pop rdx
001118d9mov rdi, rbx
001118dcmov rcx, r14
001118dfjmp 0x1118fe
001118e1
001118e1loc_1118e1:
001118e1lea rcx, [rsp+48]
001118e6mov [rcx], ebx
001118e8lea rsi, [rip-0xbe957]
001118eflea r8, [rip+0xd9d02]
001118f6lea rdi, [rsp+8]
001118fbpush 12
001118fd
001118fdloc_1118fd:
001118fdpop rdx
001118fe
001118feloc_1118fe:
001118fecall core::fmt::builders::DebugStruct::field
00111903
00111903loc_111903:
00111903lea rdi, [rsp+8]
00111908call core::fmt::builders::DebugStruct::finish
0011190dadd rsp, 184
00111914pop rbx
00111915pop r14
00111917ret
001117cc
001117cc_<getrandom::error::Error as core::fmt::Debug>::fmt:
001117ccpush r14
001117cepush rbx
001117cfsub rsp, 184
001117d6mov rbx, rsi
001117d9mov r14, rdi
001117dcmov rdi, [rsi+32]
001117e0mov rax, [rsi+40]
001117e4lea rsi, [rip-0x817c6]
001117ebpush 5
001117edpop rdx
001117eecall [rax+24]
001117f1mov [rsp+8], rbx
001117f6mov [rsp+16], al
001117famov [rsp+17], 0
001117ffmov ebx, [r14]
00111802test ebx, ebx
00111804js 0x11188b
0011180alea r14, [rsp+28]
0011180fmov [r14], ebx
00111812lea rsi, [rip-0xd8031]
00111819lea r8, [rip+0xd9d98]
00111820lea rdi, [rsp+8]
00111825push 8
00111827pop rdx
00111828mov rcx, r14
0011182bcall core::fmt::builders::DebugStruct::field
00111830xorps x0, x0
00111833lea rsi, [rsp+48]
00111838movaps [rsi+112], x0
0011183cmovaps [rsi+96], x0
00111840movaps [rsi+80], x0
00111844movaps [rsi+64], x0
00111848movaps [rsi+48], x0
0011184cmovaps [rsi+32], x0
00111850movaps [rsi+16], x0
00111854movaps [rsi], x0
00111857mov edi, [r14]
0011185acall getrandom::error::os_err
0011185ftest rax, rax
00111862je 0x111903
00111868lea rcx, [rsp+32]
0011186dmov [rcx], rax
00111870mov [rcx+8], rdx
00111874lea rsi, [rip-0xbe8fb]
0011187blea r8, [rip+0xd9d56]
00111882lea rdi, [rsp+8]
00111887push 11
00111889jmp 0x1118fd
0011188b
0011188bloc_11188b:
0011188bmov edi, ebx
0011188dcall getrandom::error::internal_desc
00111892test rax, rax
00111895je 0x1118e1
00111897lea r14, [rsp+48]
0011189cmov [r14], rax
0011189fmov [r14+8], rdx
001118a3lea rcx, [rsp+32]
001118a8mov [rcx], ebx
001118aalea rsi, [rip-0xbe926]
001118b1lea r8, [rip+0xd9d40]
001118b8lea rbx, [rsp+8]
001118bdpush 13
001118bfpop rdx
001118c0mov rdi, rbx
001118c3call core::fmt::builders::DebugStruct::field
001118c8lea rsi, [rip-0xbe94f]
001118cflea r8, [rip+0xd9d02]
001118d6push 11
001118d8pop rdx
001118d9mov rdi, rbx
001118dcmov rcx, r14
001118dfjmp 0x1118fe
001118e1
001118e1loc_1118e1:
001118e1lea rcx, [rsp+48]
001118e6mov [rcx], ebx
001118e8lea rsi, [rip-0xbe957]
001118eflea r8, [rip+0xd9d02]
001118f6lea rdi, [rsp+8]
001118fbpush 12
001118fd
001118fdloc_1118fd:
001118fdpop rdx
001118fe
001118feloc_1118fe:
001118fecall core::fmt::builders::DebugStruct::field
00111903
00111903loc_111903:
00111903lea rdi, [rsp+8]
00111908call core::fmt::builders::DebugStruct::finish
0011190dadd rsp, 184
00111914pop rbx
00111915pop r14
00111917ret
001117cc
00111918
00111918_<getrandom::error::Error as core::fmt::Display>::fmt:
00111918push rbp
00111919push rbx
0011191asub rsp, 216
00111921mov rbx, rsi
00111924mov ebp, [rdi]
00111926test ebp, ebp
00111928js 0x111971
0011192amov [rsp+12], ebp
0011192exorps x0, x0
00111931lea rsi, [rsp+80]
00111936movaps [rsi+112], x0
0011193amovaps [rsi+96], x0
0011193emovaps [rsi+80], x0
00111942movaps [rsi+64], x0
00111946movaps [rsi+48], x0
0011194amovaps [rsi+32], x0
0011194emovaps [rsi+16], x0
00111952movaps [rsi], x0
00111955mov edi, ebp
00111957call getrandom::error::os_err
0011195ctest rax, rax
0011195fje 0x111997
00111961mov rdi, rbx
00111964mov rsi, rax
00111967call core::fmt::Formatter::pad
0011196cjmp 0x111a07
00111971
00111971loc_111971:
00111971mov edi, ebp
00111973call getrandom::error::internal_desc
00111978test rax, rax
0011197bje 0x1119bd
0011197dmov rdi, [rbx+32]
00111981mov rcx, [rbx+40]
00111985mov rcx, [rcx+24]
00111989mov rsi, rax
0011198cadd rsp, 216
00111993pop rbx
00111994pop rbp
00111995jmp rcx
00111997
00111997loc_111997:
00111997lea rax, [rsp+12]
0011199clea rcx, [rsp+16]
001119a1mov [rcx], rax
001119a4lea rax, [rip-6811]
001119abmov [rcx+8], rax
001119aflea rax, [rip+0xd9c62]
001119b6lea rdx, [rsp+32]
001119bbjmp 0x1119e3
001119bd
001119bdloc_1119bd:
001119bdlea rax, [rsp+16]
001119c2mov [rax], ebp
001119c4lea rcx, [rsp+32]
001119c9mov [rcx], rax
001119cclea rax, [rip-34851]
001119d3mov [rcx+8], rax
001119d7lea rax, [rip+0xd9c4a]
001119delea rdx, [rsp+80]
001119e3
001119e3loc_1119e3:
001119e3mov [rdx], rax
001119e6push 1
001119e8pop rax
001119e9mov [rdx+8], rax
001119edand [rdx+32], 0
001119f2mov [rdx+16], rcx
001119f6mov [rdx+24], rax
001119famov rdi, [rbx+32]
001119femov rsi, [rbx+40]
00111a02call core::fmt::Formatter::write_fmt
00111a07
00111a07loc_111a07:
00111a07add rsp, 216
00111a0epop rbx
00111a0fpop rbp
00111a10ret
00111918
00111918_<getrandom::error::Error as core::fmt::Display>::fmt:
00111918push rbp
00111919push rbx
0011191asub rsp, 216
00111921mov rbx, rsi
00111924mov ebp, [rdi]
00111926test ebp, ebp
00111928js 0x111971
0011192amov [rsp+12], ebp
0011192exorps x0, x0
00111931lea rsi, [rsp+80]
00111936movaps [rsi+112], x0
0011193amovaps [rsi+96], x0
0011193emovaps [rsi+80], x0
00111942movaps [rsi+64], x0
00111946movaps [rsi+48], x0
0011194amovaps [rsi+32], x0
0011194emovaps [rsi+16], x0
00111952movaps [rsi], x0
00111955mov edi, ebp
00111957call getrandom::error::os_err
0011195ctest rax, rax
0011195fje 0x111997
00111961mov rdi, rbx
00111964mov rsi, rax
00111967call core::fmt::Formatter::pad
0011196cjmp 0x111a07
00111971
00111971loc_111971:
00111971mov edi, ebp
00111973call getrandom::error::internal_desc
00111978test rax, rax
0011197bje 0x1119bd
0011197dmov rdi, [rbx+32]
00111981mov rcx, [rbx+40]
00111985mov rcx, [rcx+24]
00111989mov rsi, rax
0011198cadd rsp, 216
00111993pop rbx
00111994pop rbp
00111995jmp rcx
00111997
00111997loc_111997:
00111997lea rax, [rsp+12]
0011199clea rcx, [rsp+16]
001119a1mov [rcx], rax
001119a4lea rax, [rip-6811]
001119abmov [rcx+8], rax
001119aflea rax, [rip+0xd9c62]
001119b6lea rdx, [rsp+32]
001119bbjmp 0x1119e3
001119bd
001119bdloc_1119bd:
001119bdlea rax, [rsp+16]
001119c2mov [rax], ebp
001119c4lea rcx, [rsp+32]
001119c9mov [rcx], rax
001119cclea rax, [rip-34851]
001119d3mov [rcx+8], rax
001119d7lea rax, [rip+0xd9c4a]
001119delea rdx, [rsp+80]
001119e3
001119e3loc_1119e3:
001119e3mov [rdx], rax
001119e6push 1
001119e8pop rax
001119e9mov [rdx+8], rax
001119edand [rdx+32], 0
001119f2mov [rdx+16], rcx
001119f6mov [rdx+24], rax
001119famov rdi, [rbx+32]
001119femov rsi, [rbx+40]
00111a02call core::fmt::Formatter::write_fmt
00111a07
00111a07loc_111a07:
00111a07add rsp, 216
00111a0epop rbx
00111a0fpop rbp
00111a10ret
00111918
Loading..