File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    0010f410
    0010f410core::fmt::Formatter::write_formatted_parts:
    0010f410push rbp
    0010f411push r15
    0010f413push r14
    0010f415push r13
    0010f417push r12
    0010f419push rbx
    0010f41asub rsp, 24
    0010f41emov r15, rdx
    0010f421mov rbx, rsi
    0010f424mov r14, rdi
    0010f427mov rdx, [rdx+8]
    0010f42btest rdx, rdx
    0010f42eje 0x10f445
    0010f430mov rsi, [r15]
    0010f433mov rdi, r14
    0010f436call [rbx+24]
    0010f439mov ecx, eax
    0010f43bmov al, 1
    0010f43dtest cl, cl
    0010f43fjne 0x10f66e
    0010f445
    0010f445loc_10f445:
    0010f445mov rax, [r15+24]
    0010f449test rax, rax
    0010f44cje 0x10f66c
    0010f452mov rbp, [r15+16]
    0010f456lea rax, [rax+2*rax]
    0010f45alea r15, [8*rax]
    0010f462add r15, rbp
    0010f465lea r12, [rsp+8]
    0010f46amov [rsp+16], r15
    0010f46fjmp 0x10f4a3
    0010f471
    0010f471 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 ffffff.........
    0010f480
    0010f480loc_10f480:
    0010f480mov rsi, [rbp+8]
    0010f484mov rdx, [rbp+16]
    0010f488mov rdi, r14
    0010f48b
    0010f48bloc_10f48b:
    0010f48bcall [rbx+24]
    0010f48etest al, al
    0010f490jne 0x10f668
    0010f496
    0010f496loc_10f496:
    0010f496add rbp, 24
    0010f49acmp rbp, r15
    0010f49dje 0x10f66c
    0010f4a3
    0010f4a3loc_10f4a3:
    0010f4a3movzx eax, [rbp]
    0010f4a7test rax, rax
    0010f4aaje 0x10f510
    0010f4accmp eax, 1
    0010f4afjne 0x10f480
    0010f4b1movzx eax, [rbp+2]
    0010f4b5mov [rsp+12], 0
    0010f4bamov [rsp+8], 0
    0010f4c2movzx ecx, [rbp]
    0010f4c6test rcx, rcx
    0010f4c9je 0x10f589
    0010f4cfcmp ecx, 1
    0010f4d2jne 0x10f58f
    0010f4d8movzx ecx, [rbp+2]
    0010f4dccmp ecx, 1000
    0010f4e2jae 0x10f5bc
    0010f4e8mov edi, 1
    0010f4edcmp cx, 10
    0010f4f1jb 0x10f5d4
    0010f4f7cmp cx, 100
    0010f4fbmov edi, 3
    0010f500jmp 0x10f5ca
    0010f505nop [rax+rax]
    0010f510
    0010f510loc_10f510:
    0010f510mov r13, [rbp+8]
    0010f514cmp r13, 65
    0010f518jb 0x10f555
    0010f51amov r15, rbx
    0010f51dmov rbx, [rbx+24]
    0010f521nop [rax+rax]
    0010f530
    0010f530loc_10f530:
    0010f530mov edx, 64
    0010f535mov rdi, r14
    0010f538lea rsi, [rip-0xcbab7]
    0010f53fcall rbx
    0010f541test al, al
    0010f543jne 0x10f668
    0010f549add r13, -64
    0010f54dcmp r13, 64
    0010f551ja 0x10f530
    0010f553jmp 0x10f565
    0010f555
    0010f555loc_10f555:
    0010f555test r13, r13
    0010f558je 0x10f496
    0010f55emov r15, rbx
    0010f561mov rbx, [rbx+24]
    0010f565
    0010f565loc_10f565:
    0010f565mov rdi, r14
    0010f568lea rsi, [rip-0xcbae7]
    0010f56fmov rdx, r13
    0010f572call rbx
    0010f574test al, al
    0010f576mov rbx, r15
    0010f579mov r15, [rsp+16]
    0010f57eje 0x10f496
    0010f584jmp 0x10f668
    0010f589
    0010f589loc_10f589:
    0010f589lea rcx, [rbp+8]
    0010f58djmp 0x10f593
    0010f58f
    0010f58floc_10f58f:
    0010f58flea rcx, [rbp+16]
    0010f593
    0010f593loc_10f593:
    0010f593mov rdi, [rcx]
    0010f596cmp rdi, 6
    0010f59ajae 0x10f67d
    0010f5a0test rdi, rdi
    0010f5a3je 0x10f5b5
    0010f5a5test dil, 1
    0010f5a9jne 0x10f5d4
    0010f5ab
    0010f5abloc_10f5ab:
    0010f5ablea rcx, [rsp+rdi]
    0010f5afadd rcx, 8
    0010f5b3jmp 0x10f5f8
    0010f5b5
    0010f5b5loc_10f5b5:
    0010f5b5xor edx, edx
    0010f5b7jmp 0x10f65d
    0010f5bc
    0010f5bcloc_10f5bc:
    0010f5bcmovzx ecx, cx
    0010f5bfcmp ecx, 10000
    0010f5c5mov edi, 5
    0010f5ca
    0010f5caloc_10f5ca:
    0010f5casbb rdi, 0
    0010f5cetest dil, 1
    0010f5d2je 0x10f5ab
    0010f5d4
    0010f5d4loc_10f5d4:
    0010f5d4lea rcx, [rsp+7]
    0010f5d9add rcx, rdi
    0010f5dcmovzx edx, ax
    0010f5dfimul edx, edx, 52429
    0010f5e5shr edx, 19
    0010f5e8lea esi, [rdx+rdx]
    0010f5eblea esi, [rsi+4*rsi]
    0010f5eesub eax, esi
    0010f5f0or al, 48
    0010f5f2mov [rsp+rdi+7], al
    0010f5f6mov eax, edx
    0010f5f8
    0010f5f8loc_10f5f8:
    0010f5f8mov edx, 1
    0010f5fdcmp rdi, 1
    0010f601je 0x10f65d
    0010f603nop [rax+rax]
    0010f610
    0010f610loc_10f610:
    0010f610movzx edx, ax
    0010f613imul esi, edx, 52429
    0010f619shr esi, 19
    0010f61clea r8l, [rsi+rsi]
    0010f620lea r8l, [r8+4*r8]
    0010f624sub eax, r8l
    0010f627or al, 48
    0010f629mov [rcx-1], al
    0010f62cimul eax, esi, 6554
    0010f632shr eax, 15
    0010f635and eax, -2
    0010f638lea eax, [rax+4*rax]
    0010f63bsub esi, eax
    0010f63dor sil, 48
    0010f641mov [rcx-2], sil
    0010f645add rcx, -2
    0010f649shr edx, 2
    0010f64cimul eax, edx, 5243
    0010f652shr eax, 17
    0010f655cmp rcx, r12
    0010f658jne 0x10f610
    0010f65amov rdx, rdi
    0010f65d
    0010f65dloc_10f65d:
    0010f65dmov rdi, r14
    0010f660mov rsi, r12
    0010f663jmp 0x10f48b
    0010f668
    0010f668loc_10f668:
    0010f668mov al, 1
    0010f66ajmp 0x10f66e
    0010f66c
    0010f66cloc_10f66c:
    0010f66cxor eax, eax
    0010f66e
    0010f66eloc_10f66e:
    0010f66eadd rsp, 24
    0010f672pop rbx
    0010f673pop r12
    0010f675pop r13
    0010f677pop r14
    0010f679pop r15
    0010f67bpop rbp
    0010f67cret
    0010f67d
    0010f67dloc_10f67d:
    0010f67dlea rdx, [rip+0xdb764]
    0010f684mov esi, 5
    0010f689call core::slice::index::slice_end_index_len_fail
    0010f68eud2
    0010f410
    0010f690
    0010f690core::fmt::float::_<impl core::fmt::Display for f32>::fmt:
    0010f690mov rax, rsi
    0010f693movss x0, [rdi]
    0010f697mov esi, [rsi+52]
    0010f69acmp [rax+16], 0
    0010f69fje 0x10f6b0
    0010f6a1and esi, 1
    0010f6a4mov rdx, [rax+24]
    0010f6a8mov rdi, rax
    0010f6abjmp 0x10ebc0
    0010f6b0
    0010f6b0loc_10f6b0:
    0010f6b0and esi, 1
    0010f6b3mov rdi, rax
    0010f6b6jmp 0x10ef80
    0010f690
    0010f6bb
    0010f6bb // align 0x10
    0010f6c0
    0010f6c0core::fmt::float::float_to_decimal_common_exact:
    0010f6c0push rbp
    0010f6c1push r15
    0010f6c3push r14
    0010f6c5push r13
    0010f6c7push r12
    0010f6c9push rbx
    0010f6casub rsp, 1208
    0010f6d1mov r14, rdx
    0010f6d4mov eax, esi
    0010f6d6mov r12, rdi
    0010f6d9mov r9, 0x10000000000000
    0010f6e3movq rcx, x0
    0010f6e8mov rdx, rcx
    0010f6ebshr rdx, 52
    0010f6efand edx, 2047
    0010f6f5lea rsi, [rcx+rcx]
    0010f6f9mov r8, 0x1ffffffffffffe
    0010f703and r8, rsi
    0010f706lea rdi, [r9-1]
    0010f70aand rdi, rcx
    0010f70dlea rsi, [rdi+r9]
    0010f711test edx, edx
    0010f713cmove rsi, r8
    0010f717ucomisd x0, x0
    0010f71bjp 0x10fa63
    0010f721mov r8, 0x7ff0000000000000
    0010f72bxor r10l, r10l
    0010f72emov r11, rcx
    0010f731and r11, r8
    0010f734setne r10b
    0010f738lea rbx, [2*r10+2]
    0010f740cmp r11, r8
    0010f743mov r8l, 1
    0010f749cmove rbx, r8
    0010f74dadd r10, 3
    0010f751test rdi, rdi
    0010f754cmove r10, rbx
    0010f758dec r10
    0010f75blea rdi, [rip-0xd1f82]
    0010f762movsxd r10, [rdi+4*r10]
    0010f766add r10, rdi
    0010f769jmp r10
    0010f76cmov dil, 3
    0010f76fjmp 0x10f774
    0010f771mov dil, 4
    0010f774
    0010f774loc_10f774:
    0010f774jmp 0x10f7ba
    0010f776add edx, -1075
    0010f77ctest sil, 1
    0010f780sete dil
    0010f784jmp 0x10f7ba
    0010f786test sil, 1
    0010f78asete dil
    0010f78elea r8, [rsi+rsi]
    0010f792xor r10l, r10l
    0010f795cmp rsi, r9
    0010f798sete r10b
    0010f79cmov rsi, 0x40000000000000
    0010f7a6cmovne rsi, r8
    0010f7aalea r8, [r10+1]
    0010f7aemovzx edx, dx
    0010f7b1sub edx, r10l
    0010f7b4add edx, -1076
    0010f7ba
    0010f7baloc_10f7ba:
    0010f7bamov [rsp+152], rsi
    0010f7c2mov [rsp+160], 1
    0010f7cemov [rsp+168], r8
    0010f7d6mov [rsp+176], dx
    0010f7demov [rsp+178], dil
    0010f7e6add dil, -2
    0010f7eamovzx r8l, dil
    0010f7eecmp r8b, 3
    0010f7f2mov edi, 3
    0010f7f7cmovb edi, r8l
    0010f7fbtest dil, dil
    0010f7feje 0x10f891
    0010f804mov r13, rcx
    0010f807shr r13, 63
    0010f80btest rcx, rcx
    0010f80elea rcx, [rip-0x805cb]
    0010f815lea r8, [rip-0x7e524]
    0010f81ccmovs r8, rcx
    0010f820lea rbx, [rip-0x805de]
    0010f827cmovs rbx, rcx
    0010f82btest al, al
    0010f82dcmove rbx, r8
    0010f831mov eax, 1
    0010f836cmovne r13, rax
    0010f83acmp dil, 1
    0010f83eje 0x10f8c6
    0010f844movzx eax, dil
    0010f848cmp eax, 2
    0010f84bjne 0x10f8ec
    0010f851mov [rsp+56], 2
    0010f858test r14, r14
    0010f85bje 0x10f970
    0010f861lea rax, [rip-0xcc01c]
    0010f868mov [rsp+64], rax
    0010f86dmov [rsp+72], 2
    0010f876mov [rsp+80], 0
    0010f87dmov [rsp+88], r14
    0010f882mov eax, 2
    0010f887lea r15, [rsp+56]
    0010f88cjmp 0x10fa30
    0010f891
    0010f891loc_10f891:
    0010f891mov [rsp+56], 2
    0010f898lea rax, [rip-0xcc051]
    0010f89fmov [rsp+64], rax
    0010f8a4mov [rsp+72], 3
    0010f8admov eax, 1
    0010f8b2lea r15, [rsp+56]
    0010f8b7lea rbx, [rip-0x7e5c6]
    0010f8bexor r13l, r13l
    0010f8c1jmp 0x10fa30
    0010f8c6
    0010f8c6loc_10f8c6:
    0010f8c6mov [rsp+56], 2
    0010f8cdlea rcx, [rip-0xcc083]
    0010f8d4mov [rsp+64], rcx
    0010f8d9mov [rsp+72], 3
    0010f8e2lea r15, [rsp+56]
    0010f8e7jmp 0x10fa30
    0010f8ec
    0010f8ecloc_10f8ec:
    0010f8ecmov [rsp+8], r12
    0010f8f1test dx, dx
    0010f8f4mov rax, -12
    0010f8fbmov ecx, 5
    0010f900cmovs rcx, rax
    0010f904movsx r12, dx
    0010f908imul r12, rcx
    0010f90ccmp r12, 16064
    0010f913jae 0x10fa6b
    0010f919shr r12, 4
    0010f91dadd r12, 21
    0010f921mov eax, r14l
    0010f924neg eax
    0010f926cmp r14, 32768
    0010f92dmov ebp, 32768
    0010f932cmovb ebp, eax
    0010f935lea r15, [rsp+56]
    0010f93alea rcx, [rsp+184]
    0010f942mov rdi, r15
    0010f945mov r8, r12
    0010f948mov r9l, ebp
    0010f94bcall core::num::flt2dec::strategy::grisu::format_exact_opt
    0010f950cmp [rsp+56], 0
    0010f956je 0x10f994
    0010f958mov rax, [rsp+72]
    0010f95dmov [rsp+32], rax
    0010f962movupd x0, [rsp+56]
    0010f968movapd [rsp+16], x0
    0010f96ejmp 0x10f9b4
    0010f970
    0010f970loc_10f970:
    0010f970lea rax, [rip-0x8071d]
    0010f977mov [rsp+64], rax
    0010f97cmov [rsp+72], 1
    0010f985mov eax, 1
    0010f98alea r15, [rsp+56]
    0010f98fjmp 0x10fa30
    0010f994
    0010f994loc_10f994:
    0010f994lea rdi, [rsp+16]
    0010f999lea rsi, [rsp+152]
    0010f9a1lea rdx, [rsp+184]
    0010f9a9mov rcx, r12
    0010f9acmov r8l, ebp
    0010f9afcall core::num::flt2dec::strategy::dragon::format_exact
    0010f9b4
    0010f9b4loc_10f9b4:
    0010f9b4mov r12, [rsp+8]
    0010f9b9movzx edx, [rsp+32]
    0010f9becmp dx, bp
    0010f9c1jle 0x10f9e2
    0010f9c3mov rdi, [rsp+16]
    0010f9c8mov rsi, [rsp+24]
    0010f9cdlea r8, [rsp+56]
    0010f9d2mov rcx, r14
    0010f9d5call core::num::flt2dec::digits_to_dec_str
    0010f9damov r15, rax
    0010f9ddmov rax, rdx
    0010f9e0jmp 0x10fa30
    0010f9e2
    0010f9e2loc_10f9e2:
    0010f9e2mov [rsp+56], 2
    0010f9e9test r14, r14
    0010f9ecje 0x10fa16
    0010f9eelea rax, [rip-0xcc1a9]
    0010f9f5mov [rsp+64], rax
    0010f9famov [rsp+72], 2
    0010fa03mov [rsp+80], 0
    0010fa0amov [rsp+88], r14
    0010fa0fmov eax, 2
    0010fa14jmp 0x10fa30
    0010fa16
    0010fa16loc_10fa16:
    0010fa16lea rax, [rip-0x807c3]
    0010fa1dmov [rsp+64], rax
    0010fa22mov [rsp+72], 1
    0010fa2bmov eax, 1
    0010fa30
    0010fa30loc_10fa30:
    0010fa30mov [rsp+16], rbx
    0010fa35mov [rsp+24], r13
    0010fa3amov [rsp+32], r15
    0010fa3fmov [rsp+40], rax
    0010fa44lea rsi, [rsp+16]
    0010fa49mov rdi, r12
    0010fa4ccall core::fmt::Formatter::pad_formatted_parts
    0010fa51add rsp, 1208
    0010fa58pop rbx
    0010fa59pop r12
    0010fa5bpop r13
    0010fa5dpop r14
    0010fa5fpop r15
    0010fa61pop rbp
    0010fa62ret
    0010fa63
    0010fa63loc_10fa63:
    0010fa63mov dil, 2
    0010fa66jmp 0x10f774
    0010fa6b
    0010fa6bloc_10fa6b:
    0010fa6blea rdi, [rip-0xcc21e]
    0010fa72lea rdx, [rip+0xdb147]
    0010fa79mov esi, 37
    0010fa7ecall core::panicking::panic
    0010fa83ud2
    0010f6c0
    0010fa85
    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
    0010fd03
    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
    0010fd3b
    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
    0010fdcc
    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
    0010fe6f
    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
    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
    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
    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
    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
    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
    00110280
    00110280_<&T as core::fmt::Debug>::fmt:
    00110280mov rdi, [rdi]
    00110283jmp 0x10d140
    00110280
    00110288
    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
    001102d3
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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