File nimblackout_cdcb61a30a7792894fa45c1f0889c58ec8799e5c06ad9690f7fc38be12dea221.exe
Function:
    00425040
    00425040_pei386_runtime_relocator:
    00425040push rbp
    00425041push r15
    00425043push r14
    00425045push r13
    00425047push r12
    00425049push rdi
    0042504apush rsi
    0042504bpush rbx
    0042504csub rsp, 56
    00425050lea rbp, [rsp+128]
    00425058mov edi, [rip+0x23362]
    0042505etest edi, edi
    00425060je 0x425078
    00425062
    00425062loc_425062:
    00425062lea rsp, [rbp-72]
    00425066pop rbx
    00425067pop rsi
    00425068pop rdi
    00425069pop r12
    0042506bpop r13
    0042506dpop r14
    0042506fpop r15
    00425071pop rbp
    00425072ret
    00425073
    00425073 0f 1f 44 00 00 ..D..
    00425078
    00425078loc_425078:
    00425078mov [rip+0x2333e], 1
    00425082call __mingw_GetSectionCount
    00425087cdqe
    00425089lea rax, [rax+4*rax]
    0042508dlea rax, [8*rax+15]
    00425095and rax, -16
    00425099call ___chkstk_ms
    0042509emov r12, [rip+48971]
    004250a5mov rbx, [rip+48980]
    004250acmov [rip+0x2330e], 0
    004250b6sub rsp, rax
    004250b9lea rax, [rsp+32]
    004250bemov [rip+0x23303], rax
    004250c5mov rax, r12
    004250c8sub rax, rbx
    004250cbcmp rax, 7
    004250cfjle 0x425062
    004250d1mov edx, [rbx]
    004250d3cmp rax, 11
    004250d7jg 0x425208
    004250dd
    004250ddloc_4250dd:
    004250ddtest edx, edx
    004250dfjne 0x425280
    004250e5mov eax, [rbx+4]
    004250e8
    004250e8loc_4250e8:
    004250e8test eax, eax
    004250eajne 0x425280
    004250f0mov edx, [rbx+8]
    004250f3cmp edx, 1
    004250f6jne 0x4252c1
    004250fcadd rbx, 12
    00425100cmp rbx, r12
    00425103jae 0x425062
    00425109mov r13, [rip+48912]
    00425110mov r14, 0xffffffff00000000
    0042511ajmp 0x42514d
    0042511c
    0042511c 0f 1f 40 00 ..@.
    00425120
    00425120loc_425120:
    00425120movzx edx, [rsi]
    00425123mov rcx, rsi
    00425126mov r8, rdx
    00425129or r8, -256
    00425130test dl, dl
    00425132cmovs rdx, r8
    00425136sub rdx, rax
    00425139add r15, rdx
    0042513ccall mark_section_writable
    00425141mov [rsi], r15b
    00425144
    00425144loc_425144:
    00425144add rbx, 12
    00425148cmp rbx, r12
    0042514bjae 0x4251b0
    0042514d
    0042514dloc_42514d:
    0042514dmov eax, [rbx]
    0042514fmov esi, [rbx+4]
    00425152movzx edx, [rbx+8]
    00425156add rax, r13
    00425159add rsi, r13
    0042515cmov r15, [rax]
    0042515fcmp edx, 32
    00425162je 0x425258
    00425168ja 0x425230
    0042516ecmp edx, 8
    00425171je 0x425120
    00425173cmp edx, 16
    00425176jne 0x4252b5
    0042517cmovzx edx, [rsi]
    0042517fmov rcx, rsi
    00425182mov r8, rdx
    00425185or r8, 0xffffffffffff0000
    0042518ctest dx, dx
    0042518fcmovs rdx, r8
    00425193add rbx, 12
    00425197sub rdx, rax
    0042519aadd r15, rdx
    0042519dcall mark_section_writable
    004251a2mov [rsi], r15w
    004251a6cmp rbx, r12
    004251a9jb 0x42514d
    004251abnop [rax+rax]
    004251b0
    004251b0loc_4251b0:
    004251b0mov eax, [rip+0x2320e]
    004251b6test eax, eax
    004251b8jle 0x425062
    004251bemov rsi, [rip+0x240df]
    004251c5xor ebx, ebx
    004251c7lea r12, [rbp-84]
    004251cbnop [rax+rax]
    004251d0
    004251d0loc_4251d0:
    004251d0mov rax, [rip+0x231f1]
    004251d7add rax, rbx
    004251damov r8l, [rax]
    004251ddtest r8l, r8l
    004251e0je 0x4251ef
    004251e2mov rdx, [rax+16]
    004251e6mov rcx, [rax+8]
    004251eamov r9, r12
    004251edcall rsi
    004251ef
    004251efloc_4251ef:
    004251efadd edi, 1
    004251f2add rbx, 40
    004251f6cmp edi, [rip+0x231c8]
    004251fcjl 0x4251d0
    004251fejmp 0x425062
    00425203
    00425203 0f 1f 44 00 00 ..D..
    00425208
    00425208loc_425208:
    00425208test edx, edx
    0042520ajne 0x425280
    0042520cmov eax, [rbx+4]
    0042520fmov ecx, eax
    00425211or ecx, [rbx+8]
    00425214jne 0x4250e8
    0042521amov edx, [rbx+12]
    0042521dadd rbx, 12
    00425221jmp 0x4250dd
    00425226
    00425226 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00425230
    00425230loc_425230:
    00425230cmp edx, 64
    00425233jne 0x4252b5
    00425239mov rdx, [rsi]
    0042523cmov rcx, rsi
    0042523fsub rdx, rax
    00425242add r15, rdx
    00425245call mark_section_writable
    0042524amov [rsi], r15
    0042524djmp 0x425144
    00425252
    00425252 66 0f 1f 44 00 00 f..D..
    00425258
    00425258loc_425258:
    00425258mov edx, [rsi]
    0042525amov rcx, rdx
    0042525dor rdx, r14
    00425260test ecx, ecx
    00425262cmovns rdx, rcx
    00425266mov rcx, rsi
    00425269sub rdx, rax
    0042526cadd r15, rdx
    0042526fcall mark_section_writable
    00425274mov [rsi], r15l
    00425277jmp 0x425144
    0042527c
    0042527c 0f 1f 40 00 ..@.
    00425280
    00425280loc_425280:
    00425280cmp rbx, r12
    00425283jae 0x425062
    00425289mov r14, [rip+48528]
    00425290
    00425290loc_425290:
    00425290mov esi, [rbx+4]
    00425293mov r13l, [rbx]
    00425296add rbx, 8
    0042529aadd rsi, r14
    0042529dadd r13l, [rsi]
    004252a0mov rcx, rsi
    004252a3call mark_section_writable
    004252a8mov [rsi], r13l
    004252abcmp rbx, r12
    004252aejb 0x425290
    004252b0jmp 0x4251b0
    004252b5
    004252b5loc_4252b5:
    004252b5lea rcx, [rip+46844]
    004252bccall __report_error
    004252c1
    004252c1loc_4252c1:
    004252c1lea rcx, [rip+46776]
    004252c8call __report_error
    004252cdnop
    00425040
    004252ce
    004252ce // align 0x10
    004252d0
    004252d0__mingw_raise_matherr:
    004252d0sub rsp, 88
    004252d4mov rax, [rip+0x230f5]
    004252dbtest rax, rax
    004252deje 0x42530c
    004252e0movsd_xmm x0, [rsp+128]
    004252e9mov [rsp+32], ecx
    004252edlea rcx, [rsp+32]
    004252f2mov [rsp+40], rdx
    004252f7movsd_xmm [rsp+48], x2
    004252fdmovsd_xmm [rsp+56], x3
    00425303movsd_xmm [rsp+64], x0
    00425309call rax
    0042530bnop
    0042530c
    0042530cloc_42530c:
    0042530cadd rsp, 88
    00425310ret
    004252d0
    00425311
    00425311 // align 0x10
    00425320
    00425320__mingw_setusermatherr:
    00425320mov [rip+0x230a9], rcx
    00425327jmp 0x42aad0
    00425320
    0042532c
    0042532c // align 0x10
    00425330
    00425330_gnu_exception_handler:
    00425330push r12
    00425332sub rsp, 32
    00425336mov rdx, [rcx]
    00425339mov eax, [rdx]
    0042533bmov r12, rcx
    0042533emov ecx, eax
    00425340and ecx, 0x20ffffff
    00425346cmp ecx, 0x20474343
    0042534cje 0x425410
    00425352
    00425352loc_425352:
    00425352cmp eax, 0xffffffffc0000096
    00425357ja 0x4253f7
    0042535dcmp eax, 0xffffffffc000008b
    00425362jbe 0x4253a8
    00425364add eax, 0x3fffff73
    00425369cmp eax, 9
    0042536cja 0x425398
    0042536elea rdx, [rip+46715]
    00425375movsxd rax, [rdx+4*rax]
    00425379add rax, rdx
    0042537cjmp rax
    0042537enop
    00425380
    00425380loc_425380:
    00425380mov edx, 1
    00425385mov ecx, 8
    0042538acall signal
    0042538fcall fpreset
    00425394nop [rax]
    00425398
    00425398loc_425398:
    00425398mov eax, -1
    0042539d
    0042539dloc_42539d:
    0042539dadd rsp, 32
    004253a1pop r12
    004253a3ret
    004253a4nop [rax]
    004253a8
    004253a8loc_4253a8:
    004253a8cmp eax, 0xffffffffc0000005
    004253adje 0x425490
    004253b3jbe 0x4253f0
    004253b5cmp eax, 0xffffffffc0000008
    004253baje 0x425398
    004253bccmp eax, 0xffffffffc000001d
    004253c1jne 0x4253f7
    004253c3xor edx, edx
    004253c5mov ecx, 4
    004253cacall signal
    004253cfcmp rax, 1
    004253d3je 0x4254bc
    004253d9test rax, rax
    004253dcje 0x4253f7
    004253demov ecx, 4
    004253e3call rax
    004253e5mov eax, -1
    004253eajmp 0x42539d
    004253ecnop [rax]
    004253f0
    004253f0loc_4253f0:
    004253f0cmp eax, 0xffffffff80000002
    004253f5je 0x425398
    004253f7
    004253f7loc_4253f7:
    004253f7mov rax, [rip+0x22ff2]
    004253fetest rax, rax
    00425401je 0x425420
    00425403mov rcx, r12
    00425406add rsp, 32
    0042540apop r12
    0042540cjmp rax
    0042540fnop
    00425410
    00425410loc_425410:
    00425410test [rdx+4], 1
    00425414jne 0x425352
    0042541ajmp 0x425398
    0042541fnop
    00425420
    00425420loc_425420:
    00425420xor eax, eax
    00425422add rsp, 32
    00425426pop r12
    00425428ret
    00425429nop [rax]
    00425430xor edx, edx
    00425432mov ecx, 8
    00425437call signal
    0042543ccmp rax, 1
    00425440je 0x425380
    00425446
    00425446loc_425446:
    00425446test rax, rax
    00425449je 0x4253f7
    0042544bmov ecx, 8
    00425450call rax
    00425452mov eax, -1
    00425457jmp 0x42539d
    0042545cnop [rax]
    00425460xor edx, edx
    00425462mov ecx, 8
    00425467call signal
    0042546ccmp rax, 1
    00425470jne 0x425446
    00425472mov edx, 1
    00425477mov ecx, 8
    0042547ccall signal
    00425481mov eax, -1
    00425486jmp 0x42539d
    0042548bnop [rax+rax]
    00425490
    00425490loc_425490:
    00425490xor edx, edx
    00425492mov ecx, 11
    00425497call signal
    0042549ccmp rax, 1
    004254a0je 0x4254d3
    004254a2test rax, rax
    004254a5je 0x4253f7
    004254abmov ecx, 11
    004254b0call rax
    004254b2mov eax, -1
    004254b7jmp 0x42539d
    004254bc
    004254bcloc_4254bc:
    004254bcmov edx, 1
    004254c1mov ecx, 4
    004254c6call signal
    004254cbor eax, -1
    004254cejmp 0x42539d
    004254d3
    004254d3loc_4254d3:
    004254d3mov edx, 1
    004254d8mov ecx, 11
    004254ddcall signal
    004254e2or eax, -1
    004254e5jmp 0x42539d
    00425330
    004254ea
    004254ea // align 0x10
    004254f0
    004254f0__mingwthr_run_key_dtors.part.0:
    004254f0push r12
    004254f2push rdi
    004254f3push rsi
    004254f4push rbx
    004254f5sub rsp, 40
    004254f9lea rcx, [rip+0x22f20]
    00425500call [rip+0x23d2e]
    00425506mov rbx, [rip+0x22ef3]
    0042550dtest rbx, rbx
    00425510je 0x425544
    00425512mov rdi, [rip+0x23d73]
    00425519mov rsi, [rip+0x23d1c]
    00425520
    00425520loc_425520:
    00425520mov ecx, [rbx]
    00425522call rdi
    00425524mov r12, rax
    00425527call rsi
    00425529test eax, eax
    0042552bjne 0x42553b
    0042552dtest r12, r12
    00425530je 0x42553b
    00425532mov rax, [rbx+8]
    00425536mov rcx, r12
    00425539call rax
    0042553b
    0042553bloc_42553b:
    0042553bmov rbx, [rbx+16]
    0042553ftest rbx, rbx
    00425542jne 0x425520
    00425544
    00425544loc_425544:
    00425544lea rcx, [rip+0x22ed5]
    0042554badd rsp, 40
    0042554fpop rbx
    00425550pop rsi
    00425551pop rdi
    00425552pop r12
    00425554jmp [rip+0x23d09]
    004254f0
    0042555b
    0042555b // align 0x10
    00425560
    00425560___w64_mingwthr_add_key_dtor:
    00425560push rdi
    00425561push rsi
    00425562push rbx
    00425563sub rsp, 32
    00425567mov eax, [rip+0x22e9b]
    0042556dmov edi, ecx
    0042556fmov rsi, rdx
    00425572test eax, eax
    00425574jne 0x425580
    00425576
    00425576loc_425576:
    00425576add rsp, 32
    0042557apop rbx
    0042557bpop rsi
    0042557cpop rdi
    0042557dret
    0042557e
    0042557e 66 90 f.
    00425580
    00425580loc_425580:
    00425580mov edx, 24
    00425585mov ecx, 1
    0042558acall calloc
    0042558fmov rbx, rax
    00425592test rax, rax
    00425595je 0x4255d3
    00425597mov [rax], edi
    00425599lea rcx, [rip+0x22e80]
    004255a0mov [rax+8], rsi
    004255a4call [rip+0x23c8a]
    004255aamov rax, [rip+0x22e4f]
    004255b1lea rcx, [rip+0x22e68]
    004255b8mov [rip+0x22e41], rbx
    004255bfmov [rbx+16], rax
    004255c3call [rip+0x23c9b]
    004255c9xor eax, eax
    004255cbadd rsp, 32
    004255cfpop rbx
    004255d0pop rsi
    004255d1pop rdi
    004255d2ret
    004255d3
    004255d3loc_4255d3:
    004255d3or eax, -1
    004255d6jmp 0x425576
    00425560
    004255d8
    004255d8 // align 0x10
    004255e0
    004255e0___w64_mingwthr_remove_key_dtor:
    004255e0push rbx
    004255e1sub rsp, 32
    004255e5mov eax, [rip+0x22e1d]
    004255ebmov ebx, ecx
    004255edtest eax, eax
    004255efjne 0x425600
    004255f1xor eax, eax
    004255f3add rsp, 32
    004255f7pop rbx
    004255f8ret
    004255f9
    004255f9 0f 1f 80 00 00 00 00 .......
    00425600
    00425600loc_425600:
    00425600lea rcx, [rip+0x22e19]
    00425607call [rip+0x23c27]
    0042560dmov rcx, [rip+0x22dec]
    00425614test rcx, rcx
    00425617je 0x425643
    00425619xor edx, edx
    0042561bjmp 0x42562b
    0042561d
    0042561d 0f 1f 00 ...
    00425620
    00425620loc_425620:
    00425620mov rdx, rcx
    00425623test rax, rax
    00425626je 0x425643
    00425628mov rcx, rax
    0042562b
    0042562bloc_42562b:
    0042562bmov eax, [rcx]
    0042562dcmp eax, ebx
    0042562fmov rax, [rcx+16]
    00425633jne 0x425620
    00425635test rdx, rdx
    00425638je 0x425660
    0042563amov [rdx+16], rax
    0042563e
    0042563eloc_42563e:
    0042563ecall free
    00425643
    00425643loc_425643:
    00425643lea rcx, [rip+0x22dd6]
    0042564acall [rip+0x23c14]
    00425650xor eax, eax
    00425652add rsp, 32
    00425656pop rbx
    00425657ret
    00425658
    00425658 0f 1f 84 00 00 00 00 00 ........
    00425660
    00425660loc_425660:
    00425660mov [rip+0x22d99], rax
    00425667jmp 0x42563e
    004255e0
    00425669
    00425669 // align 0x10
    00425670
    00425670__mingw_TLScallback:
    00425670push rbx
    00425671sub rsp, 32
    00425675cmp edx, 2
    00425678je 0x4256c0
    0042567aja 0x4256a8
    0042567ctest edx, edx
    0042567eje 0x4256d0
    00425680mov eax, [rip+0x22d82]
    00425686test eax, eax
    00425688je 0x425740
    0042568e
    0042568eloc_42568e:
    0042568emov [rip+0x22d70], 1
    00425698
    00425698loc_425698:
    00425698mov eax, 1
    0042569dadd rsp, 32
    004256a1pop rbx
    004256a2ret
    004256a3
    004256a3 0f 1f 44 00 00 ..D..
    004256a8
    004256a8loc_4256a8:
    004256a8cmp edx, 3
    004256abjne 0x425698
    004256admov eax, [rip+0x22d55]
    004256b3test eax, eax
    004256b5je 0x425698
    004256b7call __mingwthr_run_key_dtors.part.0
    004256bcjmp 0x425698
    004256be
    004256be 66 90 f.
    004256c0
    004256c0loc_4256c0:
    004256c0call fpreset
    004256c5mov eax, 1
    004256caadd rsp, 32
    004256cepop rbx
    004256cfret
    004256d0
    004256d0loc_4256d0:
    004256d0mov eax, [rip+0x22d32]
    004256d6test eax, eax
    004256d8jne 0x425730
    004256da
    004256daloc_4256da:
    004256damov eax, [rip+0x22d28]
    004256e0cmp eax, 1
    004256e3jne 0x425698
    004256e5mov rbx, [rip+0x22d14]
    004256ectest rbx, rbx
    004256efje 0x425709
    004256f1nop [rax]
    004256f8
    004256f8loc_4256f8:
    004256f8mov rcx, rbx
    004256fbmov rbx, [rbx+16]
    004256ffcall free
    00425704test rbx, rbx
    00425707jne 0x4256f8
    00425709
    00425709loc_425709:
    00425709lea rcx, [rip+0x22d10]
    00425710mov [rip+0x22ce5], 0
    0042571bmov [rip+0x22ce3], 0
    00425725call [rip+0x23b01]
    0042572bjmp 0x425698
    00425730
    00425730loc_425730:
    00425730call __mingwthr_run_key_dtors.part.0
    00425735jmp 0x4256da
    00425737
    00425737 66 0f 1f 84 00 00 00 00 00 f........
    00425740
    00425740loc_425740:
    00425740lea rcx, [rip+0x22cd9]
    00425747call [rip+0x23b07]
    0042574djmp 0x42568e
    00425670
    00425752
    00425752 // align 0x10
    00425760
    00425760_ValidateImageBase:
    00425760xor eax, eax
    00425762cmp [rcx], 23117
    00425767jne 0x425778
    00425769movsxd rdx, [rcx+60]
    0042576dadd rcx, rdx
    00425770cmp [rcx], 17744
    00425776je 0x425780
    00425778
    00425778loc_425778:
    00425778ret
    00425779
    00425779 0f 1f 80 00 00 00 00 .......
    00425780
    00425780loc_425780:
    00425780xor eax, eax
    00425782cmp [rcx+24], 523
    00425788sete al
    0042578bret
    00425760
    0042578c
    0042578c // align 0x10
    00425790
    00425790_FindPESection:
    00425790movsxd rax, [rcx+60]
    00425794mov r8, rdx
    00425797lea rdx, [rax+rcx]
    0042579bmovzx eax, [rdx+20]
    0042579flea rax, [rdx+rax+24]
    004257a4movzx edx, [rdx+6]
    004257a8test edx, edx
    004257aaje 0x4257dc
    004257acsub edx, 1
    004257aflea rdx, [rdx+4*rdx]
    004257b3lea r9, [rax+8*rdx+40]
    004257b8nop [rax+rax]
    004257c0
    004257c0loc_4257c0:
    004257c0mov ecx, [rax+12]
    004257c3mov rdx, rcx
    004257c6cmp rcx, r8
    004257c9ja 0x4257d3
    004257cbadd edx, [rax+8]
    004257cecmp rdx, r8
    004257d1ja 0x4257de
    004257d3
    004257d3loc_4257d3:
    004257d3add rax, 40
    004257d7cmp rax, r9
    004257dajne 0x4257c0
    004257dc
    004257dcloc_4257dc:
    004257dcxor eax, eax
    004257de
    004257deloc_4257de:
    004257deret
    00425790
    004257df
    004257df // align 0x10
    004257e0
    004257e0_FindPESectionByName:
    004257e0push r12
    004257e2push rsi
    004257e3push rbx
    004257e4sub rsp, 32
    004257e8mov rbx, rcx
    004257ebcall strlen
    004257f0cmp rax, 8
    004257f4ja 0x425870
    004257f6mov rdx, [rip+47139]
    004257fdxor r12l, r12l
    00425800cmp [rdx], 23117
    00425805jne 0x42585e
    00425807movsxd rax, [rdx+60]
    0042580badd rax, rdx
    0042580ecmp [rax], 17744
    00425814jne 0x42585e
    00425816cmp [rax+24], 523
    0042581cjne 0x42585e
    0042581emovzx edx, [rax+20]
    00425822lea r12, [rax+rdx+24]
    00425827movzx eax, [rax+6]
    0042582btest eax, eax
    0042582dje 0x425870
    0042582fsub eax, 1
    00425832lea rax, [rax+4*rax]
    00425836lea rsi, [r12+8*rax+40]
    0042583bjmp 0x425849
    0042583d
    0042583d 0f 1f 00 ...
    00425840
    00425840loc_425840:
    00425840add r12, 40
    00425844cmp r12, rsi
    00425847je 0x425870
    00425849
    00425849loc_425849:
    00425849mov r8l, 8
    0042584fmov rdx, rbx
    00425852mov rcx, r12
    00425855call strncmp
    0042585atest eax, eax
    0042585cjne 0x425840
    0042585e
    0042585eloc_42585e:
    0042585emov rax, r12
    00425861add rsp, 32
    00425865pop rbx
    00425866pop rsi
    00425867pop r12
    00425869ret
    0042586a
    0042586a 66 0f 1f 44 00 00 f..D..
    00425870
    00425870loc_425870:
    00425870xor r12l, r12l
    00425873mov rax, r12
    00425876add rsp, 32
    0042587apop rbx
    0042587bpop rsi
    0042587cpop r12
    0042587eret
    004257e0
    0042587f
    0042587f // align 0x10
    00425880
    00425880__mingw_GetSectionForAddress:
    00425880mov rdx, [rip+47001]
    00425887xor eax, eax
    00425889cmp [rdx], 23117
    0042588ejne 0x4258a0
    00425890movsxd r8, [rdx+60]
    00425894add r8, rdx
    00425897cmp [r8], 17744
    0042589eje 0x4258a8
    004258a0
    004258a0loc_4258a0:
    004258a0ret
    004258a1
    004258a1 0f 1f 80 00 00 00 00 .......
    004258a8
    004258a8loc_4258a8:
    004258a8cmp [r8+24], 523
    004258afjne 0x4258a0
    004258b1movzx eax, [r8+20]
    004258b6sub rcx, rdx
    004258b9movzx edx, [r8+6]
    004258belea rax, [r8+rax+24]
    004258c3test edx, edx
    004258c5je 0x4258f5
    004258c7sub edx, 1
    004258calea rdx, [rdx+4*rdx]
    004258celea r9, [rax+8*rdx+40]
    004258d3nop [rax+rax]
    004258d8
    004258d8loc_4258d8:
    004258d8mov r8l, [rax+12]
    004258dcmov rdx, r8
    004258dfcmp rcx, r8
    004258e2jb 0x4258ec
    004258e4add edx, [rax+8]
    004258e7cmp rcx, rdx
    004258eajb 0x4258a0
    004258ec
    004258ecloc_4258ec:
    004258ecadd rax, 40
    004258f0cmp rax, r9
    004258f3jne 0x4258d8
    004258f5
    004258f5loc_4258f5:
    004258f5xor eax, eax
    004258f7ret
    00425880
    004258f8
    004258f8 // align 0x10
    00425900
    00425900__mingw_GetSectionCount:
    00425900mov rax, [rip+46873]
    00425907xor r8l, r8l
    0042590acmp [rax], 23117
    0042590fjne 0x425920
    00425911movsxd rdx, [rax+60]
    00425915add rax, rdx
    00425918cmp [rax], 17744
    0042591eje 0x425928
    00425920
    00425920loc_425920:
    00425920mov eax, r8l
    00425923ret
    00425924
    00425924 0f 1f 40 00 ..@.
    00425928
    00425928loc_425928:
    00425928cmp [rax+24], 523
    0042592ejne 0x425920
    00425930movzx r8l, [rax+6]
    00425935mov eax, r8l
    00425938ret
    00425900
    00425939
    00425939 // align 0x10
    00425940
    00425940_FindPESectionExec:
    00425940mov r8, [rip+46809]
    00425947xor eax, eax
    00425949cmp [r8], 23117
    0042594fjne 0x425960
    00425951movsxd rdx, [r8+60]
    00425955add rdx, r8
    00425958cmp [rdx], 17744
    0042595eje 0x425968
    00425960
    00425960loc_425960:
    00425960ret
    00425961
    00425961 0f 1f 80 00 00 00 00 .......
    00425968
    00425968loc_425968:
    00425968cmp [rdx+24], 523
    0042596ejne 0x425960
    00425970movzx eax, [rdx+20]
    00425974lea rax, [rdx+rax+24]
    00425979movzx edx, [rdx+6]
    0042597dtest edx, edx
    0042597fje 0x4259a8
    00425981sub edx, 1
    00425984lea rdx, [rdx+4*rdx]
    00425988lea rdx, [rax+8*rdx+40]
    0042598dnop [rax]
    00425990
    00425990loc_425990:
    00425990test [rax+39], 32
    00425994je 0x42599f
    00425996test rcx, rcx
    00425999je 0x425960
    0042599bsub rcx, 1
    0042599f
    0042599floc_42599f:
    0042599fadd rax, 40
    004259a3cmp rax, rdx
    004259a6jne 0x425990
    004259a8
    004259a8loc_4259a8:
    004259a8xor eax, eax
    004259aaret
    00425940
    004259ab
    004259ab // align 0x10
    004259b0
    004259b0_GetPEImageBase:
    004259b0mov rax, [rip+46697]
    004259b7xor r8l, r8l
    004259bacmp [rax], 23117
    004259bfjne 0x4259d0
    004259c1movsxd rdx, [rax+60]
    004259c5add rdx, rax
    004259c8cmp [rdx], 17744
    004259ceje 0x4259d8
    004259d0
    004259d0loc_4259d0:
    004259d0mov rax, r8
    004259d3ret
    004259d4
    004259d4 0f 1f 40 00 ..@.
    004259d8
    004259d8loc_4259d8:
    004259d8cmp [rdx+24], 523
    004259decmove r8, rax
    004259e2mov rax, r8
    004259e5ret
    004259b0
    004259e6
    004259e6 // align 0x10
    004259f0
    004259f0_IsNonwritableInCurrentImage:
    004259f0mov rax, [rip+46633]
    004259f7xor r8l, r8l
    004259facmp [rax], 23117
    004259ffjne 0x425a10
    00425a01movsxd rdx, [rax+60]
    00425a05add rdx, rax
    00425a08cmp [rdx], 17744
    00425a0eje 0x425a18
    00425a10
    00425a10loc_425a10:
    00425a10mov eax, r8l
    00425a13ret
    00425a14
    00425a14 0f 1f 40 00 ..@.
    00425a18
    00425a18loc_425a18:
    00425a18cmp [rdx+24], 523
    00425a1ejne 0x425a10
    00425a20sub rcx, rax
    00425a23movzx eax, [rdx+20]
    00425a27lea rax, [rdx+rax+24]
    00425a2cmovzx edx, [rdx+6]
    00425a30test edx, edx
    00425a32je 0x425a10
    00425a34sub edx, 1
    00425a37lea rdx, [rdx+4*rdx]
    00425a3blea r9, [rax+8*rdx+40]
    00425a40
    00425a40loc_425a40:
    00425a40mov r8l, [rax+12]
    00425a44mov rdx, r8
    00425a47cmp rcx, r8
    00425a4ajb 0x425a54
    00425a4cadd edx, [rax+8]
    00425a4fcmp rcx, rdx
    00425a52jb 0x425a68
    00425a54
    00425a54loc_425a54:
    00425a54add rax, 40
    00425a58cmp r9, rax
    00425a5bjne 0x425a40
    00425a5dxor r8l, r8l
    00425a60mov eax, r8l
    00425a63ret
    00425a64
    00425a64 0f 1f 40 00 ..@.
    00425a68
    00425a68loc_425a68:
    00425a68mov r8l, [rax+36]
    00425a6cnot r8l
    00425a6fshr r8l, 31
    00425a73mov eax, r8l
    00425a76ret
    004259f0
    00425a77
    00425a77 // align 0x10
    00425a80
    00425a80__mingw_enum_import_library_names:
    00425a80mov r11, [rip+46489]
    00425a87xor r9l, r9l
    00425a8acmp [r11], 23117
    00425a90jne 0x425aa2
    00425a92movsxd r8, [r11+60]
    00425a96add r8, r11
    00425a99cmp [r8], 17744
    00425aa0je 0x425ab0
    00425aa2
    00425aa2loc_425aa2:
    00425aa2mov rax, r9
    00425aa5ret
    00425aa6
    00425aa6 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00425ab0
    00425ab0loc_425ab0:
    00425ab0cmp [r8+24], 523
    00425ab7jne 0x425aa2
    00425ab9mov eax, [r8+144]
    00425ac0test eax, eax
    00425ac2je 0x425aa2
    00425ac4movzx edx, [r8+20]
    00425ac9lea rdx, [r8+rdx+24]
    00425acemovzx r8l, [r8+6]
    00425ad3test r8l, r8l
    00425ad6je 0x425aa2
    00425ad8sub r8l, 1
    00425adclea r8, [r8+4*r8]
    00425ae0lea r10, [rdx+8*r8+40]
    00425ae5nop [rax]
    00425ae8
    00425ae8loc_425ae8:
    00425ae8mov r9l, [rdx+12]
    00425aecmov r8, r9
    00425aefcmp rax, r9
    00425af2jb 0x425afd
    00425af4add r8l, [rdx+8]
    00425af8cmp rax, r8
    00425afbjb 0x425b10
    00425afd
    00425afdloc_425afd:
    00425afdadd rdx, 40
    00425b01cmp r10, rdx
    00425b04jne 0x425ae8
    00425b06
    00425b06loc_425b06:
    00425b06xor r9l, r9l
    00425b09mov rax, r9
    00425b0cret
    00425b0d
    00425b0d 0f 1f 00 ...
    00425b10
    00425b10loc_425b10:
    00425b10add rax, r11
    00425b13jmp 0x425b1f
    00425b15
    00425b15 0f 1f 00 ...
    00425b18
    00425b18loc_425b18:
    00425b18sub ecx, 1
    00425b1badd rax, 20
    00425b1f
    00425b1floc_425b1f:
    00425b1fmov r8l, [rax+4]
    00425b23test r8l, r8l
    00425b26jne 0x425b2f
    00425b28mov edx, [rax+12]
    00425b2btest edx, edx
    00425b2dje 0x425b06
    00425b2f
    00425b2floc_425b2f:
    00425b2ftest ecx, ecx
    00425b31jg 0x425b18
    00425b33mov r9l, [rax+12]
    00425b37add r9, r11
    00425b3amov rax, r9
    00425b3dret
    00425a80
    00425b3e
    00425b3e // align 0x10
    00425b40
    00425b40___chkstk_ms:
    00425b40push rcx
    00425b41push rax
    00425b42cmp rax, 4096
    00425b48lea rcx, [rsp+24]
    00425b4djb 0x425b68
    00425b4f
    00425b4floc_425b4f:
    00425b4fsub rcx, 4096
    00425b56or [rcx], 0
    00425b5asub rax, 4096
    00425b60cmp rax, 4096
    00425b66ja 0x425b4f
    00425b68
    00425b68loc_425b68:
    00425b68sub rcx, rax
    00425b6bor [rcx], 0
    00425b6fpop rax
    00425b70pop rcx
    00425b71ret
    00425b40
    00425b72
    00425b72 // align 0x10
    00425b80
    00425b80__popcountdi2:
    00425b80mov rdx, 0x5555555555555555
    00425b8amov rax, rcx
    00425b8dshr rax, 1
    00425b90and rax, rdx
    00425b93mov rdx, 0x3333333333333333
    00425b9dsub rcx, rax
    00425ba0mov rax, rcx
    00425ba3shr rcx, 2
    00425ba7and rax, rdx
    00425baaand rcx, rdx
    00425badadd rcx, rax
    00425bb0mov rax, rcx
    00425bb3shr rax, 4
    00425bb7add rax, rcx
    00425bbamov rcx, 0xf0f0f0f0f0f0f0f
    00425bc4and rax, rcx
    00425bc7mov rcx, 0x101010101010101
    00425bd1imul rax, rcx
    00425bd5shr rax, 56
    00425bd9ret
    00425b80
    00425bda
    00425bda // align 0x10
    00425be0
    00425be0__mingw_vfprintf:
    00425be0push r13
    00425be2push r12
    00425be4push rbx
    00425be5sub rsp, 48
    00425be9mov rbx, r8
    00425becmov r12, rcx
    00425befmov r13, rdx
    00425bf2call _lock_file
    00425bf7mov [rsp+32], rbx
    00425bfcmov r9, r13
    00425bffxor r8l, r8l
    00425c02mov rdx, r12
    00425c05mov ecx, 24576
    00425c0acall __mingw_pformat
    00425c0fmov rcx, r12
    00425c12mov r13l, eax
    00425c15call _unlock_file
    00425c1amov eax, r13l
    00425c1dadd rsp, 48
    00425c21pop rbx
    00425c22pop r12
    00425c24pop r13
    00425c26ret
    00425be0
    00425c27
    00425c27 // align 0x10
    00425c30
    00425c30__pformat_cvt:
    00425c30sub rsp, 88
    00425c34mov r11l, [rdx+8]
    00425c38mov r10, [rdx]
    00425c3bmov rax, r11
    00425c3eand ax, 32767
    00425c42jne 0x425cd8
    00425c48mov r11, r10
    00425c4bmovzx eax, [rdx+8]
    00425c4fshr r11, 32
    00425c53or r10l, r11l
    00425c56je 0x425cc8
    00425c58test r11l, r11l
    00425c5bjns 0x425d30
    00425c61
    00425c61loc_425c61:
    00425c61mov r10l, eax
    00425c64mov [rsp+68], 1
    00425c6cand r10w, 32767
    00425c72sub r10w, 16446
    00425c78movsx r10l, r10w
    00425c7cnop [rax]
    00425c80
    00425c80loc_425c80:
    00425c80and eax, 32768
    00425c85
    00425c85loc_425c85:
    00425c85mov r11, [rsp+128]
    00425c8dmov [r11], eax
    00425c90lea rax, [rsp+72]
    00425c95mov [rsp+48], r9
    00425c9alea r9, [rsp+68]
    00425c9fmov [rsp+40], r8l
    00425ca4mov r8, rdx
    00425ca7mov edx, r10l
    00425caamov [rsp+32], ecx
    00425caelea rcx, [rip+25643]
    00425cb5mov [rsp+56], rax
    00425cbacall __gdtoa
    00425cbfadd rsp, 88
    00425cc3ret
    00425cc4
    00425cc4 0f 1f 40 00 ..@.
    00425cc8
    00425cc8loc_425cc8:
    00425cc8mov [rsp+68], 0
    00425cd0xor r10l, r10l
    00425cd3jmp 0x425c80
    00425cd5
    00425cd5 0f 1f 00 ...
    00425cd8
    00425cd8loc_425cd8:
    00425cd8cmp ax, 32767
    00425cdcje 0x425cf0
    00425cdemovzx eax, [rdx+8]
    00425ce2jmp 0x425c61
    00425ce7
    00425ce7 66 0f 1f 84 00 00 00 00 00 f........
    00425cf0
    00425cf0loc_425cf0:
    00425cf0mov rax, r10
    00425cf3shr rax, 32
    00425cf7and eax, 0x7fffffff
    00425cfcor eax, r10l
    00425cffje 0x425d18
    00425d01mov [rsp+68], 4
    00425d09xor r10l, r10l
    00425d0cxor eax, eax
    00425d0ejmp 0x425c85
    00425d13
    00425d13 0f 1f 44 00 00 ..D..
    00425d18
    00425d18loc_425d18:
    00425d18mov [rsp+68], 3
    00425d20movzx eax, [rdx+8]
    00425d24xor r10l, r10l
    00425d27jmp 0x425c80
    00425d2c
    00425d2c 0f 1f 40 00 ..@.
    00425d30
    00425d30loc_425d30:
    00425d30mov [rsp+68], 2
    00425d38mov r10l, -16445
    00425d3ejmp 0x425c80
    00425c30
    00425d43
    00425d43 // align 0x10
    00425d50
    00425d50__pformat_putc:
    00425d50push rbx
    00425d51sub rsp, 32
    00425d55mov rbx, rdx
    00425d58mov edx, [rdx+8]
    00425d5btest dh, 64
    00425d5ejne 0x425d68
    00425d60mov eax, [rbx+36]
    00425d63cmp [rbx+40], eax
    00425d66jle 0x425d7b
    00425d68
    00425d68loc_425d68:
    00425d68mov r8, [rbx]
    00425d6band dh, 32
    00425d6ejne 0x425d90
    00425d70movsxd rax, [rbx+36]
    00425d74mov [r8+rax], cl
    00425d78mov eax, [rbx+36]
    00425d7b
    00425d7bloc_425d7b:
    00425d7badd eax, 1
    00425d7emov [rbx+36], eax
    00425d81add rsp, 32
    00425d85pop rbx
    00425d86ret
    00425d87
    00425d87 66 0f 1f 84 00 00 00 00 00 f........
    00425d90
    00425d90loc_425d90:
    00425d90mov rdx, r8
    00425d93call fputc
    00425d98mov eax, [rbx+36]
    00425d9badd eax, 1
    00425d9emov [rbx+36], eax
    00425da1add rsp, 32
    00425da5pop rbx
    00425da6ret
    00425d50
    00425da7
    00425da7 // align 0x10
    00425db0
    00425db0__pformat_wputchars:
    00425db0push r14
    00425db2push r13
    00425db4push r12
    00425db6push rbp
    00425db7push rdi
    00425db8push rsi
    00425db9push rbx
    00425dbasub rsp, 64
    00425dbelea r13, [rsp+40]
    00425dc3lea r12, [rsp+48]
    00425dc8mov rbx, r8
    00425dcbmov rbp, rcx
    00425dcemov edi, edx
    00425dd0mov r8, r13
    00425dd3xor edx, edx
    00425dd5mov rcx, r12
    00425dd8call wcrtomb
    00425dddmov eax, [rbx+16]
    00425de0test eax, eax
    00425de2js 0x425de9
    00425de4cmp edi, eax
    00425de6cmovg edi, eax
    00425de9
    00425de9loc_425de9:
    00425de9mov eax, [rbx+12]
    00425deccmp eax, edi
    00425deejg 0x425eb9
    00425df4mov [rbx+12], -1
    00425dfb
    00425dfbloc_425dfb:
    00425dfbtest edi, edi
    00425dfdjle 0x425eff
    00425e03nop [rax+rax]
    00425e08
    00425e08loc_425e08:
    00425e08movzx edx, [rbp]
    00425e0cmov r8, r13
    00425e0fmov rcx, r12
    00425e12add rbp, 2
    00425e16call wcrtomb
    00425e1btest eax, eax
    00425e1djle 0x425e9d
    00425e1fsub eax, 1
    00425e22mov rsi, r12
    00425e25lea r14, [r12+rax+1]
    00425e2ajmp 0x425e46
    00425e2c
    00425e2c 0f 1f 40 00 ..@.
    00425e30
    00425e30loc_425e30:
    00425e30movsxd rax, [rbx+36]
    00425e34mov [r8+rax], cl
    00425e38mov eax, [rbx+36]
    00425e3b
    00425e3bloc_425e3b:
    00425e3badd eax, 1
    00425e3emov [rbx+36], eax
    00425e41cmp rsi, r14
    00425e44je 0x425e7c
    00425e46
    00425e46loc_425e46:
    00425e46mov edx, [rbx+8]
    00425e49add rsi, 1
    00425e4dtest dh, 64
    00425e50jne 0x425e5a
    00425e52mov eax, [rbx+36]
    00425e55cmp [rbx+40], eax
    00425e58jle 0x425e3b
    00425e5a
    00425e5aloc_425e5a:
    00425e5amovsx ecx, [rsi-1]
    00425e5emov r8, [rbx]
    00425e61and dh, 32
    00425e64je 0x425e30
    00425e66mov rdx, r8
    00425e69call fputc
    00425e6emov eax, [rbx+36]
    00425e71add eax, 1
    00425e74mov [rbx+36], eax
    00425e77cmp rsi, r14
    00425e7ajne 0x425e46
    00425e7c
    00425e7cloc_425e7c:
    00425e7csub edi, 1
    00425e7fjne 0x425e08
    00425e81mov eax, [rbx+12]
    00425e84lea edx, [rax-1]
    00425e87mov [rbx+12], edx
    00425e8atest eax, eax
    00425e8cjle 0x425eaa
    00425e8enop
    00425e90
    00425e90loc_425e90:
    00425e90mov rdx, rbx
    00425e93mov ecx, 32
    00425e98call __pformat_putc
    00425e9d
    00425e9dloc_425e9d:
    00425e9dmov eax, [rbx+12]
    00425ea0lea edx, [rax-1]
    00425ea3mov [rbx+12], edx
    00425ea6test eax, eax
    00425ea8jg 0x425e90
    00425eaa
    00425eaaloc_425eaa:
    00425eaaadd rsp, 64
    00425eaepop rbx
    00425eafpop rsi
    00425eb0pop rdi
    00425eb1pop rbp
    00425eb2pop r12
    00425eb4pop r13
    00425eb6pop r14
    00425eb8ret
    00425eb9
    00425eb9loc_425eb9:
    00425eb9sub eax, edi
    00425ebbmov [rbx+12], eax
    00425ebetest [rbx+9], 4
    00425ec2jne 0x425eef
    00425ec4sub eax, 1
    00425ec7mov [rbx+12], eax
    00425ecanop [rax+rax]
    00425ed0
    00425ed0loc_425ed0:
    00425ed0mov rdx, rbx
    00425ed3mov ecx, 32
    00425ed8call __pformat_putc
    00425eddmov eax, [rbx+12]
    00425ee0lea edx, [rax-1]
    00425ee3mov [rbx+12], edx
    00425ee6test eax, eax
    00425ee8jne 0x425ed0
    00425eeajmp 0x425dfb
    00425eef
    00425eefloc_425eef:
    00425eeftest edi, edi
    00425ef1jg 0x425e08
    00425ef7sub eax, 1
    00425efamov [rbx+12], eax
    00425efdjmp 0x425e90
    00425eff
    00425effloc_425eff:
    00425effmov [rbx+12], -2
    00425f06jmp 0x425eaa
    00425db0
    00425f08
    00425f08 // align 0x10
    00425f10
    00425f10__pformat_putchars:
    00425f10push rdi
    00425f11push rsi
    00425f12push rbx
    00425f13sub rsp, 32
    00425f17mov eax, [r8+16]
    00425f1bmov rsi, rcx
    00425f1emov edi, edx
    00425f20mov rbx, r8
    00425f23test eax, eax
    00425f25js 0x425f2c
    00425f27cmp edx, eax
    00425f29cmovg edi, eax
    00425f2c
    00425f2cloc_425f2c:
    00425f2cmov eax, [rbx+12]
    00425f2fcmp eax, edi
    00425f31jg 0x425ff8
    00425f37mov [rbx+12], -1
    00425f3e
    00425f3eloc_425f3e:
    00425f3etest edi, edi
    00425f40je 0x425fe5
    00425f46mov eax, [rbx+8]
    00425f49
    00425f49loc_425f49:
    00425f49sub edi, 1
    00425f4cadd rdi, rsi
    00425f4fjmp 0x425f74
    00425f51
    00425f51 0f 1f 80 00 00 00 00 .......
    00425f58
    00425f58loc_425f58:
    00425f58movsxd rax, [rbx+36]
    00425f5cmov [rdx+rax], cl
    00425f5fmov edx, [rbx+36]
    00425f62
    00425f62loc_425f62:
    00425f62add edx, 1
    00425f65mov [rbx+36], edx
    00425f68cmp rdi, rsi
    00425f6bje 0x425fb1
    00425f6dmov eax, [rbx+8]
    00425f70add rsi, 1
    00425f74
    00425f74loc_425f74:
    00425f74test ah, 64
    00425f77jne 0x425f81
    00425f79mov edx, [rbx+36]
    00425f7ccmp [rbx+40], edx
    00425f7fjle 0x425f62
    00425f81
    00425f81loc_425f81:
    00425f81movsx ecx, [rsi]
    00425f84mov rdx, [rbx]
    00425f87test ah, 32
    00425f8aje 0x425f58
    00425f8ccall fputc
    00425f91mov edx, [rbx+36]
    00425f94jmp 0x425f62
    00425f96
    00425f96 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00425fa0
    00425fa0loc_425fa0:
    00425fa0movsxd rax, [rbx+36]
    00425fa4mov [rdx+rax], 32
    00425fa8mov edx, [rbx+36]
    00425fab
    00425fabloc_425fab:
    00425fabadd edx, 1
    00425faemov [rbx+36], edx
    00425fb1
    00425fb1loc_425fb1:
    00425fb1mov eax, [rbx+12]
    00425fb4lea edx, [rax-1]
    00425fb7mov [rbx+12], edx
    00425fbatest eax, eax
    00425fbcjle 0x425fec
    00425fbemov eax, [rbx+8]
    00425fc1
    00425fc1loc_425fc1:
    00425fc1test ah, 64
    00425fc4jne 0x425fce
    00425fc6mov edx, [rbx+36]
    00425fc9cmp [rbx+40], edx
    00425fccjle 0x425fab
    00425fce
    00425fceloc_425fce:
    00425fcemov rdx, [rbx]
    00425fd1test ah, 32
    00425fd4je 0x425fa0
    00425fd6mov ecx, 32
    00425fdbcall fputc
    00425fe0mov edx, [rbx+36]
    00425fe3jmp 0x425fab
    00425fe5
    00425fe5loc_425fe5:
    00425fe5mov [rbx+12], -2
    00425fec
    00425fecloc_425fec:
    00425fecadd rsp, 32
    00425ff0pop rbx
    00425ff1pop rsi
    00425ff2pop rdi
    00425ff3ret
    00425ff4
    00425ff4 0f 1f 40 00 ..@.
    00425ff8
    00425ff8loc_425ff8:
    00425ff8sub eax, edi
    00425ffamov [rbx+12], eax
    00425ffdmov edx, eax
    00425fffmov eax, [rbx+8]
    00426002test ah, 4
    00426005jne 0x426030
    00426007lea eax, [rdx-1]
    0042600amov [rbx+12], eax
    0042600dnop [rax]
    00426010
    00426010loc_426010:
    00426010mov rdx, rbx
    00426013mov ecx, 32
    00426018call __pformat_putc
    0042601dmov eax, [rbx+12]
    00426020lea edx, [rax-1]
    00426023mov [rbx+12], edx
    00426026test eax, eax
    00426028jne 0x426010
    0042602ajmp 0x425f3e
    0042602f
    0042602f 90 .
    00426030
    00426030loc_426030:
    00426030test edi, edi
    00426032jne 0x425f49
    00426038sub edx, 1
    0042603bmov [rbx+12], edx
    0042603ejmp 0x425fc1
    00425f10
    00426040
    00426040__pformat_puts:
    00426040push r12
    00426042push rbx
    00426043sub rsp, 40
    00426047lea rax, [rip+43474]
    0042604emov r12, rcx
    00426051test rcx, rcx
    00426054mov rbx, rdx
    00426057movsxd rdx, [rdx+16]
    0042605bcmove r12, rax
    0042605fmov rcx, r12
    00426062test edx, edx
    00426064js 0x426080
    00426066call strnlen
    0042606b
    0042606bloc_42606b:
    0042606bmov rdx, rax
    0042606emov r8, rbx
    00426071mov rcx, r12
    00426074add rsp, 40
    00426078pop rbx
    00426079pop r12
    0042607bjmp 0x425f10
    00426080
    00426080loc_426080:
    00426080call strlen
    00426085jmp 0x42606b
    00426040
    00426087
    00426087 // align 0x10
    00426090
    00426090__pformat_emit_inf_or_nan:
    00426090sub rsp, 56
    00426094mov r9l, [r8+8]
    00426098mov [r8+16], -1
    004260a0mov r10, rdx
    004260a3test ecx, ecx
    004260a5je 0x4260f0
    004260a7mov [rsp+44], 45
    004260aclea rcx, [rsp+45]
    004260b1lea r11, [rsp+44]
    004260b6
    004260b6loc_4260b6:
    004260b6and r9l, 32
    004260baxor edx, edx
    004260bc
    004260bcloc_4260bc:
    004260bcmovzx eax, [r10+rdx]
    004260c1and eax, -33
    004260c4or eax, r9l
    004260c7mov [rcx+rdx], al
    004260caadd rdx, 1
    004260cecmp rdx, 3
    004260d2jne 0x4260bc
    004260d4lea rdx, [rcx+3]
    004260d8mov rcx, r11
    004260dbsub rdx, r11
    004260decall __pformat_putchars
    004260e3nop
    004260e4add rsp, 56
    004260e8ret
    004260e9
    004260e9 0f 1f 80 00 00 00 00 .......
    004260f0
    004260f0loc_4260f0:
    004260f0test r9l, 256
    004260f7je 0x426110
    004260f9mov [rsp+44], 43
    004260felea rcx, [rsp+45]
    00426103lea r11, [rsp+44]
    00426108jmp 0x4260b6
    0042610a
    0042610a 66 0f 1f 44 00 00 f..D..
    00426110
    00426110loc_426110:
    00426110test r9b, 64
    00426114je 0x426130
    00426116mov [rsp+44], 32
    0042611blea rcx, [rsp+45]
    00426120lea r11, [rsp+44]
    00426125jmp 0x4260b6
    00426127
    00426127 66 0f 1f 84 00 00 00 00 00 f........
    00426130
    00426130loc_426130:
    00426130lea r11, [rsp+44]
    00426135mov rcx, r11
    00426138jmp 0x4260b6
    00426090
    0042613d
    0042613d // align 0x10
    00426140
    00426140__pformat_xint.isra.0:
    00426140push rbp
    00426141push r15
    00426143push r14
    00426145push r13
    00426147push r12
    00426149push rdi
    0042614apush rsi
    0042614bpush rbx
    0042614csub rsp, 56
    00426150lea rbp, [rsp+128]
    00426158mov r14l, ecx
    0042615bmov rbx, r8
    0042615ecmp ecx, 111
    00426161je 0x4264a0
    00426167mov r15l, [r8+16]
    0042616bmov eax, 0
    00426170mov edi, [r8+8]
    00426174test r15l, r15l
    00426177cmovns eax, r15l
    0042617badd eax, 18
    0042617etest edi, 4096
    00426184jne 0x426350
    0042618amov r13l, [rbx+12]
    0042618ecmp eax, r13l
    00426191cmovl eax, r13l
    00426195cdqe
    00426197add rax, 15
    0042619band rax, -16
    0042619fcall ___chkstk_ms
    004261a4mov ecx, 4
    004261a9mov r8l, 15
    004261afsub rsp, rax
    004261b2lea r12, [rsp+32]
    004261b7
    004261b7loc_4261b7:
    004261b7mov rsi, r12
    004261batest rdx, rdx
    004261bdje 0x4263b8
    004261c3
    004261c3loc_4261c3:
    004261c3mov r9l, r14l
    004261c6and r9l, 32
    004261canop [rax+rax]
    004261d0
    004261d0loc_4261d0:
    004261d0mov eax, r8l
    004261d3add rsi, 1
    004261d7and eax, edx
    004261d9lea r10l, [rax+48]
    004261ddadd eax, 55
    004261e0or eax, r9l
    004261e3mov r11l, r10l
    004261e6cmp r10b, 58
    004261eacmovb eax, r11l
    004261eeshr rdx, cl
    004261f1mov [rsi-1], al
    004261f4test rdx, rdx
    004261f7jne 0x4261d0
    004261f9cmp rsi, r12
    004261fcje 0x4263b8
    00426202test r15l, r15l
    00426205jle 0x4263d0
    0042620b
    0042620bloc_42620b:
    0042620bmov rax, rsi
    0042620emov r8l, r15l
    00426211sub rax, r12
    00426214sub r8l, eax
    00426217test r8l, r8l
    0042621ajle 0x4263d0
    00426220movsxd rdi, r8l
    00426223mov rcx, rsi
    00426226mov edx, 48
    0042622bmov r8, rdi
    0042622eadd rsi, rdi
    00426231call memset
    00426236cmp rsi, r12
    00426239je 0x4263ec
    0042623f
    0042623floc_42623f:
    0042623fmov rax, rsi
    00426242sub rax, r12
    00426245cmp eax, r13l
    00426248jl 0x426408
    0042624e
    0042624eloc_42624e:
    0042624emov [rbx+12], -1
    00426255cmp r14l, 111
    00426259je 0x426480
    0042625fmov r13l, -1
    00426265test [rbx+9], 8
    00426269jne 0x4265c0
    0042626f
    0042626floc_42626f:
    0042626fcmp r12, rsi
    00426272jae 0x426337
    00426278mov edi, [rbx+8]
    0042627blea r14l, [r13-1]
    0042627fjmp 0x4262a0
    00426281
    00426281 0f 1f 80 00 00 00 00 .......
    00426288
    00426288loc_426288:
    00426288movsxd rax, [rbx+36]
    0042628cmov [rdx+rax], cl
    0042628fmov eax, [rbx+36]
    00426292
    00426292loc_426292:
    00426292add eax, 1
    00426295mov [rbx+36], eax
    00426298cmp rsi, r12
    0042629bjbe 0x4262d5
    0042629d
    0042629dloc_42629d:
    0042629dmov edi, [rbx+8]
    004262a0
    004262a0loc_4262a0:
    004262a0sub rsi, 1
    004262a4test edi, 16384
    004262aajne 0x4262b4
    004262acmov eax, [rbx+36]
    004262afcmp [rbx+40], eax
    004262b2jle 0x426292
    004262b4
    004262b4loc_4262b4:
    004262b4and edi, 8192
    004262bamovsx ecx, [rsi]
    004262bdmov rdx, [rbx]
    004262c0je 0x426288
    004262c2call fputc
    004262c7mov eax, [rbx+36]
    004262caadd eax, 1
    004262cdmov [rbx+36], eax
    004262d0cmp rsi, r12
    004262d3ja 0x42629d
    004262d5
    004262d5loc_4262d5:
    004262d5test r13l, r13l
    004262d8jg 0x4262fd
    004262dajmp 0x426337
    004262dc
    004262dc 0f 1f 40 00 ..@.
    004262e0
    004262e0loc_4262e0:
    004262e0movsxd rax, [rbx+36]
    004262e4mov [rdx+rax], 32
    004262e8mov eax, [rbx+36]
    004262eb
    004262ebloc_4262eb:
    004262ebadd eax, 1
    004262eemov [rbx+36], eax
    004262f1lea eax, [r14-1]
    004262f5test r14l, r14l
    004262f8jle 0x426337
    004262fa
    004262faloc_4262fa:
    004262famov r14l, eax
    004262fd
    004262fdloc_4262fd:
    004262fdmov edi, [rbx+8]
    00426300
    00426300loc_426300:
    00426300test edi, 16384
    00426306jne 0x426310
    00426308mov eax, [rbx+36]
    0042630bcmp [rbx+40], eax
    0042630ejle 0x4262eb
    00426310
    00426310loc_426310:
    00426310and edi, 8192
    00426316mov rdx, [rbx]
    00426319je 0x4262e0
    0042631bmov ecx, 32
    00426320call fputc
    00426325mov eax, [rbx+36]
    00426328add eax, 1
    0042632bmov [rbx+36], eax
    0042632elea eax, [r14-1]
    00426332test r14l, r14l
    00426335jg 0x4262fa
    00426337
    00426337loc_426337:
    00426337lea rsp, [rbp-72]
    0042633bpop rbx
    0042633cpop rsi
    0042633dpop rdi
    0042633epop r12
    00426340pop r13
    00426342pop r14
    00426344pop r15
    00426346pop rbp
    00426347ret
    00426348
    00426348 0f 1f 84 00 00 00 00 00 ........
    00426350
    00426350loc_426350:
    00426350cmp [r8+32], 0
    00426356mov ecx, 4
    0042635bje 0x426590
    00426361
    00426361loc_426361:
    00426361mov r8l, eax
    00426364mov r9l, 0xffffffffaaaaaaab
    0042636amov r13l, [rbx+12]
    0042636eimul r8, r9
    00426372shr r8, 33
    00426376add eax, r8l
    00426379cmp eax, r13l
    0042637ccmovl eax, r13l
    00426380cdqe
    00426382add rax, 15
    00426386and rax, -16
    0042638acall ___chkstk_ms
    0042638fsub rsp, rax
    00426392lea r12, [rsp+32]
    00426397cmp r14l, 111
    0042639bje 0x4264ea
    004263a1mov r8l, 15
    004263a7
    004263a7loc_4263a7:
    004263a7mov rsi, r12
    004263aatest rdx, rdx
    004263adjne 0x4261c3
    004263b3nop [rax+rax]
    004263b8
    004263b8loc_4263b8:
    004263b8and edi, -2049
    004263bemov [rbx+8], edi
    004263c1test r15l, r15l
    004263c4jg 0x42620b
    004263canop [rax+rax]
    004263d0
    004263d0loc_4263d0:
    004263d0cmp r14l, 111
    004263d4je 0x4264f8
    004263da
    004263daloc_4263da:
    004263dacmp rsi, r12
    004263ddjne 0x42623f
    004263e3test r15l, r15l
    004263e6je 0x42623f
    004263ec
    004263ecloc_4263ec:
    004263ecmov [rsi], 48
    004263efadd rsi, 1
    004263f3mov rax, rsi
    004263f6sub rax, r12
    004263f9cmp eax, r13l
    004263fcjge 0x42624e
    00426402nop [rax+rax]
    00426408
    00426408loc_426408:
    00426408sub r13l, eax
    0042640bmov edi, [rbx+8]
    0042640emov [rbx+12], r13l
    00426412cmp r14l, 111
    00426416je 0x426510
    0042641ctest edi, 2048
    00426422je 0x426540
    00426428sub r13l, 2
    0042642ctest r13l, r13l
    0042642fjle 0x42643a
    00426431test r15l, r15l
    00426434js 0x426630
    0042643a
    0042643aloc_42643a:
    0042643amov [rsi], r14b
    0042643dadd rsi, 2
    00426441mov [rsi-1], 48
    00426445
    00426445loc_426445:
    00426445test r13l, r13l
    00426448jle 0x42626f
    0042644emov edi, [rbx+8]
    00426451lea r14l, [r13-1]
    00426455test edi, 1024
    0042645bjne 0x426559
    00426461nop [rax]
    00426468
    00426468loc_426468:
    00426468mov rdx, rbx
    0042646bmov ecx, 32
    00426470call __pformat_putc
    00426475mov eax, r14l
    00426478sub r14l, 1
    0042647ctest eax, eax
    0042647ejg 0x426468
    00426480
    00426480loc_426480:
    00426480mov r14l, -2
    00426486mov r13l, -1
    0042648ccmp rsi, r12
    0042648fja 0x42629d
    00426495jmp 0x426337
    0042649a
    0042649a 66 0f 1f 44 00 00 f..D..
    004264a0
    004264a0loc_4264a0:
    004264a0mov r15l, [r8+16]
    004264a4mov eax, 0
    004264a9mov edi, [r8+8]
    004264adtest r15l, r15l
    004264b0cmovns eax, r15l
    004264b4add eax, 24
    004264b7test edi, 4096
    004264bdjne 0x426570
    004264c3mov r13l, [rbx+12]
    004264c7cmp r13l, eax
    004264cacmovge eax, r13l
    004264ce
    004264celoc_4264ce:
    004264cecdqe
    004264d0add rax, 15
    004264d4and rax, -16
    004264d8call ___chkstk_ms
    004264ddmov ecx, 3
    004264e2sub rsp, rax
    004264e5lea r12, [rsp+32]
    004264ea
    004264ealoc_4264ea:
    004264eamov r8l, 7
    004264f0jmp 0x4261b7
    004264f5
    004264f5 0f 1f 00 ...
    004264f8
    004264f8loc_4264f8:
    004264f8test [rbx+9], 8
    004264fcje 0x4263da
    00426502mov [rsi], 48
    00426505add rsi, 1
    00426509jmp 0x4263da
    0042650e
    0042650e 66 90 f.
    00426510
    00426510loc_426510:
    00426510test r15l, r15l
    00426513js 0x4265d0
    00426519
    00426519loc_426519:
    00426519lea r14l, [r13-1]
    0042651dtest edi, 1024
    00426523je 0x426468
    00426529cmp rsi, r12
    0042652cja 0x4262a0
    00426532jmp 0x426300
    00426537
    00426537 66 0f 1f 84 00 00 00 00 00 f........
    00426540
    00426540loc_426540:
    00426540test r15l, r15l
    00426543js 0x426630
    00426549
    00426549loc_426549:
    00426549lea r14l, [r13-1]
    0042654dtest edi, 1024
    00426553je 0x426468
    00426559
    00426559loc_426559:
    00426559cmp r12, rsi
    0042655cjb 0x4262a0
    00426562jmp 0x426300
    00426567
    00426567 66 0f 1f 84 00 00 00 00 00 f........
    00426570
    00426570loc_426570:
    00426570cmp [r8+32], 0
    00426576je 0x42664f
    0042657cmov ecx, 3
    00426581jmp 0x426361
    00426586
    00426586 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00426590
    00426590loc_426590:
    00426590mov r13l, [rbx+12]
    00426594cmp eax, r13l
    00426597cmovl eax, r13l
    0042659bcdqe
    0042659dadd rax, 15
    004265a1and rax, -16
    004265a5call ___chkstk_ms
    004265aamov r8l, 15
    004265b0sub rsp, rax
    004265b3lea r12, [rsp+32]
    004265b8jmp 0x4263a7
    004265bd
    004265bd 0f 1f 00 ...
    004265c0
    004265c0loc_4265c0:
    004265c0mov [rsi], r14b
    004265c3add rsi, 2
    004265c7mov [rsi-1], 48
    004265cbjmp 0x42626f
    004265d0
    004265d0loc_4265d0:
    004265d0mov eax, edi
    004265d2and eax, 1536
    004265d7cmp eax, 512
    004265dcjne 0x426519
    004265e2
    004265e2loc_4265e2:
    004265e2lea r9l, [r13-1]
    004265e6mov rcx, rsi
    004265e9mov edx, 48
    004265eelea r15l, [r9+1]
    004265f2mov [rbp-84], r9l
    004265f6movsxd r15, r15l
    004265f9mov r8, r15
    004265fcadd rsi, r15
    004265ffcall memset
    00426604mov r9l, [rbp-84]
    00426608sub r9l, r13l
    0042660bmov r13l, r9l
    0042660ecmp r14l, 111
    00426612je 0x426445
    00426618and edi, 2048
    0042661eje 0x426445
    00426624jmp 0x42643a
    00426629
    00426629 0f 1f 80 00 00 00 00 .......
    00426630
    00426630loc_426630:
    00426630mov eax, edi
    00426632and eax, 1536
    00426637cmp eax, 512
    0042663cje 0x4265e2
    0042663etest edi, 2048
    00426644jne 0x42643a
    0042664ajmp 0x426549
    0042664f
    0042664floc_42664f:
    0042664fmov r13l, [rbx+12]
    00426653cmp eax, r13l
    00426656cmovl eax, r13l
    0042665ajmp 0x4264ce
    00426140
    0042665f
    0042665f // align 0x10
    00426660
    00426660__pformat_int.isra.0:
    00426660push rbp
    00426661push r15
    00426663push r14
    00426665push r13
    00426667push r12
    00426669push rdi
    0042666apush rsi
    0042666bpush rbx
    0042666csub rsp, 40
    00426670lea rbp, [rsp+128]
    00426678mov eax, 0
    0042667dmov r14l, [rdx+16]
    00426681mov edi, [rdx+8]
    00426684test r14l, r14l
    00426687cmovns eax, r14l
    0042668bmov rbx, rdx
    0042668eadd eax, 23
    00426691test edi, 4096
    00426697je 0x4266a4
    00426699cmp [rdx+32], 0
    0042669ejne 0x4268e0
    004266a4
    004266a4loc_4266a4:
    004266a4mov esi, [rbx+12]
    004266a7cmp esi, eax
    004266a9cmovge eax, esi
    004266accdqe
    004266aeadd rax, 15
    004266b2and rax, -16
    004266b6call ___chkstk_ms
    004266bbsub rsp, rax
    004266belea r12, [rsp+32]
    004266c3test dil, 128
    004266c7je 0x4266d9
    004266c9test rcx, rcx
    004266ccjs 0x426920
    004266d2and dil, 127
    004266d6mov [rbx+8], edi
    004266d9
    004266d9loc_4266d9:
    004266d9test rcx, rcx
    004266dcje 0x4269f8
    004266e2
    004266e2loc_4266e2:
    004266e2mov r11, 0x8000000000000003
    004266ecmov r10l, edi
    004266efmov r8, r12
    004266f2mov r9, 0xcccccccccccccccd
    004266fcand r10l, 4096
    00426703nop [rax+rax]
    00426708
    00426708loc_426708:
    00426708lea r13, [r8+1]
    0042670ccmp r12, r8
    0042670fje 0x426740
    00426711test r10l, r10l
    00426714je 0x426740
    00426716cmp [rbx+32], 0
    0042671bje 0x426740
    0042671dmov rax, r8
    00426720sub rax, r12
    00426723and rax, r11
    00426726cmp rax, 3
    0042672ajne 0x426740
    0042672clea rax, [r8+2]
    00426730mov [r8], 44
    00426734mov r8, r13
    00426737mov r13, rax
    0042673anop [rax+rax]
    00426740
    00426740loc_426740:
    00426740mov rax, rcx
    00426743mul r9
    00426746mov rax, rcx
    00426749shr rdx, 3
    0042674dlea r15, [rdx+4*rdx]
    00426751add r15, r15
    00426754sub rax, r15
    00426757add eax, 48
    0042675amov [r8], al
    0042675dcmp rcx, 9
    00426761jbe 0x426770
    00426763mov rcx, rdx
    00426766mov r8, r13
    00426769jmp 0x426708
    0042676b
    0042676b 0f 1f 44 00 00 ..D..
    00426770
    00426770loc_426770:
    00426770test r14l, r14l
    00426773jle 0x426930
    00426779mov rax, r13
    0042677cmov r8l, r14l
    0042677fsub rax, r12
    00426782sub r8l, eax
    00426785test r8l, r8l
    00426788jle 0x4267a0
    0042678a
    0042678aloc_42678a:
    0042678amovsxd r15, r8l
    0042678dmov rcx, r13
    00426790mov edx, 48
    00426795mov r8, r15
    00426798add r13, r15
    0042679bcall memset
    004267a0
    004267a0loc_4267a0:
    004267a0cmp r12, r13
    004267a3je 0x426948
    004267a9
    004267a9loc_4267a9:
    004267a9test esi, esi
    004267abjle 0x4267e0
    004267admov rax, r13
    004267b0sub rax, r12
    004267b3sub esi, eax
    004267b5mov [rbx+12], esi
    004267b8test esi, esi
    004267bajle 0x4267e0
    004267bctest edi, 448
    004267c2jne 0x426960
    004267c8test r14l, r14l
    004267cbjs 0x42696f
    004267d1
    004267d1loc_4267d1:
    004267d1test edi, 1024
    004267d7je 0x4269b8
    004267ddnop [rax]
    004267e0
    004267e0loc_4267e0:
    004267e0test dil, 128
    004267e4je 0x4268c0
    004267eamov [r13], 45
    004267eflea rsi, [r13+1]
    004267f3
    004267f3loc_4267f3:
    004267f3cmp r12, rsi
    004267f6jb 0x426818
    004267f8jmp 0x42684d
    004267fa
    004267fa 66 0f 1f 44 00 00 f..D..
    00426800
    00426800loc_426800:
    00426800movsxd rax, [rbx+36]
    00426804mov [rdx+rax], cl
    00426807mov eax, [rbx+36]
    0042680a
    0042680aloc_42680a:
    0042680aadd eax, 1
    0042680dmov [rbx+36], eax
    00426810cmp r12, rsi
    00426813je 0x42684d
    00426815
    00426815loc_426815:
    00426815mov edi, [rbx+8]
    00426818
    00426818loc_426818:
    00426818sub rsi, 1
    0042681ctest edi, 16384
    00426822jne 0x42682c
    00426824mov eax, [rbx+36]
    00426827cmp [rbx+40], eax
    0042682ajle 0x42680a
    0042682c
    0042682cloc_42682c:
    0042682cand edi, 8192
    00426832movsx ecx, [rsi]
    00426835mov rdx, [rbx]
    00426838je 0x426800
    0042683acall fputc
    0042683fmov eax, [rbx+36]
    00426842add eax, 1
    00426845mov [rbx+36], eax
    00426848cmp r12, rsi
    0042684bjne 0x426815
    0042684d
    0042684dloc_42684d:
    0042684dmov eax, [rbx+12]
    00426850jmp 0x42686c
    00426852
    00426852 66 0f 1f 44 00 00 f..D..
    00426858
    00426858loc_426858:
    00426858movsxd rax, [rbx+36]
    0042685cmov [rdx+rax], 32
    00426860mov edx, [rbx+36]
    00426863mov eax, [rbx+12]
    00426866
    00426866loc_426866:
    00426866add edx, 1
    00426869mov [rbx+36], edx
    0042686c
    0042686cloc_42686c:
    0042686cmov edx, eax
    0042686esub eax, 1
    00426871mov [rbx+12], eax
    00426874test edx, edx
    00426876jle 0x4268a8
    00426878mov ecx, [rbx+8]
    0042687btest ch, 64
    0042687ejne 0x426888
    00426880mov edx, [rbx+36]
    00426883cmp [rbx+40], edx
    00426886jle 0x426866
    00426888
    00426888loc_426888:
    00426888mov rdx, [rbx]
    0042688band ch, 32
    0042688eje 0x426858
    00426890mov ecx, 32
    00426895call fputc
    0042689amov edx, [rbx+36]
    0042689dmov eax, [rbx+12]
    004268a0jmp 0x426866
    004268a2
    004268a2 66 0f 1f 44 00 00 f..D..
    004268a8
    004268a8loc_4268a8:
    004268a8lea rsp, [rbp-88]
    004268acpop rbx
    004268adpop rsi
    004268aepop rdi
    004268afpop r12
    004268b1pop r13
    004268b3pop r14
    004268b5pop r15
    004268b7pop rbp
    004268b8ret
    004268b9
    004268b9 0f 1f 80 00 00 00 00 .......
    004268c0
    004268c0loc_4268c0:
    004268c0test edi, 256
    004268c6je 0x426900
    004268c8mov [r13], 43
    004268cdlea rsi, [r13+1]
    004268d1jmp 0x4267f3
    004268d6
    004268d6 66 2e 0f 1f 84 00 00 00 00 00 f.........
    004268e0
    004268e0loc_4268e0:
    004268e0mov edx, eax
    004268e2mov r8l, 0xffffffffaaaaaaab
    004268e8imul rdx, r8
    004268ecshr rdx, 33
    004268f0add eax, edx
    004268f2jmp 0x4266a4
    004268f7
    004268f7 66 0f 1f 84 00 00 00 00 00 f........
    00426900
    00426900loc_426900:
    00426900mov rsi, r13
    00426903test dil, 64
    00426907je 0x4267f3
    0042690dmov [r13], 32
    00426912add rsi, 1
    00426916jmp 0x4267f3
    0042691b
    0042691b 0f 1f 44 00 00 ..D..
    00426920
    00426920loc_426920:
    00426920neg rcx
    00426923jmp 0x4266e2
    00426928
    00426928 0f 1f 84 00 00 00 00 00 ........
    00426930
    00426930loc_426930:
    00426930cmp r12, r13
    00426933jne 0x4267a9
    00426939
    00426939loc_426939:
    00426939test r14l, r14l
    0042693cje 0x4267a9
    00426942nop [rax+rax]
    00426948
    00426948loc_426948:
    00426948mov [r13], 48
    0042694dadd r13, 1
    00426951jmp 0x4267a9
    00426956
    00426956 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00426960
    00426960loc_426960:
    00426960sub esi, 1
    00426963mov [rbx+12], esi
    00426966test r14l, r14l
    00426969jns 0x4267d1
    0042696f
    0042696floc_42696f:
    0042696fmov eax, edi
    00426971and eax, 1536
    00426976cmp eax, 512
    0042697bjne 0x4267d1
    00426981mov edx, [rbx+12]
    00426984lea eax, [rdx-1]
    00426987mov [rbx+12], eax
    0042698atest edx, edx
    0042698cjle 0x4267e0
    00426992lea rsi, [rax+1]
    00426996mov rcx, r13
    00426999mov edx, 48
    0042699emov r8, rsi
    004269a1add r13, rsi
    004269a4call memset
    004269a9mov [rbx+12], -1
    004269b0jmp 0x4267e0
    004269b5
    004269b5 0f 1f 00 ...
    004269b8
    004269b8loc_4269b8:
    004269b8mov eax, [rbx+12]
    004269bblea edx, [rax-1]
    004269bemov [rbx+12], edx
    004269c1test eax, eax
    004269c3jle 0x4267e0
    004269c9nop [rax]
    004269d0
    004269d0loc_4269d0:
    004269d0mov rdx, rbx
    004269d3mov ecx, 32
    004269d8call __pformat_putc
    004269ddmov eax, [rbx+12]
    004269e0lea edx, [rax-1]
    004269e3mov [rbx+12], edx
    004269e6test eax, eax
    004269e8jg 0x4269d0
    004269eamov edi, [rbx+8]
    004269edjmp 0x4267e0
    004269f2
    004269f2 66 0f 1f 44 00 00 f..D..
    004269f8
    004269f8loc_4269f8:
    004269f8mov r13, r12
    004269fbmov r8l, r14l
    004269fetest r14l, r14l
    00426a01jg 0x42678a
    00426a07jmp 0x426939
    00426660
    00426a0c
    00426a0c // align 0x10
    00426a10
    00426a10__pformat_emit_radix_point:
    00426a10push rbp
    00426a11push r12
    00426a13push rdi
    00426a14push rsi
    00426a15push rbx
    00426a16mov rbp, rsp
    00426a19sub rsp, 48
    00426a1dcmp [rcx+20], -3
    00426a21mov r12, rcx
    00426a24je 0x426b10
    00426a2amovzx edx, [rcx+24]
    00426a2e
    00426a2eloc_426a2e:
    00426a2etest dx, dx
    00426a31je 0x426af0
    00426a37movsxd rax, [r12+20]
    00426a3cmov rsi, rsp
    00426a3fadd rax, 15
    00426a43and rax, -16
    00426a47call ___chkstk_ms
    00426a4csub rsp, rax
    00426a4flea r8, [rbp-8]
    00426a53mov [rbp-8], 0
    00426a5blea rbx, [rsp+32]
    00426a60mov rcx, rbx
    00426a63call wcrtomb
    00426a68test eax, eax
    00426a6ajle 0x426b50
    00426a70sub eax, 1
    00426a73lea rdi, [rbx+rax+1]
    00426a78jmp 0x426a9b
    00426a7a
    00426a7a 66 0f 1f 44 00 00 f..D..
    00426a80
    00426a80loc_426a80:
    00426a80movsxd rax, [r12+36]
    00426a85mov [r8+rax], cl
    00426a89mov eax, [r12+36]
    00426a8e
    00426a8eloc_426a8e:
    00426a8eadd eax, 1
    00426a91mov [r12+36], eax
    00426a96cmp rdi, rbx
    00426a99je 0x426adc
    00426a9b
    00426a9bloc_426a9b:
    00426a9bmov edx, [r12+8]
    00426aa0add rbx, 1
    00426aa4test dh, 64
    00426aa7jne 0x426ab5
    00426aa9mov eax, [r12+36]
    00426aaecmp [r12+40], eax
    00426ab3jle 0x426a8e
    00426ab5
    00426ab5loc_426ab5:
    00426ab5movsx ecx, [rbx-1]
    00426ab9mov r8, [r12]
    00426abdand dh, 32
    00426ac0je 0x426a80
    00426ac2mov rdx, r8
    00426ac5call fputc
    00426acamov eax, [r12+36]
    00426acfadd eax, 1
    00426ad2mov [r12+36], eax
    00426ad7cmp rdi, rbx
    00426adajne 0x426a9b
    00426adc
    00426adcloc_426adc:
    00426adcmov rsp, rsi
    00426adf
    00426adfloc_426adf:
    00426adfmov rsp, rbp
    00426ae2pop rbx
    00426ae3pop rsi
    00426ae4pop rdi
    00426ae5pop r12
    00426ae7pop rbp
    00426ae8ret
    00426ae9
    00426ae9 0f 1f 80 00 00 00 00 .......
    00426af0
    00426af0loc_426af0:
    00426af0mov rdx, r12
    00426af3mov ecx, 46
    00426af8call __pformat_putc
    00426afdnop
    00426afemov rsp, rbp
    00426b01pop rbx
    00426b02pop rsi
    00426b03pop rdi
    00426b04pop r12
    00426b06pop rbp
    00426b07ret
    00426b08
    00426b08 0f 1f 84 00 00 00 00 00 ........
    00426b10
    00426b10loc_426b10:
    00426b10mov [rbp-8], 0
    00426b18lea rbx, [rbp-8]
    00426b1ccall localeconv
    00426b21lea rcx, [rbp-10]
    00426b25mov r9, rbx
    00426b28mov r8l, 16
    00426b2emov rdx, [rax]
    00426b31call mbrtowc
    00426b36test eax, eax
    00426b38jle 0x426b68
    00426b3amovzx edx, [rbp-10]
    00426b3emov [r12+24], dx
    00426b44
    00426b44loc_426b44:
    00426b44mov [r12+20], eax
    00426b49jmp 0x426a2e
    00426b4e
    00426b4e 66 90 f.
    00426b50
    00426b50loc_426b50:
    00426b50mov rdx, r12
    00426b53mov ecx, 46
    00426b58call __pformat_putc
    00426b5dmov rsp, rsi
    00426b60jmp 0x426adf
    00426b65
    00426b65 0f 1f 00 ...
    00426b68
    00426b68loc_426b68:
    00426b68movzx edx, [r12+24]
    00426b6ejmp 0x426b44
    00426a10
    00426b70
    00426b70__pformat_emit_float:
    00426b70push rbp
    00426b71push rdi
    00426b72push rsi
    00426b73push rbx
    00426b74sub rsp, 40
    00426b78mov eax, [r9+12]
    00426b7cmov ebp, ecx
    00426b7emov rdi, rdx
    00426b81mov esi, r8l
    00426b84mov rbx, r9
    00426b87test r8l, r8l
    00426b8ajle 0x426da0
    00426b90cmp r8l, eax
    00426b93jle 0x426c90
    00426b99
    00426b99loc_426b99:
    00426b99mov [rbx+12], -1
    00426ba0mov eax, -1
    00426ba5test [rbx+9], 16
    00426ba9je 0x426bf8
    00426bab
    00426babloc_426bab:
    00426babcmp [rbx+32], 0
    00426bb0je 0x426cc0
    00426bb6
    00426bb6loc_426bb6:
    00426bb6mov edx, 0xffffffffaaaaaaab
    00426bbblea r8l, [rsi+2]
    00426bbfimul r8, rdx
    00426bc3mov edx, eax
    00426bc5shr r8, 33
    00426bc9lea ecx, [r8-1]
    00426bcdsub ecx, eax
    00426bcfcmp r8l, 1
    00426bd3jne 0x426bf0
    00426bd5jmp 0x426cc0
    00426bda
    00426bda 66 0f 1f 44 00 00 f..D..
    00426be0
    00426be0loc_426be0:
    00426be0sub edx, 1
    00426be3mov eax, ecx
    00426be5add eax, edx
    00426be7mov [rbx+12], edx
    00426beaje 0x426f1a
    00426bf0
    00426bf0loc_426bf0:
    00426bf0test edx, edx
    00426bf2jg 0x426be0
    00426bf4nop [rax]
    00426bf8
    00426bf8loc_426bf8:
    00426bf8test ebp, ebp
    00426bfajne 0x426d22
    00426c00
    00426c00loc_426c00:
    00426c00mov edx, [rbx+8]
    00426c03
    00426c03loc_426c03:
    00426c03test dh, 1
    00426c06jne 0x426e90
    00426c0cand edx, 64
    00426c0fjne 0x426f08
    00426c15
    00426c15loc_426c15:
    00426c15mov eax, [rbx+12]
    00426c18test eax, eax
    00426c1ajle 0x426c31
    00426c1cmov edx, [rbx+8]
    00426c1fand edx, 1536
    00426c25cmp edx, 512
    00426c2bje 0x426ea8
    00426c31
    00426c31loc_426c31:
    00426c31lea rbp, [rbx+32]
    00426c35test esi, esi
    00426c37jle 0x426df8
    00426c3dnop [rax]
    00426c40
    00426c40loc_426c40:
    00426c40movzx eax, [rdi]
    00426c43mov ecx, 48
    00426c48test al, al
    00426c4aje 0x426c53
    00426c4cadd rdi, 1
    00426c50movsx ecx, al
    00426c53
    00426c53loc_426c53:
    00426c53mov rdx, rbx
    00426c56call __pformat_putc
    00426c5bsub esi, 1
    00426c5eje 0x426d38
    00426c64test [rbx+9], 16
    00426c68je 0x426c40
    00426c6acmp [rbx+32], 0
    00426c6fje 0x426c40
    00426c71imul eax, esi, 0xffffffffaaaaaaab
    00426c77cmp eax, 0x55555555
    00426c7cja 0x426c40
    00426c7emov r8, rbx
    00426c81mov edx, 1
    00426c86mov rcx, rbp
    00426c89call __pformat_wputchars
    00426c8ejmp 0x426c40
    00426c90
    00426c90loc_426c90:
    00426c90mov edx, [r9+16]
    00426c94sub eax, r8l
    00426c97cmp eax, edx
    00426c99jle 0x426b99
    00426c9f
    00426c9floc_426c9f:
    00426c9fsub eax, edx
    00426ca1mov [rbx+12], eax
    00426ca4test edx, edx
    00426ca6jle 0x426e60
    00426cac
    00426cacloc_426cac:
    00426cacsub eax, 1
    00426cafmov [rbx+12], eax
    00426cb2test esi, esi
    00426cb4jle 0x426cc0
    00426cb6test [rbx+9], 16
    00426cbajne 0x426bab
    00426cc0
    00426cc0loc_426cc0:
    00426cc0test eax, eax
    00426cc2jle 0x426bf8
    00426cc8
    00426cc8loc_426cc8:
    00426cc8test ebp, ebp
    00426ccajne 0x426dc8
    00426cd0mov edx, [rbx+8]
    00426cd3test edx, 448
    00426cd9je 0x426ed0
    00426cdfsub eax, 1
    00426ce2mov [rbx+12], eax
    00426ce5je 0x426c03
    00426cebtest dh, 6
    00426ceejne 0x426c03
    00426cf4
    00426cf4loc_426cf4:
    00426cf4sub eax, 1
    00426cf7mov [rbx+12], eax
    00426cfanop [rax+rax]
    00426d00
    00426d00loc_426d00:
    00426d00mov rdx, rbx
    00426d03mov ecx, 32
    00426d08call __pformat_putc
    00426d0dmov eax, [rbx+12]
    00426d10lea edx, [rax-1]
    00426d13mov [rbx+12], edx
    00426d16test eax, eax
    00426d18jg 0x426d00
    00426d1atest ebp, ebp
    00426d1cje 0x426c00
    00426d22
    00426d22loc_426d22:
    00426d22mov rdx, rbx
    00426d25mov ecx, 45
    00426d2acall __pformat_putc
    00426d2fjmp 0x426c15
    00426d34
    00426d34 0f 1f 40 00 ..@.
    00426d38
    00426d38loc_426d38:
    00426d38mov eax, [rbx+16]
    00426d3btest eax, eax
    00426d3djg 0x426d58
    00426d3ftest [rbx+9], 8
    00426d43jne 0x426d58
    00426d45
    00426d45loc_426d45:
    00426d45sub eax, 1
    00426d48mov [rbx+16], eax
    00426d4badd rsp, 40
    00426d4fpop rbx
    00426d50pop rsi
    00426d51pop rdi
    00426d52pop rbp
    00426d53ret
    00426d54
    00426d54 0f 1f 40 00 ..@.
    00426d58
    00426d58loc_426d58:
    00426d58mov rcx, rbx
    00426d5bcall __pformat_emit_radix_point
    00426d60jmp 0x426d83
    00426d62
    00426d62 66 0f 1f 44 00 00 f..D..
    00426d68
    00426d68loc_426d68:
    00426d68movzx eax, [rdi]
    00426d6bmov ecx, 48
    00426d70test al, al
    00426d72je 0x426d7b
    00426d74add rdi, 1
    00426d78movsx ecx, al
    00426d7b
    00426d7bloc_426d7b:
    00426d7bmov rdx, rbx
    00426d7ecall __pformat_putc
    00426d83
    00426d83loc_426d83:
    00426d83mov eax, [rbx+16]
    00426d86lea edx, [rax-1]
    00426d89mov [rbx+16], edx
    00426d8ctest eax, eax
    00426d8ejg 0x426d68
    00426d90add rsp, 40
    00426d94pop rbx
    00426d95pop rsi
    00426d96pop rdi
    00426d97pop rbp
    00426d98ret
    00426d99
    00426d99 0f 1f 80 00 00 00 00 .......
    00426da0
    00426da0loc_426da0:
    00426da0test eax, eax
    00426da2jle 0x426ef0
    00426da8sub eax, 1
    00426dab
    00426dabloc_426dab:
    00426dabmov edx, [rbx+16]
    00426daecmp eax, edx
    00426db0jg 0x426c9f
    00426db6mov [rbx+12], -1
    00426dbdjmp 0x426bf8
    00426dc2
    00426dc2 66 0f 1f 44 00 00 f..D..
    00426dc8
    00426dc8loc_426dc8:
    00426dc8sub eax, 1
    00426dcbmov [rbx+12], eax
    00426dceje 0x426d22
    00426dd4test [rbx+8], 1536
    00426ddbje 0x426cf4
    00426de1mov rdx, rbx
    00426de4mov ecx, 45
    00426de9call __pformat_putc
    00426deejmp 0x426c15
    00426df3
    00426df3 0f 1f 44 00 00 ..D..
    00426df8
    00426df8loc_426df8:
    00426df8mov rdx, rbx
    00426dfbmov ecx, 48
    00426e00call __pformat_putc
    00426e05mov eax, [rbx+16]
    00426e08test eax, eax
    00426e0ajg 0x426e20
    00426e0ctest [rbx+9], 8
    00426e10jne 0x426e20
    00426e12test esi, esi
    00426e14jne 0x426e33
    00426e16jmp 0x426d45
    00426e1b
    00426e1b 0f 1f 44 00 00 ..D..
    00426e20
    00426e20loc_426e20:
    00426e20mov rcx, rbx
    00426e23call __pformat_emit_radix_point
    00426e28test esi, esi
    00426e2aje 0x426d83
    00426e30mov eax, [rbx+16]
    00426e33
    00426e33loc_426e33:
    00426e33add eax, esi
    00426e35mov [rbx+16], eax
    00426e38nop [rax+rax]
    00426e40
    00426e40loc_426e40:
    00426e40mov rdx, rbx
    00426e43mov ecx, 48
    00426e48call __pformat_putc
    00426e4dadd esi, 1
    00426e50jne 0x426e40
    00426e52jmp 0x426d83
    00426e57
    00426e57 66 0f 1f 84 00 00 00 00 00 f........
    00426e60
    00426e60loc_426e60:
    00426e60mov edx, [rbx+8]
    00426e63test dh, 8
    00426e66jne 0x426cac
    00426e6ctest esi, esi
    00426e6ejle 0x426cc8
    00426e74and dh, 16
    00426e77je 0x426cc8
    00426e7dcmp [rbx+32], 0
    00426e82je 0x426cc8
    00426e88jmp 0x426bb6
    00426e8d
    00426e8d 0f 1f 00 ...
    00426e90
    00426e90loc_426e90:
    00426e90mov rdx, rbx
    00426e93mov ecx, 43
    00426e98call __pformat_putc
    00426e9djmp 0x426c15
    00426ea2
    00426ea2 66 0f 1f 44 00 00 f..D..
    00426ea8
    00426ea8loc_426ea8:
    00426ea8sub eax, 1
    00426eabmov [rbx+12], eax
    00426eaenop
    00426eb0
    00426eb0loc_426eb0:
    00426eb0mov rdx, rbx
    00426eb3mov ecx, 48
    00426eb8call __pformat_putc
    00426ebdmov eax, [rbx+12]
    00426ec0lea edx, [rax-1]
    00426ec3mov [rbx+12], edx
    00426ec6test eax, eax
    00426ec8jg 0x426eb0
    00426ecajmp 0x426c31
    00426ecf
    00426ecf 90 .
    00426ed0
    00426ed0loc_426ed0:
    00426ed0test dh, 6
    00426ed3jne 0x426c03
    00426ed9mov eax, [rbx+12]
    00426edclea ecx, [rax-1]
    00426edfmov [rbx+12], ecx
    00426ee2test eax, eax
    00426ee4jle 0x426c03
    00426eeajmp 0x426d00
    00426eef
    00426eef 90 .
    00426ef0
    00426ef0loc_426ef0:
    00426ef0je 0x426dab
    00426ef6mov [rbx+12], -1
    00426efdjmp 0x426bf8
    00426f02
    00426f02 66 0f 1f 44 00 00 f..D..
    00426f08
    00426f08loc_426f08:
    00426f08mov rdx, rbx
    00426f0bmov ecx, 32
    00426f10call __pformat_putc
    00426f15jmp 0x426c15
    00426f1a
    00426f1aloc_426f1a:
    00426f1amov eax, edx
    00426f1cjmp 0x426cc0
    00426b70
    00426f21
    00426f21 // align 0x10
    00426f30
    00426f30__pformat_emit_efloat:
    00426f30push r13
    00426f32push r12
    00426f34push rbx
    00426f35sub rsp, 32
    00426f39mov r10l, 1
    00426f3fsub r8l, 1
    00426f43mov r11l, ecx
    00426f46mov r12, r9
    00426f49movsxd r13, r8l
    00426f4csar r8l, 31
    00426f50imul rcx, r13, 0x66666667
    00426f57sar rcx, 34
    00426f5bsub ecx, r8l
    00426f5eje 0x426f7b
    00426f60
    00426f60loc_426f60:
    00426f60movsxd rax, ecx
    00426f63sar ecx, 31
    00426f66add r10l, 1
    00426f6aimul rax, rax, 0x66666667
    00426f71sar rax, 34
    00426f75sub eax, ecx
    00426f77mov ecx, eax
    00426f79jne 0x426f60
    00426f7b
    00426f7bloc_426f7b:
    00426f7bmov eax, [r12+44]
    00426f80cmp eax, -1
    00426f83jne 0x426f93
    00426f85mov [r12+44], 2
    00426f8emov eax, 2
    00426f93
    00426f93loc_426f93:
    00426f93cmp eax, r10l
    00426f96mov ebx, r10l
    00426f99mov r8l, [r12+12]
    00426f9emov r9, r12
    00426fa1cmovge ebx, eax
    00426fa4mov eax, r8l
    00426fa7lea ecx, [rbx+2]
    00426faasub eax, ecx
    00426faccmp r8l, ecx
    00426fafmov ecx, -1
    00426fb4mov r8l, 1
    00426fbacmovle eax, ecx
    00426fbdmov ecx, r11l
    00426fc0mov [r12+12], eax
    00426fc5call __pformat_emit_float
    00426fcamov ecx, [r12+8]
    00426fcfmov eax, [r12+44]
    00426fd4mov rdx, r12
    00426fd7mov [r12+16], eax
    00426fdcmov eax, ecx
    00426fdeand ecx, 32
    00426fe1or eax, 448
    00426fe6or ecx, 69
    00426fe9mov [r12+8], eax
    00426feecall __pformat_putc
    00426ff3lea r10l, [rbx+1]
    00426ff7mov rdx, r12
    00426ffamov rcx, r13
    00426ffdadd [r12+12], r10l
    00427002add rsp, 32
    00427006pop rbx
    00427007pop r12
    00427009pop r13
    0042700bjmp 0x426660
    00426f30
    00427010
    00427010__pformat_efloat:
    00427010push r12
    00427012push rbx
    00427013sub rsp, 104
    00427017mov r8l, [rdx+16]
    0042701bfld [rcx]
    0042701dmov rbx, rdx
    00427020test r8l, r8l
    00427023js 0x427090
    00427025add r8l, 1
    00427029
    00427029loc_427029:
    00427029lea rax, [rsp+72]
    0042702efstp [rsp+80]
    00427032movdqu x0, [rsp+80]
    00427038lea rdx, [rsp+48]
    0042703dlea r9, [rsp+76]
    00427042mov ecx, 2
    00427047mov [rsp+32], rax
    0042704cmovups [rsp+48], x0
    00427051call __pformat_cvt
    00427056mov r8l, [rsp+76]
    0042705bmov r12, rax
    0042705ecmp r8l, -32768
    00427065je 0x4270a0
    00427067mov ecx, [rsp+72]
    0042706bmov r9, rbx
    0042706emov rdx, rax
    00427071call __pformat_emit_efloat
    00427076mov rcx, r12
    00427079call __freedtoa
    0042707enop
    0042707fadd rsp, 104
    00427083pop rbx
    00427084pop r12
    00427086ret
    00427087
    00427087 66 0f 1f 84 00 00 00 00 00 f........
    00427090
    00427090loc_427090:
    00427090mov [rdx+16], 6
    00427097mov r8l, 7
    0042709djmp 0x427029
    0042709f
    0042709f 90 .
    004270a0
    004270a0loc_4270a0:
    004270a0mov ecx, [rsp+72]
    004270a4mov r8, rbx
    004270a7mov rdx, rax
    004270aacall __pformat_emit_inf_or_nan
    004270afmov rcx, r12
    004270b2call __freedtoa
    004270b7nop
    004270b8add rsp, 104
    004270bcpop rbx
    004270bdpop r12
    004270bfret
    00427010
    004270c0
    004270c0__pformat_float:
    004270c0push r12
    004270c2push rbx
    004270c3sub rsp, 104
    004270c7mov r8l, [rdx+16]
    004270cbfld [rcx]
    004270cdmov rbx, rdx
    004270d0test r8l, r8l
    004270d3jns 0x4270e2
    004270d5mov [rdx+16], 6
    004270dcmov r8l, 6
    004270e2
    004270e2loc_4270e2:
    004270e2lea rax, [rsp+72]
    004270e7fstp [rsp+80]
    004270ebmovdqu x0, [rsp+80]
    004270f1lea rdx, [rsp+48]
    004270f6lea r9, [rsp+76]
    004270fbmov ecx, 3
    00427100mov [rsp+32], rax
    00427105movups [rsp+48], x0
    0042710acall __pformat_cvt
    0042710fmov r8l, [rsp+76]
    00427114mov r12, rax
    00427117cmp r8l, -32768
    0042711eje 0x427188
    00427120mov ecx, [rsp+72]
    00427124mov rdx, rax
    00427127mov r9, rbx
    0042712acall __pformat_emit_float
    0042712fmov eax, [rbx+12]
    00427132jmp 0x42714c
    00427134
    00427134 0f 1f 40 00 ..@.
    00427138
    00427138loc_427138:
    00427138movsxd rax, [rbx+36]
    0042713cmov [rdx+rax], 32
    00427140mov edx, [rbx+36]
    00427143mov eax, [rbx+12]
    00427146
    00427146loc_427146:
    00427146add edx, 1
    00427149mov [rbx+36], edx
    0042714c
    0042714cloc_42714c:
    0042714cmov edx, eax
    0042714esub eax, 1
    00427151mov [rbx+12], eax
    00427154test edx, edx
    00427156jle 0x427197
    00427158mov ecx, [rbx+8]
    0042715btest ch, 64
    0042715ejne 0x427168
    00427160mov edx, [rbx+36]
    00427163cmp [rbx+40], edx
    00427166jle 0x427146
    00427168
    00427168loc_427168:
    00427168mov rdx, [rbx]
    0042716band ch, 32
    0042716eje 0x427138
    00427170mov ecx, 32
    00427175call fputc
    0042717amov edx, [rbx+36]
    0042717dmov eax, [rbx+12]
    00427180jmp 0x427146
    00427182
    00427182 66 0f 1f 44 00 00 f..D..
    00427188
    00427188loc_427188:
    00427188mov ecx, [rsp+72]
    0042718cmov r8, rbx
    0042718fmov rdx, rax
    00427192call __pformat_emit_inf_or_nan
    00427197
    00427197loc_427197:
    00427197mov rcx, r12
    0042719acall __freedtoa
    0042719fnop
    004271a0add rsp, 104
    004271a4pop rbx
    004271a5pop r12
    004271a7ret
    004270c0