File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    001d44d3
    001d44d3time::date::Date::iso_year_week:
    001d44d3push rbp
    001d44d4push rbx
    001d44d5push rax
    001d44d6mov ebx, edi
    001d44d8sar ebx, 9
    001d44dbmov ebp, edi
    001d44ddand ebp, 511
    001d44e3call time::date::Date::weekday
    001d44e8inc al
    001d44eamovzx eax, al
    001d44edsub ebp, eax
    001d44efadd ebp, 10
    001d44f2mov cx, 7
    001d44f6mov eax, ebp
    001d44f8xor edx, edx
    001d44fadiv cx
    001d44fdmov edx, eax
    001d44ffcmp dl, 53
    001d4502je 0x1d4518
    001d4504movzx eax, dl
    001d4507test eax, eax
    001d4509jne 0x1d4531
    001d450bdec ebx
    001d450dmov edi, ebx
    001d450fcall time_core::util::weeks_in_year
    001d4514mov edx, eax
    001d4516jmp 0x1d4531
    001d4518
    001d4518loc_1d4518:
    001d4518mov edi, ebx
    001d451acall time_core::util::weeks_in_year
    001d451fxor ecx, ecx
    001d4521cmp al, 52
    001d4523sete cl
    001d4526push 1
    001d4528pop rax
    001d4529push 53
    001d452bpop rdx
    001d452ccmove edx, eax
    001d452fadd ebx, ecx
    001d4531
    001d4531loc_1d4531:
    001d4531mov eax, ebx
    001d4533add rsp, 8
    001d4537pop rbx
    001d4538pop rbp
    001d4539ret
    001d44d3
    001d453a
    001d453atime::date::Date::weekday:
    001d453apush rax
    001d453bcall time::date::Date::to_julian_day
    001d4540push 7
    001d4542pop rcx
    001d4543cdq
    001d4544idiv ecx
    001d4546movsxd rax, edx
    001d4549lea rcx, [rip-0x14142c]
    001d4550mov al, [rax+rcx+6]
    001d4554pop rcx
    001d4555ret
    001d453a
    001d4556
    001d4556time::date::Date::to_julian_day:
    001d4556mov ecx, edi
    001d4558sar ecx, 9
    001d455bdec ecx
    001d455dpush -100
    001d455fpop rsi
    001d4560mov eax, ecx
    001d4562cdq
    001d4563idiv esi
    001d4565mov esi, eax
    001d4567push 100
    001d4569pop r8
    001d456bmov eax, ecx
    001d456dcdq
    001d456eidiv r8l
    001d4571mov r8l, edx
    001d4574mov r9l, 400
    001d457amov eax, ecx
    001d457ccdq
    001d457didiv r9l
    001d4580and edi, 511
    001d4586imul r9l, ecx, 365
    001d458dsar ecx, 2
    001d4590shr r8l, 31
    001d4594sar edx, 31
    001d4597add edx, ecx
    001d4599add eax, edi
    001d459badd r9l, esi
    001d459eadd r9l, eax
    001d45a1add r9l, edx
    001d45a4lea eax, [r8+r9]
    001d45a8add eax, 0x1a4451
    001d45adret
    001d4556
    001d45ae
    001d45aetime::date::Date::sunday_based_week:
    001d45aepush rbx
    001d45afmov ebx, edi
    001d45b1and ebx, 511
    001d45b7call time::date::Date::weekday
    001d45bcmovzx edi, al
    001d45bfcall time::weekday::Weekday::number_days_from_sunday
    001d45c4movzx eax, al
    001d45c7sub ebx, eax
    001d45c9add ebx, 6
    001d45ccmov cx, 7
    001d45d0mov eax, ebx
    001d45d2xor edx, edx
    001d45d4div cx
    001d45d7pop rbx
    001d45d8ret
    001d45ae
    001d45d9
    001d45d9time::weekday::Weekday::number_days_from_sunday:
    001d45d9lea ecx, [8*rdi]
    001d45e0mov rax, 0x60504030201
    001d45eashr rax, cl
    001d45edret
    001d45d9
    001d45ee
    001d45eetime::date::Date::monday_based_week:
    001d45eepush rbx
    001d45efmov ebx, edi
    001d45f1and ebx, 511
    001d45f7call time::date::Date::weekday
    001d45fcmovzx eax, al
    001d45ffsub ebx, eax
    001d4601add ebx, 6
    001d4604mov cx, 7
    001d4608mov eax, ebx
    001d460axor edx, edx
    001d460cdiv cx
    001d460fpop rbx
    001d4610ret
    001d45ee
    001d4611
    001d4611time::expect_failed:
    001d4611sub rsp, 24
    001d4615lea rax, [rip-0x143206]
    001d461clea rdi, [rsp+8]
    001d4621mov [rdi], rax
    001d4624mov [rdi+8], 33
    001d462ccall core::panicking::panic_display
    001d4631ud2
    001d4611
    001d4633
    001d4633core::panicking::panic_display:
    001d4633sub rsp, 72
    001d4637lea rax, [rsp+8]
    001d463cmov [rax], rdi
    001d463flea rcx, [rip+0x3cf4a]
    001d4646lea rdi, [rsp+24]
    001d464bmov [rdi], rcx
    001d464epush 1
    001d4650pop rcx
    001d4651mov [rdi+8], rcx
    001d4655and [rdi+32], 0
    001d465alea rdx, [rip-0xd2eb4]
    001d4661mov [rax+8], rdx
    001d4665mov [rdi+16], rax
    001d4669mov [rdi+24], rcx
    001d466dlea rsi, [rip+0x3cf5c]
    001d4674call core::panicking::panic_fmt
    001d4679ud2
    001d4633
    001d467b
    001d467bcore::option::Option<T>::expect:
    001d467btest edi, edi
    001d467dje 0x1d4682
    001d467fmov eax, edi
    001d4681ret
    001d4682
    001d4682loc_1d4682:
    001d4682push rax
    001d4683mov rdi, rsi
    001d4686mov rsi, rdx
    001d4689mov rdx, rcx
    001d468ccall core::option::expect_failed
    001d4691ud2
    001d467b
    001d4693
    001d4693time::date_time::DateTime<O>::to_offset_raw:
    001d4693push rbp
    001d4694push r15
    001d4696push r14
    001d4698push r13
    001d469apush r12
    001d469cpush rbx
    001d469dpush rax
    001d469emovzx ebx, [rsi+12]
    001d46a2movzx ecx, [rsi+14]
    001d46a6shl ecx, 16
    001d46a9or ecx, ebx
    001d46abmov eax, ebx
    001d46adshr eax, 8
    001d46b0mov r9l, edx
    001d46b3shr r9l, 8
    001d46b7cmp bl, dl
    001d46b9jne 0x1d46ef
    001d46bbcmp al, r9b
    001d46bejne 0x1d46ef
    001d46c0mov r8l, ecx
    001d46c3shr r8l, 16
    001d46c7mov r10l, edx
    001d46cashr r10l, 16
    001d46cemov r9l, eax
    001d46d1cmp r8b, r10b
    001d46d4jne 0x1d46ef
    001d46d6mov r12l, [rsi]
    001d46d9mov ebp, r12l
    001d46dcsar ebp, 9
    001d46dfand r12l, 511
    001d46e6mov rax, [rsi+4]
    001d46eajmp 0x1d4862
    001d46ef
    001d46efloc_1d46ef:
    001d46efmov [rsp], rdi
    001d46f3mov r14, [rsi+4]
    001d46f7mov r10, r14
    001d46fashr r10, 32
    001d46femov r11l, 255
    001d4704and r10l, r11l
    001d4707shr ecx, 16
    001d470amovsx ecx, cl
    001d470dsub r10l, ecx
    001d4710mov ecx, edx
    001d4712shr ecx, 16
    001d4715movsx r8l, cl
    001d4719add r8l, r10l
    001d471cmov r10, r14
    001d471fshr r10, 40
    001d4723and r10l, r11l
    001d4726movsx eax, al
    001d4729sub r10l, eax
    001d472cmovsx ecx, r9b
    001d4730add ecx, r10l
    001d4733mov rax, r14
    001d4736shr rax, 48
    001d473asub al, bl
    001d473cmov ebp, [rsi]
    001d473ecmp r8w, 59
    001d4743jle 0x1d475c
    001d4745lea r15l, [r8-60]
    001d4749movsx ecx, cx
    001d474ccmp r15w, 59
    001d4751jbe 0x1d477b
    001d4753add r8l, -120
    001d4757add ecx, 2
    001d475ajmp 0x1d4776
    001d475c
    001d475cloc_1d475c:
    001d475ctest r8w, r8w
    001d4760jns 0x1d4776
    001d4762movsx ecx, cx
    001d4765mov r15l, r8l
    001d4768sub r15w, -60
    001d476djae 0x1d477f
    001d476fadd r8l, 120
    001d4773add ecx, -2
    001d4776
    001d4776loc_1d4776:
    001d4776mov r15l, r8l
    001d4779jmp 0x1d4781
    001d477b
    001d477bloc_1d477b:
    001d477binc ecx
    001d477djmp 0x1d4781
    001d477f
    001d477floc_1d477f:
    001d477fdec ecx
    001d4781
    001d4781loc_1d4781:
    001d4781mov r12l, ebp
    001d4784and r12l, 511
    001d478badd al, dl
    001d478dcmp cx, 59
    001d4791jle 0x1d47ab
    001d4793movsx ecx, cx
    001d4796lea r13l, [rcx-60]
    001d479acmp r13w, 59
    001d479fjbe 0x1d47b5
    001d47a1add ecx, -120
    001d47a4add al, 2
    001d47a6mov r13l, ecx
    001d47a9jmp 0x1d47d1
    001d47ab
    001d47abloc_1d47ab:
    001d47abtest cx, cx
    001d47aejs 0x1d47b9
    001d47b0mov r13l, ecx
    001d47b3jmp 0x1d47d1
    001d47b5
    001d47b5loc_1d47b5:
    001d47b5inc al
    001d47b7jmp 0x1d47d1
    001d47b9
    001d47b9loc_1d47b9:
    001d47b9mov r13l, ecx
    001d47bcsub r13w, -60
    001d47c1jae 0x1d47cf
    001d47c3movsx r13l, cx
    001d47c7add r13l, 120
    001d47cbadd al, -2
    001d47cdjmp 0x1d47d1
    001d47cf
    001d47cfloc_1d47cf:
    001d47cfdec al
    001d47d1
    001d47d1loc_1d47d1:
    001d47d1sar ebp, 9
    001d47d4cmp al, 23
    001d47d6jle 0x1d47ec
    001d47d8lea ebx, [rax-24]
    001d47dbmovzx r12l, r12w
    001d47dfcmp bl, 23
    001d47e2jbe 0x1d4805
    001d47e4add al, -48
    001d47e6add r12l, 2
    001d47eajmp 0x1d4801
    001d47ec
    001d47ecloc_1d47ec:
    001d47ectest al, al
    001d47eejns 0x1d4801
    001d47f0movzx r12l, r12w
    001d47f4mov ebx, eax
    001d47f6sub bl, -24
    001d47f9jae 0x1d480a
    001d47fbadd al, 48
    001d47fdadd r12l, -2
    001d4801
    001d4801loc_1d4801:
    001d4801mov ebx, eax
    001d4803jmp 0x1d480d
    001d4805
    001d4805loc_1d4805:
    001d4805inc r12l
    001d4808jmp 0x1d480d
    001d480a
    001d480aloc_1d480a:
    001d480adec r12l
    001d480d
    001d480dloc_1d480d:
    001d480dmov edi, ebp
    001d480fcall time_core::util::days_in_year
    001d4814cmp r12w, ax
    001d4818jle 0x1d4825
    001d481amovsx r12l, r12w
    001d481esub r12l, eax
    001d4821inc ebp
    001d4823jmp 0x1d483b
    001d4825
    001d4825loc_1d4825:
    001d4825test r12w, r12w
    001d4829jg 0x1d483b
    001d482bdec ebp
    001d482dmov edi, ebp
    001d482fcall time_core::util::days_in_year
    001d4834movsx r12l, r12w
    001d4838add r12l, eax
    001d483b
    001d483bloc_1d483b:
    001d483bmov rdi, [rsp]
    001d483fmovzx eax, bl
    001d4842shl rax, 48
    001d4846movzx ecx, r13b
    001d484ashl rcx, 40
    001d484eor rcx, rax
    001d4851movzx edx, r15w
    001d4855shl rdx, 32
    001d4859or rdx, rcx
    001d485cmov eax, r14l
    001d485for rax, rdx
    001d4862
    001d4862loc_1d4862:
    001d4862mov [rdi], ebp
    001d4864mov [rdi+4], r12w
    001d4869mov [rdi+8], rax
    001d486dadd rsp, 8
    001d4871pop rbx
    001d4872pop r12
    001d4874pop r13
    001d4876pop r14
    001d4878pop r15
    001d487apop rbp
    001d487bret
    001d4693
    001d487c
    001d487ctime::date_time::DateTime<O>::unix_timestamp:
    001d487cpush r14
    001d487epush rbx
    001d487fpush rax
    001d4880mov rbx, rdi
    001d4883movzx eax, [rdi+12]
    001d4887movsx rcx, al
    001d488bshr eax, 8
    001d488emovsx rdx, [rdi+14]
    001d4893imul rcx, rcx, -3600
    001d489asub rcx, rdx
    001d489dmovsx rax, al
    001d48a1imul r14, rax, -60
    001d48a5add r14, rcx
    001d48a8mov edi, [rdi]
    001d48aacall time::date::Date::to_julian_day
    001d48afadd eax, 0xffffffffffdac274
    001d48b4cdqe
    001d48b6imul rcx, rax, 0x15180
    001d48bdadd rcx, r14
    001d48c0mov rax, [rbx+4]
    001d48c4mov rdx, rax
    001d48c7shr rdx, 48
    001d48cbmov esi, 255
    001d48d0and rdx, rsi
    001d48d3imul rdx, rdx, 3600
    001d48damov rdi, rax
    001d48ddshr rdi, 40
    001d48e1and rdi, rsi
    001d48e4imul rdi, rdi, 60
    001d48e8add rdi, rdx
    001d48ebshr rax, 32
    001d48efand rax, rsi
    001d48f2add rax, rdi
    001d48f5add rax, rcx
    001d48f8add rsp, 8
    001d48fcpop rbx
    001d48fdpop r14
    001d48ffret
    001d487c
    001d4900
    001d4900_<time::date_time::DateTime<O> as core::cmp::PartialOrd>::partial_cmp:
    001d4900push r15
    001d4902push r14
    001d4904push rbx
    001d4905sub rsp, 32
    001d4909mov rbx, rsi
    001d490cmov rsi, rdi
    001d490fmov r14, rsp
    001d4912mov rdi, r14
    001d4915xor edx, edx
    001d4917call time::date_time::DateTime<O>::to_offset_raw
    001d491clea r15, [rsp+16]
    001d4921mov rdi, r15
    001d4924mov rsi, rbx
    001d4927xor edx, edx
    001d4929call time::date_time::DateTime<O>::to_offset_raw
    001d492emov ecx, [r14]
    001d4931xor eax, eax
    001d4933cmp ecx, [r15]
    001d4936setne al
    001d4939mov ecx, 255
    001d493ecmovl eax, ecx
    001d4941test al, al
    001d4943jne 0x1d4982
    001d4945movzx edx, [rsp+4]
    001d494axor eax, eax
    001d494ccmp dx, [rsp+20]
    001d4951setne al
    001d4954cmovb eax, ecx
    001d4957test al, al
    001d4959jne 0x1d4982
    001d495bmov rax, 0xffffff3fffffff
    001d4965mov rcx, [rsp+8]
    001d496aand rcx, rax
    001d496dand rax, [rsp+24]
    001d4972xor edx, edx
    001d4974cmp rcx, rax
    001d4977setne dl
    001d497amov eax, 255
    001d497fcmovae eax, edx
    001d4982
    001d4982loc_1d4982:
    001d4982add rsp, 32
    001d4986pop rbx
    001d4987pop r14
    001d4989pop r15
    001d498bret
    001d4900
    001d498c
    001d498c_<time::error::format::Format as core::fmt::Display>::fmt:
    001d498cmov rax, [rdi]
    001d498ftest rax, rax
    001d4992je 0x1d49f4
    001d4994cmp eax, 1
    001d4997jne 0x1d4a0c
    001d4999sub rsp, 72
    001d499dadd rdi, 8
    001d49a1mov rax, rsp
    001d49a4mov [rax], rdi
    001d49a7lea rcx, [rsp+8]
    001d49acmov [rcx], rax
    001d49aflea rax, [rip-1830]
    001d49b6mov [rcx+8], rax
    001d49balea rax, [rip+0x3cc3f]
    001d49c1lea rdx, [rsp+24]
    001d49c6mov [rdx], rax
    001d49c9mov [rdx+8], 2
    001d49d1and [rdx+32], 0
    001d49d6mov [rdx+16], rcx
    001d49damov [rdx+24], 1
    001d49e2mov rdi, [rsi+32]
    001d49e6mov rsi, [rsi+40]
    001d49eacall core::fmt::Formatter::write_fmt
    001d49efadd rsp, 72
    001d49f3ret
    001d49f4
    001d49f4loc_1d49f4:
    001d49f4mov rdi, [rsi+32]
    001d49f8mov rax, [rsi+40]
    001d49fcmov rax, [rax+24]
    001d4a00lea rsi, [rip-0x1435b1]
    001d4a07push 87
    001d4a09pop rdx
    001d4a0ajmp rax
    001d4a0c
    001d4a0cloc_1d4a0c:
    001d4a0cadd rdi, 8
    001d4a10jmp 0x1a3230
    001d498c
    001d4a15
    001d4a15time::offset_date_time::OffsetDateTime::now_utc:
    001d4a15push rbp
    001d4a16push r15
    001d4a18push r14
    001d4a1apush r13
    001d4a1cpush r12
    001d4a1epush rbx
    001d4a1fsub rsp, 88
    001d4a23mov rbx, rdi
    001d4a26mov r13, 0xa8bfffffffff
    001d4a30call std::time::SystemTime::now
    001d4a35lea rsi, [rsp+48]
    001d4a3amov [rsi], rax
    001d4a3dmov [rsi+8], edx
    001d4a40lea r12, [rsp+64]
    001d4a45mov rdi, r12
    001d4a48call std::time::SystemTime::duration_since
    001d4a4dmov rcx, [r12+8]
    001d4a52push 60
    001d4a54pop rsi
    001d4a55mov rax, rcx
    001d4a58xor edx, edx
    001d4a5adiv rsi
    001d4a5dmov r14, rdx
    001d4a60xor r15l, r15l
    001d4a63xor edx, edx
    001d4a65div rsi
    001d4a68mov rsi, rdx
    001d4a6bcmp [r12], 0
    001d4a70mov ebp, [r12+16]
    001d4a75je 0x1d4ab0
    001d4a77mov r8, r13
    001d4a7axor r13l, r13l
    001d4a7dmov edi, 3600
    001d4a82mov rax, rcx
    001d4a85xor edx, edx
    001d4a87div rdi
    001d4a8apush 24
    001d4a8cpop rdi
    001d4a8dxor edx, edx
    001d4a8fdiv rdi
    001d4a92mov r12, rdx
    001d4a95test rbp, rbp
    001d4a98je 0x1d4b30
    001d4a9exor r14, 255
    001d4aa5mov r13l, 0x3b9aca00
    001d4aabjmp 0x1d4b3c
    001d4ab0
    001d4ab0loc_1d4ab0:
    001d4ab0mov edi, 3600
    001d4ab5mov rax, rcx
    001d4ab8xor edx, edx
    001d4abadiv rdi
    001d4abdpush 24
    001d4abfpop rdi
    001d4ac0xor edx, edx
    001d4ac2div rdi
    001d4ac5shl rdx, 48
    001d4ac9shl rsi, 40
    001d4acdor rsi, rdx
    001d4ad0shl r14, 32
    001d4ad4or r14, rsi
    001d4ad7cmp rcx, r13
    001d4adaja 0x1d4b0f
    001d4adcxor r15l, r15l
    001d4adfmov esi, 0x15180
    001d4ae4mov rax, rcx
    001d4ae7xor edx, edx
    001d4ae9div rsi
    001d4aecadd eax, 0x253d8c
    001d4af1jo 0x1d4b0f
    001d4af3mov r12, rsp
    001d4af6mov rdi, r12
    001d4af9mov esi, eax
    001d4afbcall time::date::Date::from_julian_day
    001d4b00xor r15l, r15l
    001d4b03cmp [r12+40], 2
    001d4b09jne 0x1d4b0f
    001d4b0bmov r15l, [rsp]
    001d4b0f
    001d4b0floc_1d4b0f:
    001d4b0for r14, rbp
    001d4b12lea rsi, [rip-0x196a99]
    001d4b19lea rcx, [rip+0x3ca80]
    001d4b20push 32
    001d4b22pop rdx
    001d4b23mov edi, r15l
    001d4b26call core::option::Option<T>::expect
    001d4b2bjmp 0x1d4c54
    001d4b30
    001d4b30loc_1d4b30:
    001d4b30test r14, r14
    001d4b33je 0x1d4c73
    001d4b39neg r14
    001d4b3c
    001d4b3cloc_1d4b3c:
    001d4b3cxor rsi, 255
    001d4b43shl r14, 32
    001d4b47mov rdx, 0x3c00000000
    001d4b51add rdx, r14
    001d4b54mov rax, 0xff00000000
    001d4b5eand rax, rdx
    001d4b61
    001d4b61loc_1d4b61:
    001d4b61not r12b
    001d4b64shl rsi, 40
    001d4b68mov rdi, 0x3c0000000000
    001d4b72add rdi, rsi
    001d4b75mov rdx, 0xff0000000000
    001d4b7fand rdx, rdi
    001d4b82
    001d4b82loc_1d4b82:
    001d4b82sub r13l, ebp
    001d4b85lea esi, [r12+24]
    001d4b8atest r12b, r12b
    001d4b8dmovzx edi, r12b
    001d4b91movzx esi, sil
    001d4b95cmovns esi, edi
    001d4b98movzx r14l, sil
    001d4b9cshl r14, 48
    001d4ba0or r14, rdx
    001d4ba3or r13, rax
    001d4ba6xor r15l, r15l
    001d4ba9cmp rcx, r8
    001d4bacja 0x1d4bdf
    001d4baexor r15l, r15l
    001d4bb1mov esi, 0x15180
    001d4bb6mov rax, rcx
    001d4bb9xor edx, edx
    001d4bbbdiv rsi
    001d4bbemov esi, 0x253d8c
    001d4bc3sub esi, eax
    001d4bc5jo 0x1d4bdf
    001d4bc7mov rbp, rsp
    001d4bcamov rdi, rbp
    001d4bcdcall time::date::Date::from_julian_day
    001d4bd2xor r15l, r15l
    001d4bd5cmp [rbp+40], 2
    001d4bd9jne 0x1d4bdf
    001d4bdbmov r15l, [rsp]
    001d4bdf
    001d4bdfloc_1d4bdf:
    001d4bdfor r14, r13
    001d4be2lea rsi, [rip-0x14385d]
    001d4be9lea rcx, [rip+0x3c9c8]
    001d4bf0push 39
    001d4bf2pop rdx
    001d4bf3mov edi, r15l
    001d4bf6call core::option::Option<T>::expect
    001d4bfbtest r12b, r12b
    001d4bfejns 0x1d4c54
    001d4c00mov eax, r15l
    001d4c03and eax, 511
    001d4c08cmp eax, 1
    001d4c0bjne 0x1d4c33
    001d4c0dxor ebp, ebp
    001d4c0fcmp r15l, 0xffffffffffb1e201
    001d4c16je 0x1d4c39
    001d4c18sar r15l, 9
    001d4c1cdec r15l
    001d4c1fmov edi, r15l
    001d4c22call time_core::util::days_in_year
    001d4c27shl r15l, 9
    001d4c2bmovzx ebp, ax
    001d4c2eor ebp, r15l
    001d4c31jmp 0x1d4c39
    001d4c33
    001d4c33loc_1d4c33:
    001d4c33dec r15l
    001d4c36mov ebp, r15l
    001d4c39
    001d4c39loc_1d4c39:
    001d4c39lea rsi, [rip-0x143809]
    001d4c40lea rcx, [rip+0x3c9a1]
    001d4c47push 31
    001d4c49pop rdx
    001d4c4amov edi, ebp
    001d4c4ccall core::option::Option<T>::expect
    001d4c51mov r15l, ebp
    001d4c54
    001d4c54loc_1d4c54:
    001d4c54and [rbx+12], 0
    001d4c59mov [rbx+14], 0
    001d4c5dmov [rbx], r15l
    001d4c60mov [rbx+4], r14
    001d4c64add rsp, 88
    001d4c68pop rbx
    001d4c69pop r12
    001d4c6bpop r13
    001d4c6dpop r14
    001d4c6fpop r15
    001d4c71pop rbp
    001d4c72ret
    001d4c73
    001d4c73loc_1d4c73:
    001d4c73xor eax, eax
    001d4c75test rsi, rsi
    001d4c78je 0x1d4c85
    001d4c7aneg rsi
    001d4c7dxor r13l, r13l
    001d4c80jmp 0x1d4b61
    001d4c85
    001d4c85loc_1d4c85:
    001d4c85neg r12b
    001d4c88xor r13l, r13l
    001d4c8bxor edx, edx
    001d4c8djmp 0x1d4b82
    001d4a15
    001d4c92
    001d4c92time::offset_date_time::OffsetDateTime::to_offset:
    001d4c92push r15
    001d4c94push r14
    001d4c96push rbx
    001d4c97sub rsp, 16
    001d4c9bmov ebx, edx
    001d4c9dmov r14, rdi
    001d4ca0movzx eax, [rsi+12]
    001d4ca4cmp al, bl
    001d4ca6jne 0x1d4cd3
    001d4ca8movzx ecx, [rsi+14]
    001d4cacshl ecx, 16
    001d4cafor eax, ecx
    001d4cb1mov ecx, eax
    001d4cb3shr ecx, 8
    001d4cb6mov edx, ebx
    001d4cb8shr edx, 8
    001d4cbbcmp cl, dl
    001d4cbdjne 0x1d4cd3
    001d4cbfshr eax, 16
    001d4cc2mov ecx, ebx
    001d4cc4shr ecx, 16
    001d4cc7cmp al, cl
    001d4cc9jne 0x1d4cd3
    001d4ccbmov eax, [rsi]
    001d4ccdmov rcx, [rsi+4]
    001d4cd1jmp 0x1d4d00
    001d4cd3
    001d4cd3loc_1d4cd3:
    001d4cd3mov r15, rsp
    001d4cd6mov rdi, r15
    001d4cd9mov edx, ebx
    001d4cdbcall time::date_time::DateTime<O>::to_offset_raw
    001d4ce0mov eax, [r15]
    001d4ce3lea ecx, [rax-10000]
    001d4ce9cmp ecx, -19999
    001d4cefjb 0x1d4d35
    001d4cf1movzx edx, [rsp+4]
    001d4cf6mov rcx, [rsp+8]
    001d4cfbshl eax, 9
    001d4cfeor eax, edx
    001d4d00
    001d4d00loc_1d4d00:
    001d4d00mov rdx, rcx
    001d4d03shr rdx, 56
    001d4d07test dl, dl
    001d4d09jne 0x1d4d35
    001d4d0bmov [r14], eax
    001d4d0emov rax, 0xffffffffffffff
    001d4d18and rcx, rax
    001d4d1bmov [r14+4], rcx
    001d4d1fmov [r14+12], bx
    001d4d24shr ebx, 16
    001d4d27mov [r14+14], bl
    001d4d2badd rsp, 16
    001d4d2fpop rbx
    001d4d30pop r14
    001d4d32pop r15
    001d4d34ret
    001d4d35
    001d4d35loc_1d4d35:
    001d4d35call time::expect_failed
    001d4d3aud2
    001d4c92
    001d4d3c
    001d4d3ctime::offset_date_time::OffsetDateTime::unix_timestamp_nanos:
    001d4d3cpush rbx
    001d4d3dmov rbx, rdi
    001d4d40call time::date_time::DateTime<O>::unix_timestamp
    001d4d45mov ecx, 0x3b9aca00
    001d4d4aimul rcx
    001d4d4dmov ecx, [rbx+4]
    001d4d50add rax, rcx
    001d4d53adc rdx, 0
    001d4d57pop rbx
    001d4d58ret
    001d4d3c
    001d4d59
    001d4d59_<u8 as time::ext::DigitCount>::num_digits:
    001d4d59test dil, dil
    001d4d5cje 0x1d4d75
    001d4d5emovzx eax, dil
    001d4d62lea ecx, [rax+758]
    001d4d68add eax, 412
    001d4d6dand eax, ecx
    001d4d6fshr eax, 8
    001d4d72inc al
    001d4d74ret
    001d4d75
    001d4d75loc_1d4d75:
    001d4d75mov al, 1
    001d4d77ret
    001d4d59
    001d4d78
    001d4d78_<u16 as time::ext::DigitCount>::num_digits:
    001d4d78test di, di
    001d4d7bje 0x1d4da3
    001d4d7dmovzx eax, di
    001d4d80lea ecx, [rax+0x5fff6]
    001d4d86lea edx, [rax+0x7ff9c]
    001d4d8cand edx, ecx
    001d4d8elea ecx, [rax+0xdfc18]
    001d4d94add eax, 0x7d8f0
    001d4d99and eax, ecx
    001d4d9bxor eax, edx
    001d4d9dshr eax, 17
    001d4da0inc al
    001d4da2ret
    001d4da3
    001d4da3loc_1d4da3:
    001d4da3mov al, 1
    001d4da5ret
    001d4d78
    001d4da6
    001d4da6time_core::util::is_leap_year:
    001d4da6test dil, 3
    001d4daaje 0x1d4daf
    001d4dacxor eax, eax
    001d4dae
    001d4daeloc_1d4dae:
    001d4daeret
    001d4daf
    001d4dafloc_1d4daf:
    001d4dafpush 25
    001d4db1pop rcx
    001d4db2mov eax, edi
    001d4db4cdq
    001d4db5idiv ecx
    001d4db7mov al, 1
    001d4db9test edx, edx
    001d4dbbjne 0x1d4dae
    001d4dbdtest dil, 15
    001d4dc1sete al
    001d4dc4ret
    001d4da6
    001d4dc5
    001d4dc5time_core::util::days_in_year:
    001d4dc5push rax
    001d4dc6call time_core::util::is_leap_year
    001d4dcbmovzx eax, al
    001d4dceadd eax, 365
    001d4dd3pop rcx
    001d4dd4ret
    001d4dc5
    001d4dd5
    001d4dd5time_core::util::weeks_in_year:
    001d4dd5mov eax, edi
    001d4dd7mov ecx, 400
    001d4ddccdq
    001d4dddidiv ecx
    001d4ddfadd ecx, edx
    001d4de1test edx, edx
    001d4de3cmovns ecx, edx
    001d4de6lea eax, [rcx-4]
    001d4de9cmp eax, 61
    001d4decjbe 0x1d4e46
    001d4dee
    001d4deeloc_1d4dee:
    001d4deelea eax, [rcx-71]
    001d4df1cmp eax, 62
    001d4df4jbe 0x1d4e58
    001d4df6
    001d4df6loc_1d4df6:
    001d4df6lea eax, [rcx-139]
    001d4dfccmp eax, 62
    001d4dffjbe 0x1d4e6a
    001d4e01
    001d4e01loc_1d4e01:
    001d4e01lea eax, [rcx-207]
    001d4e07cmp eax, 61
    001d4e0ajbe 0x1d4e7c
    001d4e0c
    001d4e0cloc_1d4e0c:
    001d4e0clea eax, [rcx-274]
    001d4e12cmp eax, 62
    001d4e15ja 0x1d4e27
    001d4e17mov rdx, 0x4208410420420841
    001d4e21bt rdx, rax
    001d4e25jb 0x1d4e8c
    001d4e27
    001d4e27loc_1d4e27:
    001d4e27mov al, 52
    001d4e29add ecx, -342
    001d4e2fcmp ecx, 56
    001d4e32ja 0x1d4e8e
    001d4e34mov rdx, 0x104208410420841
    001d4e3ebt rdx, rcx
    001d4e42jb 0x1d4e8c
    001d4e44jmp 0x1d4e8e
    001d4e46
    001d4e46loc_1d4e46:
    001d4e46mov rdx, 0x2104108210410821
    001d4e50bt rdx, rax
    001d4e54jb 0x1d4e8c
    001d4e56jmp 0x1d4dee
    001d4e58
    001d4e58loc_1d4e58:
    001d4e58mov rdx, 0x4208210410420821
    001d4e62bt rdx, rax
    001d4e66jb 0x1d4e8c
    001d4e68jmp 0x1d4df6
    001d4e6a
    001d4e6aloc_1d4e6a:
    001d4e6amov rdx, 0x4104208210420821
    001d4e74bt rdx, rax
    001d4e78jb 0x1d4e8c
    001d4e7ajmp 0x1d4e01
    001d4e7c
    001d4e7cloc_1d4e7c:
    001d4e7cmov rdx, 0x2104208210420821
    001d4e86bt rdx, rax
    001d4e8ajae 0x1d4e0c
    001d4e8c
    001d4e8cloc_1d4e8c:
    001d4e8cmov al, 53
    001d4e8e
    001d4e8eloc_1d4e8e:
    001d4e8eret
    001d4dd5
    001d4e8f
    001d4e8f // align 0x10
    001d4e90
    001d4e90__umodti3:
    001d4e90mov r8, rdx
    001d4e93test rcx, rcx
    001d4e96je 0x1d4f0f
    001d4e98mov r9, rcx
    001d4e9bbsr r10, rcx
    001d4e9fmov eax, r10l
    001d4ea2xor eax, 63
    001d4ea5mov cl, 64
    001d4ea7sub cl, al
    001d4ea9mov rax, r8
    001d4eacshrd rax, r9, cl
    001d4eb0mov r11, r9
    001d4eb3shr r11, cl
    001d4eb6test cl, 64
    001d4eb9cmove r11, rax
    001d4ebdmov rax, rsi
    001d4ec0shld rax, rdi, 63
    001d4ec5mov rdx, rsi
    001d4ec8shr rdx, 1
    001d4ecbdiv r11
    001d4ecemov ecx, r10l
    001d4ed1shr rax, cl
    001d4ed4xor ecx, ecx
    001d4ed6sub rax, 1
    001d4edacmovb rax, rcx
    001d4edemov r10, rax
    001d4ee1imul r10, r9
    001d4ee5mul r8
    001d4ee8add rdx, r10
    001d4eebsub rdi, rax
    001d4eeesbb rsi, rdx
    001d4ef1cmp rdi, r8
    001d4ef4mov rax, rsi
    001d4ef7sbb rax, r9
    001d4efacmovb r9, rcx
    001d4efecmovb r8, rcx
    001d4f02sub rdi, r8
    001d4f05sbb rsi, r9
    001d4f08mov rax, rdi
    001d4f0bmov rdx, rsi
    001d4f0eret
    001d4f0f
    001d4f0floc_1d4f0f:
    001d4f0fcmp rsi, r8
    001d4f12jae 0x1d4f1f
    001d4f14mov rax, rdi
    001d4f17mov rdx, rsi
    001d4f1adiv r8
    001d4f1djmp 0x1d4f42
    001d4f1f
    001d4f1floc_1d4f1f:
    001d4f1fmov rax, rsi
    001d4f22or rax, r8
    001d4f25shr rax, 32
    001d4f29je 0x1d4f35
    001d4f2bmov rax, rsi
    001d4f2exor edx, edx
    001d4f30div r8
    001d4f33jmp 0x1d4f3c
    001d4f35
    001d4f35loc_1d4f35:
    001d4f35mov eax, esi
    001d4f37xor edx, edx
    001d4f39div r8l
    001d4f3c
    001d4f3cloc_1d4f3c:
    001d4f3cmov rax, rdi
    001d4f3fdiv r8
    001d4f42
    001d4f42loc_1d4f42:
    001d4f42xor esi, esi
    001d4f44mov rdi, rdx
    001d4f47mov rax, rdi
    001d4f4amov rdx, rsi
    001d4f4dret
    001d4e90
    001d4f4e
    001d4f4e // align 0x10
    001d4f50
    001d4f50__divti3:
    001d4f50push r14
    001d4f52push rbx
    001d4f53sub rsp, 40
    001d4f57mov rbx, rcx
    001d4f5amov rcx, rdx
    001d4f5dmov r14, rsi
    001d4f60mov rsi, rdi
    001d4f63mov rax, r14
    001d4f66sar rax, 63
    001d4f6amov rdx, r14
    001d4f6dxor rdx, rax
    001d4f70xor rsi, rax
    001d4f73sub rsi, rax
    001d4f76sbb rdx, rax
    001d4f79mov rax, rbx
    001d4f7csar rax, 63
    001d4f80mov r8, rbx
    001d4f83xor r8, rax
    001d4f86xor rcx, rax
    001d4f89sub rcx, rax
    001d4f8csbb r8, rax
    001d4f8flea rdi, [rsp+8]
    001d4f94call compiler_builtins::int::specialized_div_rem::u128_div_rem
    001d4f99mov rcx, [rsp+8]
    001d4f9emov rsi, [rsp+16]
    001d4fa3xor edx, edx
    001d4fa5mov rax, rcx
    001d4fa8neg rax
    001d4fabsbb rdx, rsi
    001d4faexor rbx, r14
    001d4fb1cmovns rdx, rsi
    001d4fb5cmovns rax, rcx
    001d4fb9add rsp, 40
    001d4fbdpop rbx
    001d4fbepop r14
    001d4fc0ret
    001d4f50
    001d4fc1
    001d4fc1 // align 0x10
    001d4fd0
    001d4fd0compiler_builtins::int::specialized_div_rem::u128_div_rem:
    001d4fd0push rbx
    001d4fd1mov r9, rcx
    001d4fd4mov r11, rdx
    001d4fd7test r8, r8
    001d4fdaje 0x1d5053
    001d4fdcbsr rbx, r8
    001d4fe0mov eax, ebx
    001d4fe2xor eax, 63
    001d4fe5mov cl, 64
    001d4fe7sub cl, al
    001d4fe9mov rax, r9
    001d4fecshrd rax, r8, cl
    001d4ff0mov r10, r8
    001d4ff3shr r10, cl
    001d4ff6test cl, 64
    001d4ff9cmove r10, rax
    001d4ffdmov rax, r11
    001d5000shld rax, rsi, 63
    001d5005mov rdx, r11
    001d5008shr rdx, 1
    001d500bdiv r10
    001d500emov r10, rax
    001d5011mov ecx, ebx
    001d5013shr r10, cl
    001d5016xor ecx, ecx
    001d5018sub r10, 1
    001d501ccmovb r10, rcx
    001d5020mov rbx, r10
    001d5023imul rbx, r8
    001d5027mov rax, r10
    001d502amul r9
    001d502dadd rdx, rbx
    001d5030sub rsi, rax
    001d5033sbb r11, rdx
    001d5036cmp rsi, r9
    001d5039mov rax, r11
    001d503csbb rax, r8
    001d503fcmovb r8, rcx
    001d5043cmovb r9, rcx
    001d5047sbb r10, -1
    001d504bsub rsi, r9
    001d504esbb r11, r8
    001d5051jmp 0x1d509d
    001d5053
    001d5053loc_1d5053:
    001d5053cmp r11, r9
    001d5056jae 0x1d506b
    001d5058mov rax, rsi
    001d505bmov rdx, r11
    001d505ediv r9
    001d5061mov r10, rax
    001d5064xor r11l, r11l
    001d5067xor ecx, ecx
    001d5069jmp 0x1d509a
    001d506b
    001d506bloc_1d506b:
    001d506bmov rax, r11
    001d506eor rax, r9
    001d5071shr rax, 32
    001d5075je 0x1d5084
    001d5077mov rax, r11
    001d507axor edx, edx
    001d507cdiv r9
    001d507fmov rcx, rax
    001d5082jmp 0x1d508e
    001d5084
    001d5084loc_1d5084:
    001d5084mov eax, r11l
    001d5087xor edx, edx
    001d5089div r9l
    001d508cmov ecx, eax
    001d508e
    001d508eloc_1d508e:
    001d508emov rax, rsi
    001d5091div r9
    001d5094mov r10, rax
    001d5097xor r11l, r11l
    001d509a
    001d509aloc_1d509a:
    001d509amov rsi, rdx
    001d509d
    001d509dloc_1d509d:
    001d509dmov [rdi+16], rsi
    001d50a1mov [rdi], r10
    001d50a4mov [rdi+24], r11
    001d50a8mov [rdi+8], rcx
    001d50acmov rax, rdi
    001d50afpop rbx
    001d50b0ret
    001d4fd0
    001d50b1
    001d50b1 // align 0x10
    001d50c0
    001d50c0__ashlti3:
    001d50c0mov r8l, edx
    001d50c3mov rax, rdi
    001d50c6test r8b, 64
    001d50cajne 0x1d50ef
    001d50ccmov rdx, rsi
    001d50cftest r8l, r8l
    001d50d2je 0x1d50ee
    001d50d4mov rsi, rax
    001d50d7mov ecx, r8l
    001d50dashl rsi, cl
    001d50ddneg cl
    001d50dfshr rax, cl
    001d50e2mov ecx, r8l
    001d50e5shl rdx, cl
    001d50e8or rdx, rax
    001d50ebmov rax, rsi
    001d50ee
    001d50eeloc_1d50ee:
    001d50eeret
    001d50ef
    001d50efloc_1d50ef:
    001d50efmov rdx, rax
    001d50f2mov ecx, r8l
    001d50f5shl rdx, cl
    001d50f8xor eax, eax
    001d50faret
    001d50c0
    001d50fb
    001d50fb // align 0x10
    001d5100
    001d5100__udivti3:
    001d5100mov r8, rdx
    001d5103test rcx, rcx
    001d5106je 0x1d5178
    001d5108mov r9, rcx
    001d510bbsr r11, rcx
    001d510fmov eax, r11l
    001d5112xor eax, 63
    001d5115mov cl, 64
    001d5117sub cl, al
    001d5119mov rax, r8
    001d511cshrd rax, r9, cl
    001d5120mov r10, r9
    001d5123shr r10, cl
    001d5126test cl, 64
    001d5129cmove r10, rax
    001d512dmov rax, rsi
    001d5130shld rax, rdi, 63
    001d5135mov rdx, rsi
    001d5138shr rdx, 1
    001d513bdiv r10
    001d513emov r10, rax
    001d5141mov ecx, r11l
    001d5144shr r10, cl
    001d5147xor ecx, ecx
    001d5149sub r10, 1
    001d514dcmovb r10, rcx
    001d5151mov r11, r10
    001d5154mov rax, r10
    001d5157mul r8
    001d515aimul r11, r9
    001d515eadd rdx, r11
    001d5161sub rdi, rax
    001d5164sbb rsi, rdx
    001d5167cmp rdi, r8
    001d516asbb rsi, r9
    001d516dsbb r10, -1
    001d5171mov rax, r10
    001d5174mov rdx, rcx
    001d5177ret
    001d5178
    001d5178loc_1d5178:
    001d5178cmp rsi, r8
    001d517bjae 0x1d5192
    001d517dmov rax, rdi
    001d5180mov rdx, rsi
    001d5183div r8
    001d5186mov r10, rax
    001d5189xor ecx, ecx
    001d518bmov rax, r10
    001d518emov rdx, rcx
    001d5191ret
    001d5192
    001d5192loc_1d5192:
    001d5192mov rax, rsi
    001d5195or rax, r8
    001d5198shr rax, 32
    001d519cje 0x1d51ab
    001d519emov rax, rsi
    001d51a1xor edx, edx
    001d51a3div r8
    001d51a6mov rcx, rax
    001d51a9jmp 0x1d51b4
    001d51ab
    001d51abloc_1d51ab:
    001d51abmov eax, esi
    001d51adxor edx, edx
    001d51afdiv r8l
    001d51b2mov ecx, eax
    001d51b4
    001d51b4loc_1d51b4:
    001d51b4mov rax, rdi
    001d51b7div r8
    001d51bamov r10, rax
    001d51bdmov rax, r10
    001d51c0mov rdx, rcx
    001d51c3ret
    001d5100
    001d51c4
    001d51c4 // align 0x10
    001d51d0
    001d51d0__addtf3:
    001d51d0push rbp
    001d51d1mov rbp, rsp
    001d51d4push r15
    001d51d6push r14
    001d51d8push r13
    001d51dapush r12
    001d51dcpush rbx
    001d51ddpush rax
    001d51demovaps [rbp-176], x0
    001d51e5mov r12, [rbp-176]
    001d51ecmov r9, [rbp-168]
    001d51f3movaps [rbp-160], x1
    001d51famov rcx, [rbp-160]
    001d5201mov r10, [rbp-152]
    001d5208mov rdx, 0x7fffffffffffffff
    001d5212mov rsi, r9
    001d5215and rsi, rdx
    001d5218and rdx, r10
    001d521bmov rbx, 0x8001000000000000
    001d5225lea rdi, [rsi+rbx]
    001d5229cmp r12, 1
    001d522dsbb rdi, rbx
    001d5230jb 0x1d5390
    001d5236lea rdi, [rdx+rbx]
    001d523amov eax, 1
    001d523fcmp rcx, rax
    001d5242sbb rdi, rbx
    001d5245jb 0x1d5390
    001d524b
    001d524bloc_1d524b:
    001d524bcmp r12, rcx
    001d524esbb rsi, rdx
    001d5251mov rsi, rcx
    001d5254cmovb rsi, r12
    001d5258mov rdi, 0xffffffffffff
    001d5262mov r11, r10
    001d5265cmovb r11, r9
    001d5269cmovb r12, rcx
    001d526dcmovb r9, r10
    001d5271mov r10, r9
    001d5274shr r10, 48
    001d5278mov rdx, r11
    001d527bshr rdx, 48
    001d527fand edx, 32767
    001d5285mov r14, r9
    001d5288and r14, rdi
    001d528band r10l, 32767
    001d5292je 0x1d5461
    001d5298mov rbx, r11
    001d529band rbx, rdi
    001d529etest edx, edx
    001d52a0je 0x1d54b5
    001d52a6
    001d52a6loc_1d52a6:
    001d52a6shld r14, r12, 3
    001d52abxor r11, r9
    001d52aemov r15, 0x8000000000000
    001d52b8shld rbx, rsi, 3
    001d52bdshl rsi, 3
    001d52c1or rbx, r15
    001d52c4mov eax, r10l
    001d52c7sub eax, edx
    001d52c9je 0x1d531d
    001d52cbcmp eax, 127
    001d52ceja 0x1d54fe
    001d52d4mov ecx, eax
    001d52d6neg cl
    001d52d8mov rdx, rbx
    001d52dbshld rdx, rsi, cl
    001d52dfmov rdi, rsi
    001d52e2shl rdi, cl
    001d52e5xor r13l, r13l
    001d52e8test cl, 64
    001d52ebcmovne rdx, rdi
    001d52efcmovne rdi, r13
    001d52f3xor r8l, r8l
    001d52f6or rdi, rdx
    001d52f9mov rdi, 0xffffffffffff
    001d5303setne r8b
    001d5307mov ecx, eax
    001d5309shrd rsi, rbx, cl
    001d530dshr rbx, cl
    001d5310test al, 64
    001d5312cmovne rsi, rbx
    001d5316cmovne rbx, r13
    001d531aor rsi, r8
    001d531d
    001d531dloc_1d531d:
    001d531dshl r12, 3
    001d5321or r14, r15
    001d5324test r11, r11
    001d5327js 0x1d5515
    001d532d
    001d532dloc_1d532d:
    001d532dadd rsi, r12
    001d5330adc rbx, r14
    001d5333bt rbx, 52
    001d5338jae 0x1d534e
    001d533amov eax, esi
    001d533cand eax, 1
    001d533fshrd rsi, rbx, 1
    001d5344or rsi, rax
    001d5347shr rbx, 1
    001d534aadd r10l, 1
    001d534e
    001d534eloc_1d534e:
    001d534emov r11, rsi
    001d5351mov rax, rbx
    001d5354
    001d5354loc_1d5354:
    001d5354mov rcx, 0x8000000000000000
    001d535eand r9, rcx
    001d5361cmp r10l, 32767
    001d5368jl 0x1d53f2
    001d536emov rax, 0x7fff000000000000
    001d5378or r9, rax
    001d537bmov [rbp-104], r9
    001d537fmov [rbp-112], 0
    001d5387movaps x1, [rbp-112]
    001d538bjmp 0x1d55e0
    001d5390
    001d5390loc_1d5390:
    001d5390cmp r12, 1
    001d5394mov rbx, 0x7fff000000000000
    001d539emov rax, rsi
    001d53a1sbb rax, rbx
    001d53a4jb 0x1d53c4
    001d53a6mov [rbp-64], r12
    001d53aamov rax, 0x800000000000
    001d53b4or r9, rax
    001d53b7mov [rbp-56], r9
    001d53bbmovaps x1, [rbp-64]
    001d53bfjmp 0x1d55e0
    001d53c4
    001d53c4loc_1d53c4:
    001d53c4cmp rcx, 1
    001d53c8mov rax, rdx
    001d53cbsbb rax, rbx
    001d53cejb 0x1d557f
    001d53d4mov [rbp-80], rcx
    001d53d8mov rax, 0x800000000000
    001d53e2or r10, rax
    001d53e5mov [rbp-72], r10
    001d53e9movaps x1, [rbp-80]
    001d53edjmp 0x1d55e0
    001d53f2
    001d53f2loc_1d53f2:
    001d53f2test r10l, r10l
    001d53f5jle 0x1d55ae
    001d53fbmov rdx, -1
    001d5402mov ecx, r11l
    001d5405and ecx, 7
    001d5408shrd r11, rax, 3
    001d540dand r11, rdx
    001d5410shr rax, 3
    001d5414and rax, rdi
    001d5417shl r10, 48
    001d541bxor edx, edx
    001d541dcmp rcx, 5
    001d5421setae dl
    001d5424or rax, r9
    001d5427or rax, r10
    001d542aadd rdx, r11
    001d542dadc rax, 0
    001d5431mov esi, edx
    001d5433and esi, 1
    001d5436xor edi, edi
    001d5438cmp rcx, 4
    001d543ccmove rdi, rsi
    001d5440add rdi, rdx
    001d5443mov [rbp-144], rdi
    001d544aadc rax, 0
    001d544emov [rbp-136], rax
    001d5455movaps x1, [rbp-144]
    001d545cjmp 0x1d55e0
    001d5461
    001d5461loc_1d5461:
    001d5461bsr rax, r12
    001d5465mov ecx, 127
    001d546acmovne rcx, rax
    001d546exor ecx, 63
    001d5471add cl, 64
    001d5474bsr rax, r14
    001d5478xor eax, 63
    001d547btest r14, r14
    001d547emovzx ecx, cl
    001d5481cmovne ecx, eax
    001d5484add cl, -15
    001d5487shld r14, r12, cl
    001d548bshl r12, cl
    001d548exor eax, eax
    001d5490test cl, 64
    001d5493cmovne r14, r12
    001d5497cmovne r12, rax
    001d549bmovzx eax, cl
    001d549emov r10l, 1
    001d54a4sub r10l, eax
    001d54a7mov rbx, r11
    001d54aaand rbx, rdi
    001d54adtest edx, edx
    001d54afjne 0x1d52a6
    001d54b5
    001d54b5loc_1d54b5:
    001d54b5bsr rax, rsi
    001d54b9mov ecx, 127
    001d54becmovne rcx, rax
    001d54c2xor ecx, 63
    001d54c5add cl, 64
    001d54c8bsr rax, rbx
    001d54ccxor eax, 63
    001d54cftest rbx, rbx
    001d54d2movzx ecx, cl
    001d54d5cmovne ecx, eax
    001d54d8add cl, -15
    001d54dbshld rbx, rsi, cl
    001d54dfshl rsi, cl
    001d54e2xor eax, eax
    001d54e4test cl, 64
    001d54e7cmovne rbx, rsi
    001d54ebcmovne rsi, rax
    001d54efmovzx eax, cl
    001d54f2mov edx, 1
    001d54f7sub edx, eax
    001d54f9jmp 0x1d52a6
    001d54fe
    001d54feloc_1d54fe:
    001d54femov esi, 1
    001d5503xor ebx, ebx
    001d5505shl r12, 3
    001d5509or r14, r15
    001d550ctest r11, r11
    001d550fjns 0x1d532d
    001d5515
    001d5515loc_1d5515:
    001d5515mov r11, r12
    001d5518sub r11, rsi
    001d551bmov rax, r14
    001d551esbb rax, rbx
    001d5521xor r12, rsi
    001d5524xor r14, rbx
    001d5527xorps x1, x1
    001d552aor r14, r12
    001d552dje 0x1d55e0
    001d5533mov rcx, rax
    001d5536shr rcx, 51
    001d553ajne 0x1d5354
    001d5540bsr rcx, r11
    001d5544mov edx, 127
    001d5549cmovne rdx, rcx
    001d554dxor edx, 63
    001d5550add edx, 64
    001d5553bsr rcx, rax
    001d5557xor ecx, 63
    001d555atest rax, rax
    001d555dcmove ecx, edx
    001d5560add ecx, -12
    001d5563shld rax, r11, cl
    001d5567shl r11, cl
    001d556axor edx, edx
    001d556ctest cl, 64
    001d556fcmovne rax, r11
    001d5573cmovne r11, rdx
    001d5577sub r10l, ecx
    001d557ajmp 0x1d5354
    001d557f
    001d557floc_1d557f:
    001d557fmov rax, rsi
    001d5582xor rax, rbx
    001d5585or rax, r12
    001d5588jne 0x1d55d8
    001d558axor rcx, r12
    001d558dxor r10, r9
    001d5590mov rax, 0x8000000000000000
    001d559axor rax, r10
    001d559dor rax, rcx
    001d55a0jne 0x1d55a9
    001d55a2movaps x0, [rip-0x141bb9]
    001d55a9
    001d55a9loc_1d55a9:
    001d55a9movaps x1, x0
    001d55acjmp 0x1d55e0
    001d55ae
    001d55aeloc_1d55ae:
    001d55aemov cl, 4
    001d55b0sub cl, r10b
    001d55b3shrd r11, rax, cl
    001d55b7shr rax, cl
    001d55baxor edx, edx
    001d55bctest cl, 64
    001d55bfcmovne r11, rax
    001d55c3cmove rdx, rax
    001d55c7mov [rbp-128], r11
    001d55cbor rdx, r9
    001d55cemov [rbp-120], rdx
    001d55d2movaps x1, [rbp-128]
    001d55d6jmp 0x1d55e0
    001d55d8
    001d55d8loc_1d55d8:
    001d55d8xor rbx, rdx
    001d55dbor rbx, rcx
    001d55dejne 0x1d55f2
    001d55e0
    001d55e0loc_1d55e0:
    001d55e0movaps x0, x1
    001d55e3add rsp, 8
    001d55e7pop rbx
    001d55e8pop r12
    001d55eapop r13
    001d55ecpop r14
    001d55eepop r15
    001d55f0pop rbp
    001d55f1ret
    001d55f2
    001d55f2loc_1d55f2:
    001d55f2mov rax, r12
    001d55f5or rax, rsi
    001d55f8je 0x1d560b
    001d55famov rax, rcx
    001d55fdor rax, rdx
    001d5600movaps x1, x0
    001d5603jne 0x1d524b
    001d5609jmp 0x1d55e0
    001d560b
    001d560bloc_1d560b:
    001d560bor rdx, rcx
    001d560ejne 0x1d55e0
    001d5610and rcx, r12
    001d5613mov [rbp-96], rcx
    001d5617and r10, r9
    001d561amov [rbp-88], r10
    001d561emovaps x1, [rbp-96]
    001d5622jmp 0x1d55e0
    001d51d0
    001d5624
    001d5624 // align 0x10
    001d5630
    001d5630__multf3:
    001d5630push rbp
    001d5631mov rbp, rsp
    001d5634push r15
    001d5636push r14
    001d5638push r13
    001d563apush r12
    001d563cpush rbx
    001d563dsub rsp, 120
    001d5641mov rdi, 0xffffffffffff
    001d564bmovaps [rbp-288], x0
    001d5652mov r13, [rbp-288]
    001d5659mov rdx, [rbp-280]
    001d5660mov rax, rdx
    001d5663shr rax, 48
    001d5667and eax, 32767
    001d566cmovaps [rbp-272], x1
    001d5673mov r8, [rbp-272]
    001d567amov rcx, [rbp-264]
    001d5681mov rbx, rcx
    001d5684shr rbx, 48
    001d5688and ebx, 32767
    001d568emov rsi, rcx
    001d5691xor rsi, rdx
    001d5694mov r9, 0x8000000000000000
    001d569eand rsi, r9
    001d56a1mov r14, rdx
    001d56a4and r14, rdi
    001d56a7mov r11, rcx
    001d56aaand r11, rdi
    001d56adlea edi, [rax-32767]
    001d56b3mov r12, r14
    001d56b6shr r12, 32
    001d56bacmp edi, -32766
    001d56c0jb 0x1d588e
    001d56c6lea edi, [rbx-32767]
    001d56cccmp edi, -32767
    001d56d2jbe 0x1d588e
    001d56d8xor ecx, ecx
    001d56damov [rbp-56], rcx
    001d56demov rdi, r13
    001d56e1mov [rbp-64], rbx
    001d56e5mov [rbp-72], rax
    001d56e9mov [rbp-48], rsi
    001d56ed
    001d56edloc_1d56ed:
    001d56edor r12, 0x10000
    001d56f4mov rdx, r11
    001d56f7shr rdx, 17
    001d56fbor edx, 0xffffffff80000000
    001d5701mov rax, rdx
    001d5704imul rax, r12
    001d5708mov [rbp-112], rax
    001d570cshld r11, r8, 15
    001d5711shl r8, 15
    001d5715mov r11l, r11l
    001d5718mov rax, r11
    001d571bimul rax, r12
    001d571fmov [rbp-96], rax
    001d5723mov r15, r8
    001d5726shr r15, 32
    001d572amov rax, r12
    001d572dimul rax, r15
    001d5731mov [rbp-104], rax
    001d5735mov eax, r8l
    001d5738imul r12, rax
    001d573cmov r8, rax
    001d573fmov r13l, r14l
    001d5742mov r10, rdx
    001d5745imul r10, r13
    001d5749mov rax, r11
    001d574cimul rax, r13
    001d5750mov [rbp-88], rax
    001d5754mov rcx, r13
    001d5757imul rcx, r15
    001d575bimul r13, r8
    001d575fmov rbx, rdi
    001d5762mov rsi, rdi
    001d5765shr rsi, 32
    001d5769mov rax, rdx
    001d576cimul rax, rsi
    001d5770mov r14, r11
    001d5773imul r14, rsi
    001d5777mov rdi, r15
    001d577aimul rdi, rsi
    001d577eimul rsi, r8
    001d5782mov ebx, ebx
    001d5784imul rdx, rbx
    001d5788imul r11, rbx
    001d578cimul r15, rbx
    001d5790imul r8, rbx
    001d5794mov [rbp-80], r8
    001d5798xor r9l, r9l
    001d579badd r15, rsi
    001d579esetb r9b
    001d57a2xor r8l, r8l
    001d57a5add rdi, r13
    001d57a8setb r8b
    001d57acxor r13l, r13l
    001d57afadd rcx, r12
    001d57b2setb r13b
    001d57b6add rcx, rdx
    001d57b9adc r13, 0
    001d57bdadd rcx, r14
    001d57c0adc r13, 0
    001d57c4xor ebx, ebx
    001d57c6add r10, [rbp-96]
    001d57casetb bl
    001d57cdshld r9, r15, 32
    001d57d2shl r15, 32
    001d57d6xor edx, edx
    001d57d8add rax, [rbp-104]
    001d57dcsetb dl
    001d57dfadd rax, [rbp-88]
    001d57e3adc rdx, 0
    001d57e7add rdi, r11
    001d57eaadc rax, r8
    001d57edadc rdx, [rbp-112]
    001d57f1xor esi, esi
    001d57f3add rdi, r9
    001d57f6setb sil
    001d57fashld r13, rcx, 32
    001d57ffshl rcx, 32
    001d5803add r15, [rbp-80]
    001d5807mov r14, rdi
    001d580aadc r14, rcx
    001d580dshld rbx, r10, 32
    001d5812shl r10, 32
    001d5816add r10, rax
    001d5819adc rbx, rdx
    001d581cadd r10, r13
    001d581fadc rbx, 0
    001d5823add rcx, rdi
    001d5826adc r10, rsi
    001d5829adc rbx, 0
    001d582dmov rax, [rbp-72]
    001d5831add eax, [rbp-64]
    001d5834mov rcx, [rbp-56]
    001d5838add eax, ecx
    001d583aadd eax, -16383
    001d583fbt rbx, 48
    001d5844jb 0x1d58d2
    001d584ashld rbx, r10, 1
    001d584fshld r10, r14, 1
    001d5854shld r14, r15, 1
    001d5859add r15, r15
    001d585ccmp eax, 32767
    001d5861jge 0x1d58dc
    001d5863
    001d5863loc_1d5863:
    001d5863test eax, eax
    001d5865jle 0x1d5976
    001d586bmov rcx, -1
    001d5872and r10, rcx
    001d5875mov rcx, 0xffffffffffff
    001d587fand rbx, rcx
    001d5882shl rax, 48
    001d5886or rax, rbx
    001d5889jmp 0x1d5a72
    001d588e
    001d588eloc_1d588e:
    001d588emov r9, 0x7fffffffffffffff
    001d5898mov r15, rdx
    001d589band r15, r9
    001d589ecmp r13, 1
    001d58a2mov r10, 0x7fff000000000000
    001d58acmov rdi, r15
    001d58afsbb rdi, r10
    001d58b2jb 0x1d590b
    001d58b4mov [rbp-128], r13
    001d58b8mov rax, 0x800000000000
    001d58c2or rdx, rax
    001d58c5mov [rbp-120], rdx
    001d58c9movaps x0, [rbp-128]
    001d58cdjmp 0x1d5ac2
    001d58d2
    001d58d2loc_1d58d2:
    001d58d2add eax, 1
    001d58d5cmp eax, 32767
    001d58dajl 0x1d5863
    001d58dc
    001d58dcloc_1d58dc:
    001d58dcmov rax, 0x7fff000000000000
    001d58e6mov rcx, [rbp-48]
    001d58eaor rcx, rax
    001d58edmov [rbp-216], rcx
    001d58f4mov [rbp-224], 0
    001d58ffmovaps x0, [rbp-224]
    001d5906jmp 0x1d5ac2
    001d590b
    001d590bloc_1d590b:
    001d590band r9, rcx
    001d590ecmp r8, 1
    001d5912mov rdx, r9
    001d5915sbb rdx, r10
    001d5918jb 0x1d5941
    001d591amov [rbp-144], r8
    001d5921mov rax, 0x800000000000
    001d592bor rcx, rax
    001d592emov [rbp-136], rcx
    001d5935movaps x0, [rbp-144]
    001d593cjmp 0x1d5ac2
    001d5941
    001d5941loc_1d5941:
    001d5941mov rcx, r15
    001d5944xor rcx, r10
    001d5947or rcx, r13
    001d594ajne 0x1d59a7
    001d594cor r9, r8
    001d594fje 0x1d5ad1
    001d5955or rsi, r10
    001d5958mov [rbp-152], rsi
    001d595fmov [rbp-160], 0
    001d596amovaps x0, [rbp-160]
    001d5971jmp 0x1d5ac2
    001d5976
    001d5976loc_1d5976:
    001d5976mov r9l, 1
    001d597csub r9l, eax
    001d597fcmp r9l, 127
    001d5983jbe 0x1d59e0
    001d5985mov rax, [rbp-48]
    001d5989mov [rbp-232], rax
    001d5990mov [rbp-240], 0
    001d599bmovaps x0, [rbp-240]
    001d59a2jmp 0x1d5ac2
    001d59a7
    001d59a7loc_1d59a7:
    001d59a7mov rcx, r9
    001d59aaxor rcx, r10
    001d59ador rcx, r8
    001d59b0jne 0x1d5ada
    001d59b6or r15, r13
    001d59b9je 0x1d5ad1
    001d59bfor rsi, r10
    001d59c2mov [rbp-168], rsi
    001d59c9mov [rbp-176], 0
    001d59d4movaps x0, [rbp-176]
    001d59dbjmp 0x1d5ac2
    001d59e0
    001d59e0loc_1d59e0:
    001d59e0add al, -1
    001d59e2mov rdx, r15
    001d59e5mov ecx, eax
    001d59e7shl rdx, cl
    001d59eaxor edi, edi
    001d59ectest al, 64
    001d59eemov r8, rdx
    001d59f1cmovne r8, rdi
    001d59f5mov r12, r14
    001d59f8shld r12, r15, cl
    001d59fctest al, 64
    001d59fecmovne r12, rdx
    001d5a02mov rsi, r10
    001d5a05shl rsi, cl
    001d5a08test al, 64
    001d5a0amov r11, rsi
    001d5a0dcmovne r11, rdi
    001d5a11mov rdx, rbx
    001d5a14shld rdx, r10, cl
    001d5a18test al, 64
    001d5a1acmovne rdx, rsi
    001d5a1emov rsi, rbx
    001d5a21mov ecx, r9l
    001d5a24shr rsi, cl
    001d5a27test r9b, 64
    001d5a2bmov rax, rsi
    001d5a2ecmovne rax, rdi
    001d5a32mov ecx, r9l
    001d5a35shrd r10, rbx, cl
    001d5a39test r9b, 64
    001d5a3dcmovne r10, rsi
    001d5a41mov rsi, r14
    001d5a44shr rsi, cl
    001d5a47test r9b, 64
    001d5a4bcmove rdi, rsi
    001d5a4fshrd r15, r14, cl
    001d5a53test r9b, 64
    001d5a57cmovne r15, rsi
    001d5a5bor rdi, rdx
    001d5a5exor ecx, ecx
    001d5a60or r12, r8
    001d5a63setne cl
    001d5a66or rcx, r15
    001d5a69or rcx, r11
    001d5a6cmov r15, rcx
    001d5a6fmov r14, rdi
    001d5a72
    001d5a72loc_1d5a72:
    001d5a72mov rcx, r15
    001d5a75neg rcx
    001d5a78mov rdx, 0x8000000000000000
    001d5a82mov rcx, rdx
    001d5a85sbb rcx, r14
    001d5a88adc r10, 0
    001d5a8cadc rax, 0
    001d5a90xor r14, rdx
    001d5a93mov ecx, r10l
    001d5a96and ecx, 1
    001d5a99xor edx, edx
    001d5a9bor r14, r15
    001d5a9ecmove rdx, rcx
    001d5aa2add rdx, r10
    001d5aa5adc rax, 0
    001d5aa9mov [rbp-256], rdx
    001d5ab0or rax, [rbp-48]
    001d5ab4mov [rbp-248], rax
    001d5abbmovaps x0, [rbp-256]
    001d5ac2
    001d5ac2loc_1d5ac2:
    001d5ac2add rsp, 120
    001d5ac6pop rbx
    001d5ac7pop r12
    001d5ac9pop r13
    001d5acbpop r14
    001d5acdpop r15
    001d5acfpop rbp
    001d5ad0ret
    001d5ad1
    001d5ad1loc_1d5ad1:
    001d5ad1movaps x0, [rip-0x1420d8]
    001d5ad8jmp 0x1d5ac2
    001d5ada
    001d5adaloc_1d5ada:
    001d5adamov rcx, r13
    001d5addor rcx, r15
    001d5ae0je 0x1d5bae
    001d5ae6mov rcx, r8
    001d5ae9or rcx, r9
    001d5aecje 0x1d5bcc
    001d5af2xor r10l, r10l
    001d5af5shr r15, 48
    001d5af9jne 0x1d5b48
    001d5afbbsr rcx, r13
    001d5affmov edx, 127
    001d5b04cmovne rdx, rcx
    001d5b08xor edx, 63
    001d5b0badd dl, 64
    001d5b0ebsr rdi, r14
    001d5b12xor edi, 63
    001d5b15test r14, r14
    001d5b18movzx ecx, dl
    001d5b1bcmovne ecx, edi
    001d5b1eadd cl, -15
    001d5b21shld r14, r13, cl
    001d5b25shl r13, cl
    001d5b28xor edx, edx
    001d5b2atest cl, 64
    001d5b2dcmovne r14, r13
    001d5b31cmovne r13, rdx
    001d5b35movzx ecx, cl
    001d5b38mov r10l, 1
    001d5b3esub r10l, ecx
    001d5b41mov r12, r14
    001d5b44shr r12, 32
    001d5b48
    001d5b48loc_1d5b48:
    001d5b48shr r9, 48
    001d5b4cmov [rbp-48], rsi
    001d5b50mov [rbp-72], rax
    001d5b54mov [rbp-64], rbx
    001d5b58jne 0x1d5bea
    001d5b5emov rdi, r13
    001d5b61bsr rcx, r8
    001d5b65mov edx, 127
    001d5b6acmovne rdx, rcx
    001d5b6exor edx, 63
    001d5b71add dl, 64
    001d5b74bsr rax, r11
    001d5b78xor eax, 63
    001d5b7btest r11, r11
    001d5b7emovzx ecx, dl
    001d5b81cmovne ecx, eax
    001d5b84add cl, -15
    001d5b87shld r11, r8, cl
    001d5b8bshl r8, cl
    001d5b8exor edx, edx
    001d5b90test cl, 64
    001d5b93cmovne r11, r8
    001d5b97cmovne r8, rdx
    001d5b9bmovzx ecx, cl
    001d5b9esub r10l, ecx
    001d5ba1add r10l, 1
    001d5ba5mov [rbp-56], r10
    001d5ba9jmp 0x1d56ed
    001d5bae
    001d5baeloc_1d5bae:
    001d5baemov [rbp-184], rsi
    001d5bb5mov [rbp-192], 0
    001d5bc0movaps x0, [rbp-192]
    001d5bc7jmp 0x1d5ac2
    001d5bcc
    001d5bccloc_1d5bcc:
    001d5bccmov [rbp-200], rsi
    001d5bd3mov [rbp-208], 0
    001d5bdemovaps x0, [rbp-208]
    001d5be5jmp 0x1d5ac2
    001d5bea
    001d5bealoc_1d5bea:
    001d5beamov [rbp-56], r10
    001d5beemov rdi, r13
    001d5bf1jmp 0x1d56ed
    001d5630
    001d5bf6
    001d5bf6 // align 0x10
    001d5c00
    001d5c00math.ldexp.ldexp__anon_3546:
    001d5c00push rbp
    001d5c01mov rbp, rsp
    001d5c04ucomiss x0, x0
    001d5c07jp 0x1d5ca8
    001d5c0dmovd eax, x0
    001d5c11mov ecx, eax
    001d5c13and ecx, 0x7f800000
    001d5c19cmp ecx, 0x7f800000
    001d5c1fje 0x1d5ca8
    001d5c25lea esi, [rax+rax]
    001d5c28cmp esi, 0xffffff
    001d5c2eja 0x1d5c3c
    001d5c30test esi, esi
    001d5c32je 0x1d5c64
    001d5c34bsr ecx, esi
    001d5c37xor ecx, 31
    001d5c3ajmp 0x1d5c69
    001d5c3c
    001d5c3cloc_1d5c3c:
    001d5c3cshr esi, 24
    001d5c3fmov edx, eax
    001d5c41and edx, 0xffffffff80000000
    001d5c47test edi, edi
    001d5c49jns 0x1d5c7c
    001d5c4b
    001d5c4bloc_1d5c4b:
    001d5c4bmov ecx, esi
    001d5c4dneg ecx
    001d5c4fcmp ecx, edi
    001d5c51jl 0x1d5c9f
    001d5c53mov ecx, -23
    001d5c58sub ecx, esi
    001d5c5acmp ecx, edi
    001d5c5cjle 0x1d5cb6
    001d5c5emovd x0, edx
    001d5c62pop rbp
    001d5c63ret
    001d5c64
    001d5c64loc_1d5c64:
    001d5c64mov ecx, 32
    001d5c69
    001d5c69loc_1d5c69:
    001d5c69mov esi, 8
    001d5c6esub esi, ecx
    001d5c70mov edx, eax
    001d5c72and edx, 0xffffffff80000000
    001d5c78test edi, edi
    001d5c7ajs 0x1d5c4b
    001d5c7c
    001d5c7cloc_1d5c7c:
    001d5c7cmov ecx, 254
    001d5c81sub ecx, esi
    001d5c83cmp ecx, edi
    001d5c85jge 0x1d5c93
    001d5c87or edx, 0x7f800000
    001d5c8dmovd x0, edx
    001d5c91pop rbp
    001d5c92ret
    001d5c93
    001d5c93loc_1d5c93:
    001d5c93mov r8l, esi
    001d5c96add r8l, edi
    001d5c99jle 0x1d5caa
    001d5c9btest esi, esi
    001d5c9djle 0x1d5cd3
    001d5c9f
    001d5c9floc_1d5c9f:
    001d5c9fshl edi, 23
    001d5ca2add edi, eax
    001d5ca4movd x0, edi
    001d5ca8
    001d5ca8loc_1d5ca8:
    001d5ca8pop rbp
    001d5ca9ret
    001d5caa
    001d5caaloc_1d5caa:
    001d5caamov ecx, edi
    001d5cacshl eax, cl
    001d5caeor eax, edx
    001d5cb0movd x0, eax
    001d5cb4pop rbp
    001d5cb5ret
    001d5cb6
    001d5cb6loc_1d5cb6:
    001d5cb6lea r8l, [rsi+rdi]
    001d5cbaneg edi
    001d5cbcmov ecx, 1
    001d5cc1sub ecx, r8l
    001d5cc4cmp edi, ecx
    001d5cc6cmovl ecx, edi
    001d5cc9test eax, eax
    001d5ccbje 0x1d5cee
    001d5ccdbsf r8l, eax
    001d5cd1jmp 0x1d5cf4
    001d5cd3
    001d5cd3loc_1d5cd3:
    001d5cd3shl r8l, 23
    001d5cd7mov cl, 1
    001d5cd9sub cl, sil
    001d5cdcshl eax, cl
    001d5cdeand eax, 0x7fffff
    001d5ce3or eax, r8l
    001d5ce6or eax, edx
    001d5ce8movd x0, eax
    001d5cecpop rbp
    001d5cedret
    001d5cee
    001d5ceeloc_1d5cee:
    001d5ceemov r8l, 32
    001d5cf4
    001d5cf4loc_1d5cf4:
    001d5cf4add cl, -1
    001d5cf7mov r9l, ecx
    001d5cfaand r9b, 31
    001d5cfexor r10l, r10l
    001d5d01cmp r8b, r9b
    001d5d04sete r10b
    001d5d08and eax, 0x7fffff
    001d5d0dxor edi, edi
    001d5d0ftest esi, esi
    001d5d11setg dil
    001d5d15shl edi, 23
    001d5d18or edi, eax
    001d5d1ashr edi, cl
    001d5d1cadd edi, 1
    001d5d1fshr edi, 1
    001d5d21not r10l
    001d5d24and r10l, edi
    001d5d27or r10l, edx
    001d5d2amovd x0, r10l
    001d5d2fpop rbp
    001d5d30ret
    001d5c00
    001d5d31
    001d5d31 // align 0x10
    001d5d40
    001d5d40math.ldexp.ldexp__anon_3550:
    001d5d40push rbp
    001d5d41mov rbp, rsp
    001d5d44ucomisd x0, x0
    001d5d48jp 0x1d5e0d
    001d5d4emov rcx, 0x7ff0000000000000
    001d5d58movq rdx, x0
    001d5d5dmov rax, rdx
    001d5d60and rax, rcx
    001d5d63cmp rax, rcx
    001d5d66je 0x1d5e0d
    001d5d6cmov r9, 0x8000000000000000
    001d5d76lea rax, [rdx+rdx]
    001d5d7amov rsi, rax
    001d5d7dshr rsi, 53
    001d5d81je 0x1d5d9f
    001d5d83and r9, rdx
    001d5d86test edi, edi
    001d5d88js 0x1d5dd9
    001d5d8a
    001d5d8aloc_1d5d8a:
    001d5d8amov eax, 2046
    001d5d8fsub eax, esi
    001d5d91cmp eax, edi
    001d5d93jge 0x1d5dae
    001d5d95or r9, rcx
    001d5d98movq x0, r9
    001d5d9dpop rbp
    001d5d9eret
    001d5d9f
    001d5d9floc_1d5d9f:
    001d5d9ftest rax, rax
    001d5da2je 0x1d5dc6
    001d5da4bsr rax, rax
    001d5da8xor rax, 63
    001d5dacjmp 0x1d5dcb
    001d5dae
    001d5daeloc_1d5dae:
    001d5daemov eax, esi
    001d5db0add eax, edi
    001d5db2jle 0x1d5e00
    001d5db4test esi, esi
    001d5db6jle 0x1d5e32
    001d5db8shl rdi, 52
    001d5dbcadd rdi, rdx
    001d5dbfmovq x0, rdi
    001d5dc4pop rbp
    001d5dc5ret
    001d5dc6
    001d5dc6loc_1d5dc6:
    001d5dc6mov eax, 64
    001d5dcb
    001d5dcbloc_1d5dcb:
    001d5dcbmov esi, 11
    001d5dd0sub esi, eax
    001d5dd2and r9, rdx
    001d5dd5test edi, edi
    001d5dd7jns 0x1d5d8a
    001d5dd9
    001d5dd9loc_1d5dd9:
    001d5dd9mov eax, edi
    001d5ddbneg eax
    001d5dddmov ecx, esi
    001d5ddfneg ecx
    001d5de1cmp ecx, edi
    001d5de3jge 0x1d5dee
    001d5de5shl rax, 52
    001d5de9sub rdx, rax
    001d5decjmp 0x1d5e08
    001d5dee
    001d5deeloc_1d5dee:
    001d5deemov ecx, -52
    001d5df3sub ecx, esi
    001d5df5cmp ecx, edi
    001d5df7jle 0x1d5e0f
    001d5df9movq x0, r9
    001d5dfepop rbp
    001d5dffret
    001d5e00
    001d5e00loc_1d5e00:
    001d5e00mov ecx, edi
    001d5e02shl rdx, cl
    001d5e05or rdx, r9
    001d5e08
    001d5e08loc_1d5e08:
    001d5e08movq x0, rdx
    001d5e0d
    001d5e0dloc_1d5e0d:
    001d5e0dpop rbp
    001d5e0eret
    001d5e0f
    001d5e0floc_1d5e0f:
    001d5e0fmov r8, 0xfffffffffffff
    001d5e19add edi, esi
    001d5e1bmov ecx, 1
    001d5e20sub ecx, edi
    001d5e22cmp eax, ecx
    001d5e24cmovl ecx, eax
    001d5e27test rdx, rdx
    001d5e2aje 0x1d5e58
    001d5e2cbsf r10, rdx
    001d5e30jmp 0x1d5e5e
    001d5e32
    001d5e32loc_1d5e32:
    001d5e32shl rax, 52
    001d5e36mov cl, 1
    001d5e38sub cl, sil
    001d5e3bshl rdx, cl
    001d5e3emov rcx, 0xfffffffffffff
    001d5e48and rcx, rdx
    001d5e4bor rcx, rax
    001d5e4eor rcx, r9
    001d5e51movq x0, rcx
    001d5e56pop rbp
    001d5e57ret
    001d5e58
    001d5e58loc_1d5e58:
    001d5e58mov r10l, 64
    001d5e5e
    001d5e5eloc_1d5e5e:
    001d5e5eadd cl, -1
    001d5e61mov eax, ecx
    001d5e63and al, 63
    001d5e65xor edi, edi
    001d5e67cmp r10b, al
    001d5e6asete dil
    001d5e6eand rdx, r8
    001d5e71add r8, 1
    001d5e75xor eax, eax
    001d5e77test esi, esi
    001d5e79cmovg rax, r8
    001d5e7dor rax, rdx
    001d5e80shr rax, cl
    001d5e83add rax, 1
    001d5e87shr rax, 1
    001d5e8anot rdi
    001d5e8dand rdi, rax
    001d5e90or rdi, r9
    001d5e93movq x0, rdi
    001d5e98pop rbp
    001d5e99ret
    001d5d40
    001d5e9a
    001d5e9a // align 0x10
    001d5ea0
    001d5ea0math.ldexp.ldexp__anon_3558:
    001d5ea0push rbp
    001d5ea1mov rbp, rsp
    001d5ea4movaps [rbp-128], x0
    001d5ea8mov r10, [rbp-128]
    001d5eacmov rsi, [rbp-120]
    001d5eb0mov rax, 0x7fffffffffffffff
    001d5ebaand rax, rsi
    001d5ebdmov r11, 0x7fff000000000000
    001d5ec7mov rdx, r10
    001d5ecaneg rdx
    001d5ecdmov rdx, r11
    001d5ed0sbb rdx, rax
    001d5ed3jb 0x1d5f7b
    001d5ed9mov rax, rsi
    001d5edcand rax, r11
    001d5edfcmp rax, r11
    001d5ee2je 0x1d5f7b
    001d5ee8mov r8, 0x8000000000000000
    001d5ef2mov rax, rsi
    001d5ef5shld rax, r10, 1
    001d5efamov rdx, rax
    001d5efdshr rdx, 49
    001d5f01je 0x1d5f2a
    001d5f03and r8, rsi
    001d5f06test edi, edi
    001d5f08js 0x1d5f5c
    001d5f0a
    001d5f0aloc_1d5f0a:
    001d5f0amov eax, 32766
    001d5f0fsub eax, edx
    001d5f11cmp eax, edi
    001d5f13jge 0x1d5f7d
    001d5f15or r8, r11
    001d5f18mov [rbp-8], r8
    001d5f1cmov [rbp-16], 0
    001d5f24movaps x0, [rbp-16]
    001d5f28pop rbp
    001d5f29ret
    001d5f2a
    001d5f2aloc_1d5f2a:
    001d5f2alea rdx, [r10+r10]
    001d5f2ebsr r9, rdx
    001d5f32mov edx, 127
    001d5f37cmovne rdx, r9
    001d5f3bxor edx, 63
    001d5f3eadd edx, 64
    001d5f41bsr rcx, rax
    001d5f45xor ecx, 63
    001d5f48test rax, rax
    001d5f4bcmove ecx, edx
    001d5f4emov edx, 15
    001d5f53sub edx, ecx
    001d5f55and r8, rsi
    001d5f58test edi, edi
    001d5f5ajns 0x1d5f0a
    001d5f5c
    001d5f5cloc_1d5f5c:
    001d5f5cmov eax, edi
    001d5f5eneg eax
    001d5f60mov ecx, edx
    001d5f62neg ecx
    001d5f64cmp ecx, edi
    001d5f66jge 0x1d5fa2
    001d5f68shl rax, 48
    001d5f6cmov [rbp-80], r10
    001d5f70sub rsi, rax
    001d5f73mov [rbp-72], rsi
    001d5f77movaps x0, [rbp-80]
    001d5f7b
    001d5f7bloc_1d5f7b:
    001d5f7bpop rbp
    001d5f7cret
    001d5f7d
    001d5f7dloc_1d5f7d:
    001d5f7dmov r9l, edx
    001d5f80add r9l, edi
    001d5f83jle 0x1d5fbf
    001d5f85test edx, edx
    001d5f87jle 0x1d6079
    001d5f8dshl rdi, 48
    001d5f91mov [rbp-64], r10
    001d5f95add rdi, rsi
    001d5f98mov [rbp-56], rdi
    001d5f9cmovaps x0, [rbp-64]
    001d5fa0pop rbp
    001d5fa1ret
    001d5fa2
    001d5fa2loc_1d5fa2:
    001d5fa2mov ecx, -112
    001d5fa7sub ecx, edx
    001d5fa9cmp ecx, edi
    001d5fabjle 0x1d5fe7
    001d5fadmov [rbp-88], r8
    001d5fb1mov [rbp-96], 0
    001d5fb9movaps x0, [rbp-96]
    001d5fbdpop rbp
    001d5fberet
    001d5fbf
    001d5fbfloc_1d5fbf:
    001d5fbfmov ecx, edi
    001d5fc1shld rsi, r10, cl
    001d5fc5shl r10, cl
    001d5fc8xor eax, eax
    001d5fcatest dil, 64
    001d5fcecmovne rsi, r10
    001d5fd2cmove rax, r10
    001d5fd6mov [rbp-32], rax
    001d5fdaor rsi, r8
    001d5fddmov [rbp-24], rsi
    001d5fe1movaps x0, [rbp-32]
    001d5fe5pop rbp
    001d5fe6ret
    001d5fe7
    001d5fe7loc_1d5fe7:
    001d5fe7add edi, edx
    001d5fe9mov ecx, 1
    001d5feesub ecx, edi
    001d5ff0cmp eax, ecx
    001d5ff2cmovl ecx, eax
    001d5ff5bsf rax, rsi
    001d5ff9mov edi, 64
    001d5ffecmovne rdi, rax
    001d6002add dil, 64
    001d6006bsf r9, r10
    001d600amovzx edi, dil
    001d600ecmove r9l, edi
    001d6012add cl, -1
    001d6015mov eax, ecx
    001d6017and al, 127
    001d6019xor edi, edi
    001d601bcmp r9b, al
    001d601esete dil
    001d6022mov rax, 0xffffffffffff
    001d602cand rax, rsi
    001d602fxor esi, esi
    001d6031test edx, edx
    001d6033setg sil
    001d6037shl rsi, 48
    001d603bor rsi, rax
    001d603eshrd r10, rsi, cl
    001d6042shr rsi, cl
    001d6045xor eax, eax
    001d6047test cl, 64
    001d604acmovne r10, rsi
    001d604ecmove rax, rsi
    001d6052add r10, 1
    001d6056adc rax, 0
    001d605ashrd r10, rax, 1
    001d605fshr rax, 1
    001d6062not rdi
    001d6065and rdi, r10
    001d6068or rax, r8
    001d606bmov [rbp-104], rax
    001d606fmov [rbp-112], rdi
    001d6073movaps x0, [rbp-112]
    001d6077pop rbp
    001d6078ret
    001d6079
    001d6079loc_1d6079:
    001d6079mov cl, 1
    001d607bsub cl, dl
    001d607dshld rsi, r10, cl
    001d6081shl r10, cl
    001d6084shl r9, 48
    001d6088xor eax, eax
    001d608atest cl, 64
    001d608dcmovne rsi, r10
    001d6091cmove rax, r10
    001d6095mov rcx, 0xffffffffffff
    001d609fand rcx, rsi
    001d60a2or rcx, r9
    001d60a5mov [rbp-48], rax
    001d60a9or rcx, r8
    001d60acmov [rbp-40], rcx
    001d60b0movaps x0, [rbp-48]
    001d60b4pop rbp
    001d60b5ret
    001d5ea0
    001d60b6
    001d60b6 // align 0x10
    001d60c0
    001d60c0__divtf3:
    001d60c0push rbp
    001d60c1mov rbp, rsp
    001d60c4push r15
    001d60c6push r14
    001d60c8push r13
    001d60capush r12
    001d60ccpush rbx
    001d60cdsub rsp, 136
    001d60d4mov rsi, 0xffffffffffff
    001d60demovaps [rbp-304], x0
    001d60e5mov r13, [rbp-304]
    001d60ecmov rdi, [rbp-296]
    001d60f3mov r11, rdi
    001d60f6shr r11, 48
    001d60faand r11l, 32767
    001d6101movaps [rbp-288], x1
    001d6108mov r10, [rbp-288]
    001d610fmov rcx, [rbp-280]
    001d6116mov rax, rcx
    001d6119shr rax, 48
    001d611dand eax, 32767
    001d6122mov rdx, rcx
    001d6125xor rdx, rdi
    001d6128mov r9, 0x8000000000000000
    001d6132and r9, rdx
    001d6135mov r12, rdi
    001d6138and r12, rsi
    001d613bmov r14, rcx
    001d613eand r14, rsi
    001d6141lea edx, [r11-32767]
    001d6148cmp edx, -32766
    001d614ejb 0x1d658d
    001d6154xor ebx, ebx
    001d6156lea edx, [rax-32767]
    001d615ccmp edx, -32767
    001d6162jbe 0x1d658d
    001d6168mov [rbp-48], r9
    001d616c
    001d616cloc_1d616c:
    001d616cmov [rbp-80], r14
    001d6170mov [rbp-56], r10
    001d6174mov [rbp-88], r13
    001d6178mov rcx, 0x1000000000000
    001d6182or rcx, r14
    001d6185sub r11l, eax
    001d6188mov [rbp-72], rcx
    001d618cshld rcx, r10, 15
    001d6191add r11l, ebx
    001d6194mov [rbp-96], r11
    001d6198mov rsi, 0x7504f333f9de6484
    001d61a2sub rsi, rcx
    001d61a5mov rax, rcx
    001d61a8mul rsi
    001d61abmov rax, rdx
    001d61aeneg rax
    001d61b1mul rsi
    001d61b4mov rsi, rax
    001d61b7shrd rsi, rdx, 63
    001d61bcmov rax, rsi
    001d61bfmul rcx
    001d61c2mov rdi, rdx
    001d61c5neg rdi
    001d61c8mov rax, rsi
    001d61cbmul rdi
    001d61cemov rsi, rax
    001d61d1shrd rsi, rdx, 63
    001d61d6mov rax, rsi
    001d61d9mul rcx
    001d61dcmov rdi, rdx
    001d61dfneg rdi
    001d61e2mov rax, rsi
    001d61e5mul rdi
    001d61e8mov rsi, rax
    001d61ebshrd rsi, rdx, 63
    001d61f0mov rax, rsi
    001d61f3mul rcx
    001d61f6mov rdi, rdx
    001d61f9neg rdi
    001d61fcmov rax, rsi
    001d61ffmul rdi
    001d6202mov rsi, rax
    001d6205shrd rsi, rdx, 63
    001d620amov rax, rsi
    001d620dmul rcx
    001d6210mov rdi, rdx
    001d6213neg rdi
    001d6216mov rax, rsi
    001d6219mul rdi
    001d621cshld rdx, rax, 1
    001d6221add rdx, -1
    001d6225mov rbx, r10
    001d6228shl rbx, 15
    001d622cmov r8l, ecx
    001d622fshr rcx, 32
    001d6233mov r9l, edx
    001d6236shr rdx, 32
    001d623amov rsi, rdx
    001d623dimul rsi, rcx
    001d6241mov rax, rdx
    001d6244imul rax, r8
    001d6248imul rcx, r9
    001d624cimul r8, r9
    001d6250xor r11l, r11l
    001d6253add rcx, rax
    001d6256setb r11b
    001d625ashld r11, rcx, 32
    001d625fshl rcx, 32
    001d6263add r11, rsi
    001d6266mov eax, ebx
    001d6268shr rbx, 32
    001d626cmov r10, rdx
    001d626fimul r10, rbx
    001d6273mov rsi, rdx
    001d6276imul rsi, rax
    001d627aimul rbx, r9
    001d627eimul rax, r9
    001d6282xor edi, edi
    001d6284add rbx, rsi
    001d6287setb dil
    001d628bshld rdi, rbx, 32
    001d6290shl rbx, 32
    001d6294add rbx, rax
    001d6297adc rdi, r10
    001d629asetb al
    001d629dmovzx eax, al
    001d62a0xor esi, esi
    001d62a2add rcx, r8
    001d62a5setb sil
    001d62a9add rcx, rdi
    001d62acadc rsi, rax
    001d62afadd rsi, r11
    001d62b2xor edi, edi
    001d62b4neg rcx
    001d62b7sbb rdi, rsi
    001d62bamov r10l, edi
    001d62bdshr rdi, 32
    001d62c1mov r8, rdi
    001d62c4imul r8, rdx
    001d62c8mov rax, r10
    001d62cbimul rax, rdx
    001d62cfimul rdi, r9
    001d62d3imul r10, r9
    001d62d7xor esi, esi
    001d62d9add rdi, rax
    001d62dcsetb sil
    001d62e0shld rsi, rdi, 32
    001d62e5shl rdi, 32
    001d62e9mov eax, ecx
    001d62ebshr rcx, 32
    001d62efmov r11, rcx
    001d62f2imul r11, rdx
    001d62f6imul rdx, rax
    001d62faimul rcx, r9
    001d62feimul rax, r9
    001d6302xor ebx, ebx
    001d6304add rcx, rdx
    001d6307setb bl
    001d630ashld rbx, rcx, 32
    001d630fshl rcx, 32
    001d6313add rcx, rax
    001d6316adc rbx, r11
    001d6319setb al
    001d631cadd rdi, r10
    001d631fadc rsi, r8
    001d6322movzx eax, al
    001d6325add rdi, rbx
    001d6328adc rsi, rax
    001d632badd rdi, -2
    001d632fadc rsi, -1
    001d6333mov rcx, r12
    001d6336shr rcx, 30
    001d633aor ecx, 0x40000
    001d6340mov r9, rcx
    001d6343mov r15l, esi
    001d6346mov rax, r15
    001d6349imul rax, rcx
    001d634dmov [rbp-64], rax
    001d6351mov r10l, edi
    001d6354shr rdi, 32
    001d6358mov rax, rdi
    001d635bimul rax, rcx
    001d635fmov [rbp-112], rax
    001d6363imul rcx, r10
    001d6367shld r12, r13, 2
    001d636cmov r12l, r12l
    001d636fmov r14, r12
    001d6372mov rax, r15
    001d6375imul rax, r12
    001d6379mov [rbp-104], rax
    001d637dmov rdx, rdi
    001d6380imul rdx, r12
    001d6384imul r12, r10
    001d6388lea r8, [4*r13]
    001d6390mov r13, r8
    001d6393shr r13, 32
    001d6397mov rbx, r15
    001d639aimul rbx, r13
    001d639emov rax, rdi
    001d63a1imul rax, r13
    001d63a5mov r11, r13
    001d63a8imul r13, r10
    001d63acmov r8l, r8l
    001d63afshr rsi, 32
    001d63b3imul r9, rsi
    001d63b7imul r14, rsi
    001d63bbimul r11, rsi
    001d63bfimul rsi, r8
    001d63c3imul r15, r8
    001d63c7imul rdi, r8
    001d63cbxor r10l, r10l
    001d63ceadd rdi, r13
    001d63d1setb r10b
    001d63d5xor r13l, r13l
    001d63d8add rax, r12
    001d63dbsetb r13b
    001d63dfxor r12l, r12l
    001d63e2add rdx, rcx
    001d63e5setb r12b
    001d63e9add rdx, rsi
    001d63ecadc r12, 0
    001d63f0add rdx, rbx
    001d63f3adc r12, 0
    001d63f7xor ecx, ecx
    001d63f9add r14, [rbp-64]
    001d63fdsetb cl
    001d6400shld r10, rdi, 32
    001d6405xor edi, edi
    001d6407add r11, [rbp-112]
    001d640bsetb dil
    001d640fadd r11, [rbp-104]
    001d6413adc rdi, 0
    001d6417add rax, r15
    001d641aadc r11, r13
    001d641dadc rdi, r9
    001d6420xor esi, esi
    001d6422add rax, r10
    001d6425setb sil
    001d6429shld r12, rdx, 32
    001d642eshl rdx, 32
    001d6432shld rcx, r14, 32
    001d6437shl r14, 32
    001d643badd r14, r11
    001d643eadc rcx, rdi
    001d6441add r14, r12
    001d6444adc rcx, 0
    001d6448add rdx, rax
    001d644badc r14, rsi
    001d644eadc rcx, 0
    001d6452mov rax, rcx
    001d6455shr rax, 49
    001d6459jne 0x1d65d5
    001d645fmov r15, rcx
    001d6462shr r15, 32
    001d6466mov r9, [rbp-72]
    001d646amov rax, r9
    001d646dshr rax, 32
    001d6471mov r8, [rbp-80]
    001d6475mov esi, r8l
    001d6478mov rdi, [rbp-56]
    001d647cmov rdx, rdi
    001d647fshr rdx, 32
    001d6483mov ebx, edi
    001d6485imul r15l, edi
    001d6489mov r13l, ecx
    001d648cmov r10l, edx
    001d648fimul r10l, ecx
    001d6493imul r13, rbx
    001d6497mov rdi, r14
    001d649ashr rdi, 32
    001d649eimul r8l, edi
    001d64a2mov r11, rdi
    001d64a5imul r11, rdx
    001d64a9imul rdi, rbx
    001d64admov r12l, r14l
    001d64b0imul eax, r14l
    001d64b4imul rsi, r12
    001d64b8imul rdx, r12
    001d64bcimul r12, rbx
    001d64c0xor ebx, ebx
    001d64c2add rdx, rdi
    001d64c5setb bl
    001d64c8add eax, r15l
    001d64cbadd eax, r8l
    001d64ceadd eax, r10l
    001d64d1add rsi, r11
    001d64d4add rsi, r13
    001d64d7shld rbx, rdx, 32
    001d64dcadd rsi, rbx
    001d64dfshl rdx, 32
    001d64e3shl rax, 32
    001d64e7add rax, rsi
    001d64eamov rbx, [rbp-88]
    001d64eeshl rbx, 49
    001d64f2xor esi, esi
    001d64f4add rdx, r12
    001d64f7setb sil
    001d64fbneg rdx
    001d64fesbb rbx, rsi
    001d6501sub rbx, rax
    001d6504mov rsi, [rbp-96]
    001d6508add esi, -1
    001d650bmov r10, 0xffffffffffff
    001d6515mov rdi, r9
    001d6518cmp esi, 16384
    001d651ejge 0x1d66a8
    001d6524
    001d6524loc_1d6524:
    001d6524mov r8, -1
    001d652blea eax, [rsi+16383]
    001d6531cmp esi, -16383
    001d6537jg 0x1d670d
    001d653dtest eax, eax
    001d653fjne 0x1d656b
    001d6541shld rbx, rdx, 1
    001d6546add rdx, rdx
    001d6549and rcx, r10
    001d654cand r14, r8
    001d654fcmp [rbp-56], rdx
    001d6553sbb rdi, rbx
    001d6556adc r14, 0
    001d655aadc rcx, 0
    001d655emov rax, rcx
    001d6561shr rax, 48
    001d6565jne 0x1d6878
    001d656b
    001d656bloc_1d656b:
    001d656bmov rax, [rbp-48]
    001d656fmov [rbp-232], rax
    001d6576mov [rbp-240], 0
    001d6581movaps x0, [rbp-240]
    001d6588jmp 0x1d68d3
    001d658d
    001d658dloc_1d658d:
    001d658dmov rdx, 0x7fffffffffffffff
    001d6597mov rsi, rdi
    001d659aand rsi, rdx
    001d659dcmp r13, 1
    001d65a1mov r8, 0x7fff000000000000
    001d65abmov rbx, rsi
    001d65aesbb rbx, r8
    001d65b1jb 0x1d66d7
    001d65b7mov [rbp-128], r13
    001d65bbmov rax, 0x800000000000
    001d65c5or rdi, rax
    001d65c8mov [rbp-120], rdi
    001d65ccmovaps x0, [rbp-128]
    001d65d0jmp 0x1d68d3
    001d65d5
    001d65d5loc_1d65d5:
    001d65d5mov rsi, rcx
    001d65d8shld rsi, r14, 63
    001d65ddshr r14, 1
    001d65e0mov r10, rcx
    001d65e3shr r10, 1
    001d65e6shr rcx, 33
    001d65eamov r12, [rbp-72]
    001d65eeshr r12, 32
    001d65f2mov r8, [rbp-80]
    001d65f6mov r11l, r8l
    001d65f9mov rax, [rbp-56]
    001d65fdmov rdx, rax
    001d6600shr rdx, 32
    001d6604mov r15l, eax
    001d6607imul ecx, eax
    001d660amov r9l, r10l
    001d660dmov edi, edx
    001d660fimul edi, r10l
    001d6613imul r9, r15
    001d6617mov [rbp-64], rsi
    001d661bmov r13l, esi
    001d661eshr rsi, 32
    001d6622imul r8l, esi
    001d6626imul r12l, r14l
    001d662amov rbx, rsi
    001d662dimul rbx, rdx
    001d6631imul rsi, r15
    001d6635imul r11, r13
    001d6639imul rdx, r13
    001d663dimul r13, r15
    001d6641xor eax, eax
    001d6643add rdx, rsi
    001d6646setb al
    001d6649add rbx, r9
    001d664cadd rbx, r11
    001d664fadd edi, ecx
    001d6651add edi, r12l
    001d6654shld rax, rdx, 32
    001d6659add edi, r8l
    001d665cadd rax, rbx
    001d665fshl rdx, 32
    001d6663shl rdi, 32
    001d6667add rdi, rax
    001d666amov rbx, [rbp-88]
    001d666eshl rbx, 48
    001d6672xor eax, eax
    001d6674add rdx, r13
    001d6677setb al
    001d667aneg rdx
    001d667dsbb rbx, rax
    001d6680sub rbx, rdi
    001d6683mov r14, [rbp-64]
    001d6687mov rcx, r10
    001d668amov r10, 0xffffffffffff
    001d6694mov rsi, [rbp-96]
    001d6698mov rdi, [rbp-72]
    001d669ccmp esi, 16384
    001d66a2jl 0x1d6524
    001d66a8
    001d66a8loc_1d66a8:
    001d66a8mov rax, 0x7fff000000000000
    001d66b2mov rcx, [rbp-48]
    001d66b6or rcx, rax
    001d66b9mov [rbp-216], rcx
    001d66c0mov [rbp-224], 0
    001d66cbmovaps x0, [rbp-224]
    001d66d2jmp 0x1d68d3
    001d66d7
    001d66d7loc_1d66d7:
    001d66d7and rdx, rcx
    001d66dacmp r10, 1
    001d66demov rdi, rdx
    001d66e1sbb rdi, r8
    001d66e4jb 0x1d6754
    001d66e6mov [rbp-144], r10
    001d66edmov rax, 0x800000000000
    001d66f7or rcx, rax
    001d66famov [rbp-136], rcx
    001d6701movaps x0, [rbp-144]
    001d6708jmp 0x1d68d3
    001d670d
    001d670dloc_1d670d:
    001d670dshld rbx, rdx, 1
    001d6712add rdx, rdx
    001d6715cmp rdx, [rbp-56]
    001d6719sbb rbx, rdi
    001d671csetae dl
    001d671fand r14, r8
    001d6722and rcx, r10
    001d6725shl rax, 48
    001d6729or rax, rcx
    001d672cmovzx ecx, dl
    001d672fadd rcx, r14
    001d6732adc rax, 0
    001d6736mov [rbp-272], rcx
    001d673dor rax, [rbp-48]
    001d6741mov [rbp-264], rax
    001d6748movaps x0, [rbp-272]
    001d674fjmp 0x1d68d3
    001d6754
    001d6754loc_1d6754:
    001d6754mov rcx, rsi
    001d6757xor rcx, r8
    001d675aor rcx, r13
    001d675djne 0x1d6773
    001d675fxor rdx, r8
    001d6762or rdx, r10
    001d6765jne 0x1d679c
    001d6767
    001d6767loc_1d6767:
    001d6767movaps x0, [rip-0x142c6e]
    001d676ejmp 0x1d68d3
    001d6773
    001d6773loc_1d6773:
    001d6773mov rcx, rdx
    001d6776xor rcx, r8
    001d6779or rcx, r10
    001d677cjne 0x1d67bd
    001d677emov [rbp-168], r9
    001d6785mov [rbp-176], 0
    001d6790movaps x0, [rbp-176]
    001d6797jmp 0x1d68d3
    001d679c
    001d679cloc_1d679c:
    001d679cor r9, r8
    001d679fmov [rbp-152], r9
    001d67a6mov [rbp-160], 0
    001d67b1movaps x0, [rbp-160]
    001d67b8jmp 0x1d68d3
    001d67bd
    001d67bdloc_1d67bd:
    001d67bdmov rcx, r13
    001d67c0or rcx, rsi
    001d67c3je 0x1d6893
    001d67c9mov rcx, r10
    001d67ccor rcx, rdx
    001d67cfje 0x1d68b7
    001d67d5xor ebx, ebx
    001d67d7shr rsi, 48
    001d67dbjne 0x1d6823
    001d67ddbsr rcx, r13
    001d67e1mov esi, 127
    001d67e6cmovne rsi, rcx
    001d67eaxor esi, 63
    001d67edadd sil, 64
    001d67f1bsr rdi, r12
    001d67f5xor edi, 63
    001d67f8test r12, r12
    001d67fbmovzx ecx, sil
    001d67ffcmovne ecx, edi
    001d6802add cl, -15
    001d6805shld r12, r13, cl
    001d6809shl r13, cl
    001d680cxor esi, esi
    001d680etest cl, 64
    001d6811cmovne r12, r13
    001d6815cmovne r13, rsi
    001d6819movzx ecx, cl
    001d681cmov ebx, 1
    001d6821sub ebx, ecx
    001d6823
    001d6823loc_1d6823:
    001d6823mov [rbp-48], r9
    001d6827shr rdx, 48
    001d682bjne 0x1d616c
    001d6831bsr rcx, r10
    001d6835mov edx, 127
    001d683acmovne rdx, rcx
    001d683exor edx, 63
    001d6841add dl, 64
    001d6844bsr rsi, r14
    001d6848xor esi, 63
    001d684btest r14, r14
    001d684emovzx ecx, dl
    001d6851cmovne ecx, esi
    001d6854add cl, -15
    001d6857shld r14, r10, cl
    001d685bshl r10, cl
    001d685exor edx, edx
    001d6860test cl, 64
    001d6863cmovne r14, r10
    001d6867cmovne r10, rdx
    001d686bmovzx ecx, cl
    001d686eadd ebx, ecx
    001d6870add ebx, -1
    001d6873jmp 0x1d616c
    001d6878
    001d6878loc_1d6878:
    001d6878mov [rbp-256], r14
    001d687for rcx, [rbp-48]
    001d6883mov [rbp-248], rcx
    001d688amovaps x0, [rbp-256]
    001d6891jmp 0x1d68d3
    001d6893
    001d6893loc_1d6893:
    001d6893or rdx, r10
    001d6896mov [rbp-184], r9
    001d689dmov [rbp-192], 0
    001d68a8je 0x1d6767
    001d68aemovaps x0, [rbp-192]
    001d68b5jmp 0x1d68d3
    001d68b7
    001d68b7loc_1d68b7:
    001d68b7or r9, r8
    001d68bamov [rbp-200], r9
    001d68c1mov [rbp-208], 0
    001d68ccmovaps x0, [rbp-208]
    001d68d3
    001d68d3loc_1d68d3:
    001d68d3add rsp, 136
    001d68dapop rbx
    001d68dbpop r12
    001d68ddpop r13
    001d68dfpop r14
    001d68e1pop r15
    001d68e3pop rbp
    001d68e4ret
    001d60c0