Function at 0x43b840
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x6c
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x28], edx
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x80]
mov edx, ebx
mov edi, ebx
mov dword [esp + 0x54], eax
shr edx, 0x14
and edi, 0xfffff
mov dword [esp + 0x48], ecx
and edx, 0x7ff
mov dword [esp + 0x4c], edi
cmp edx, 0x7ff
je sym._anonymous_namespace_::ryu::d2exp_buffered_n_double__unsigned_int__char__int___clone_.cold_
mov eax, ebx
mov ebp, edx
test edx, edx
jne 0x43b8a2
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
mov edx, esi
or edx, edi
je sym._anonymous_namespace_::ryu::d2exp_buffered_n_double__unsigned_int__char__int___clone_.cold_
mov esi, dword [esp + 0x54]
add esi, 1
mov dword [esp + 0x2c], esi
test ebp, ebp
jne 0x43ba50
test eax, eax
js 0x43bcb0
mov eax, 0x22
mov edx, 0x43
mov ebx, 0x22
mov dword [esp + 0x50], 0xfffffbce
mov dword [esp + 0x44], 0
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x50]
mov esi, edx
mov edi, dword [esp + 0x4c]
shl esi, 4
neg ecx
sub ecx, esi
mov esi, dword [esp + 0x48]
sub ecx, 0xffffff80
mov dword [esp + 0x30], ecx
movzx ecx, word [edx + edx + 0x53c002]
shld edi, esi, 8
shl esi, 8
movzx edx, word [edx + edx + 0x53c000]
mov dword [esp + 0x38], esi
mov dword [esp + 0x40], ecx
sub edx, ebx
mov dword [esp + 0x3c], edi
lea ecx, [edx + eax]
not eax
lea eax, [eax + eax*8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], eax
lea esi, [esi]
mov esi, dword [esp + 0x40]
cmp dword [esp + 0x24], esi
jb 0x43bd28
test ebp, ebp
je 0x43bca8
lea esi, [ebp + 9]
cmp dword [esp + 0x2c], esi
jb 0x43c6e8
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
add ecx, eax
mov dword [ecx], 0x30303030
mov ebp, esi
mov dword [ecx + 4], 0x30303030
mov byte [ecx + 8], 0x30
add dword [esp + 0x20], 9
sub dword [esp + 0x18], 9
mov eax, dword [esp + 0x18]
add dword [esp + 0x24], 1
cmp eax, 0xfffff8ef
jne 0x43b938
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
sub dword [esp + 0x2c], ebp
add eax, esi
mov dword [esp + 0x18], eax
test ebp, ebp
je 0x43c200
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], 0x30
mov dword [esp], eax
mov dword [esp + 8], ebx
call sym._memset
mov eax, esi
add eax, ebx
mov ecx, eax
lea esi, [esi]
mov esi, dword [esp + 0x58]
test esi, esi
je 0x43b9de
mov ebx, dword [esp + 0x44]
mov dword [esi], ebx
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x44]
lea ebx, [ecx + 2]
mov edx, 0x2b
add eax, esi
lea esi, [esi + ecx + 1]
test edi, edi
jns 0x43ba03
neg edi
mov edx, 0x2d
mov dword [esp + 0x44], edi
mov byte [eax], 0x65
mov edi, dword [esp + 0x44]
mov byte [esi], dl
mov esi, dword [esp + 0x28]
mov eax, edi
add ebx, esi
cmp edi, 0x63
jle 0x43bed0
mov edx, 0xcccccccd
mul edx
shr edx, 3
movzx eax, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
lea edx, [edx + edx*4]
add edx, edx
mov word [ebx], ax
mov eax, edi
sub eax, edx
add eax, 0x30
mov byte [esi + ecx + 4], al
add esp, 0x6c
lea eax, [ecx + 5]
pop ebx
pop esi
pop edi
pop ebp
ret
lea ecx, [ebp - 0x433]
or dword [esp + 0x4c], 0x100000
mov dword [esp + 0x50], ecx
mov dword [esp + 0x20], 0
test eax, eax
js 0x43bce8
cmp dword [esp + 0x50], 0xffffffcc
jl 0x43c7e0
mov edi, dword [esp + 0x50]
test edi, edi
js 0x43bd10
lea eax, [ebp - 0x424]
mov edx, eax
and eax, 0xfffffff0
shr edx, 4
lea ebx, [eax + 0x78]
movzx ecx, word [edx + edx + 0x5299c0]
imul edx, eax, 0x13441
mov eax, 0x38e38e39
shr edx, 0x12
add edx, 0x19
mul edx
shr edx, 1
lea eax, [edx - 1]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
xor ebp, ebp
mov dword [esp + 0x44], 0
mov esi, dword [esp + 0x18]
shld edx, eax, 8
shl eax, 8
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x50]
add ecx, esi
mov dword [esp + 0x34], edx
sub ebx, eax
lea eax, [ebx + 8]
mov dword [esp + 0x38], eax
lea eax, [ecx + ecx*2]
lea eax, [eax*8 + 0x522700]
mov dword [esp + 0x24], eax
lea eax, [esi + esi*8]
mov dword [esp + 0x40], eax
jmp 0x43bbdb
lea esi, [ebp + 9]
cmp dword [esp + 0x2c], esi
jb 0x43c228
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
add ecx, eax
test edi, edi
je 0x43beb8
mov eax, 0xd1b71759
mul edi
mov ebx, edx
shr edx, 0xd
shr ebx, 0xd
mov ebp, edx
imul eax, ebx, 0x2710
mov ebx, edi
sub ebx, eax
mov eax, 0x51eb851f
mul ebx
shr edx, 5
imul eax, edx, 0x64
sub ebx, eax
movzx eax, word [ebx + ebx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 7], ax
movzx eax, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 5], ax
mov eax, 0xd1b71759
mul ebp
mov edi, edx
mov ebx, edx
shr edi, 0xd
shr ebx, 0xd
imul eax, edi, 0x2710
mov edi, ebp
add ebx, 0x30
sub edi, eax
mov eax, 0x51eb851f
mul edi
shr edx, 5
imul eax, edx, 0x64
sub edi, eax
movzx eax, word [edi + edi + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 3], ax
movzx eax, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov byte [ecx], bl
mov word [ecx + 1], ax
add dword [esp + 0x20], 9
mov ebp, esi
sub dword [esp + 0x18], 1
mov eax, dword [esp + 0x18]
sub dword [esp + 0x24], 0x18
sub dword [esp + 0x40], 9
cmp eax, 0xffffffff
je 0x43c0d0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
call sym._anonymous_namespace_::ryu::mulShift_mod1e9_unsigned_long_long__unsigned_long_long_const__int_
mov edi, eax
test ebp, ebp
jne 0x43bb10
test eax, eax
je 0x43bbbf
cmp eax, 0x3b9ac9ff
ja 0x43c93f
mov eax, dword [esp + 0x40]
cmp edi, 0x5f5e0ff
ja 0x43bfe0
cmp edi, 0x98967f
ja 0x43c100
cmp edi, 0xf423f
ja 0x43c1b0
cmp edi, 0x1869f
ja 0x43c500
cmp edi, 0x270f
ja 0x43c670
cmp edi, 0x3e7
ja 0x43c71b
cmp edi, 0x63
ja 0x43c770
cmp edi, 9
ja 0x43c157
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x44], eax
test ebp, ebp
je 0x43c8a3
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x54]
add eax, ecx
test esi, esi
jne 0x43c944
lea edx, [edi + 0x30]
add dword [esp + 0x20], 1
mov ebp, 1
mov byte [eax], dl
jmp 0x43bbbf
xor ebp, ebp
jmp 0x43b97d
mov eax, dword [esp + 0x28]
mov dword [esp + 0x50], 0xfffffbce
mov edx, 0x43
mov ebx, 0x22
mov dword [esp + 0x44], 0
mov byte [eax], 0x2d
mov eax, 0x22
mov dword [esp + 0x20], 1
jmp 0x43b8e4
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x50], 0xffffffcc
mov dword [esp + 0x20], 1
mov byte [eax], 0x2d
jge 0x43ba7d
jmp 0x43c7e0
mov dword [esp + 0x18], 1
xor ecx, ecx
mov ebx, 0x78
jmp 0x43babe
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
lea eax, [eax + eax*2]
lea ecx, [eax*8 + 0x529a40]
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
call sym._anonymous_namespace_::ryu::mulShift_mod1e9_unsigned_long_long__unsigned_long_long_const__int_
mov edi, eax
test ebp, ebp
je 0x43be08
lea esi, [ebp + 9]
cmp dword [esp + 0x2c], esi
jb 0x43c838
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
add ecx, eax
test edi, edi
je 0x43b965
mov eax, 0xd1b71759
mul edi
mov ebx, edx
shr edx, 0xd
shr ebx, 0xd
mov ebp, edx
imul eax, ebx, 0x2710
mov ebx, edi
sub ebx, eax
mov eax, 0x51eb851f
mul ebx
shr edx, 5
imul eax, edx, 0x64
sub ebx, eax
movzx eax, word [ebx + ebx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 7], ax
movzx eax, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 5], ax
mov eax, 0xd1b71759
mul ebp
mov edi, edx
mov ebx, edx
shr edi, 0xd
shr ebx, 0xd
imul eax, edi, 0x2710
mov edi, ebp
add ebx, 0x30
mov ebp, esi
sub edi, eax
mov eax, 0x51eb851f
mul edi
shr edx, 5
imul eax, edx, 0x64
sub edi, eax
movzx eax, word [edi + edi + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 3], ax
movzx eax, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov byte [ecx], bl
mov word [ecx + 1], ax
jmp 0x43b978
test eax, eax
je 0x43bca8
cmp eax, 0x3b9ac9ff
ja 0x43c93f
mov eax, dword [esp + 0x18]
cmp edi, 0x5f5e0ff
ja 0x43bef0
cmp edi, 0x98967f
ja 0x43c130
cmp edi, 0xf423f
ja 0x43c1e0
cmp edi, 0x1869f
ja 0x43c530
cmp edi, 0x270f
ja 0x43c650
cmp edi, 0x3e7
ja 0x43c748
cmp edi, 0x63
ja 0x43c7a0
cmp edi, 9
ja 0x43c180
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x43c8af
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x54]
lea edx, [eax + ecx]
test ebp, ebp
jne 0x43c96d
lea eax, [edi + 0x30]
add dword [esp + 0x20], 1
mov ebp, 1
mov byte [edx], al
jmp 0x43b97d
mov dword [ecx], 0x30303030
mov dword [ecx + 4], 0x30303030
mov byte [ecx + 8], 0x30
jmp 0x43bbb8
mov eax, dword [esp + 0x44]
movzx eax, word [eax + eax + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebx], ax
add esp, 0x6c
lea eax, [ecx + 4]
pop ebx
pop esi
pop edi
pop ebp
ret
add eax, 8
cmp dword [esp + 0x2c], 8
mov dword [esp + 0x44], eax
jbe 0x43c859
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov ebp, 9
lea esi, [eax + ecx]
mov dword [esp + 0x5c], ebp
lea ebx, [esi + ebp - 3]
lea esi, [esi]
mov eax, 0xd1b71759
mov ecx, edi
mul edi
mov ebp, edx
shr ebp, 0xd
imul eax, ebp, 0x2710
mov ebp, edi
mov edi, edx
shr edi, 0xd
sub ebp, eax
mov eax, 0x51eb851f
mul ebp
shr edx, 5
imul eax, edx, 0x64
sub ebp, eax
mov eax, ebx
sub ebx, 4
movzx ebp, word [ebp + ebp + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebx + 6], bp
movzx edx, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebx + 4], dx
cmp ecx, 0x5f5e0ff
ja 0x43bf20
mov ebp, dword [esp + 0x5c]
cmp ecx, 0xf423f
jbe 0x43bfa9
lea edx, [esi + ebp + 1]
mov ebx, edx
sub ebx, eax
mov eax, 0x51eb851f
mov ecx, edi
mul edi
shr edx, 5
imul eax, edx, 0x64
mov edi, edx
sub ecx, eax
lea eax, [ebp - 1]
movzx edx, word [ecx + ecx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
sub eax, ebx
mov word [esi + eax], dx
lea eax, [edi + 0x30]
cmp edi, 9
jbe 0x43bfc4
add edi, edi
movzx eax, byte [edi + 0x5225c1]
mov byte [esi + 2], al
movzx eax, byte [edi + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov byte [esi], al
mov eax, dword [esp + 0x20]
mov byte [esi + 1], 0x2e
lea eax, [ebp + eax + 1]
mov dword [esp + 0x20], eax
jmp 0x43b97d
add eax, 8
cmp dword [esp + 0x2c], 8
mov dword [esp + 0x44], eax
jbe 0x43c228
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov ebp, 9
lea esi, [eax + ecx]
mov dword [esp + 0x5c], ebp
lea ebx, [esi + ebp - 3]
lea esi, [esi]
mov eax, 0xd1b71759
mov ecx, edi
mul edi
mov ebp, edx
shr ebp, 0xd
imul eax, ebp, 0x2710
mov ebp, edi
mov edi, edx
shr edi, 0xd
sub ebp, eax
mov eax, 0x51eb851f
mul ebp
shr edx, 5
imul eax, edx, 0x64
sub ebp, eax
mov eax, ebx
sub ebx, 4
movzx ebp, word [ebp + ebp + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebx + 6], bp
movzx edx, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebx + 4], dx
cmp ecx, 0x5f5e0ff
ja 0x43c010
mov ebp, dword [esp + 0x5c]
cmp ecx, 0xf423f
jbe 0x43c099
lea edx, [esi + ebp + 1]
mov ebx, edx
sub ebx, eax
mov eax, 0x51eb851f
mov ecx, edi
mul edi
shr edx, 5
imul eax, edx, 0x64
mov edi, edx
sub ecx, eax
lea eax, [ebp - 1]
movzx edx, word [ecx + ecx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
sub eax, ebx
mov word [esi + eax], dx
lea eax, [edi + 0x30]
cmp edi, 9
jbe 0x43c0b4
add edi, edi
movzx eax, byte [edi + 0x5225c1]
mov byte [esi + 2], al
movzx eax, byte [edi + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov byte [esi], al
mov eax, dword [esp + 0x20]
mov byte [esi + 1], 0x2e
lea eax, [ebp + eax + 1]
mov dword [esp + 0x20], eax
jmp 0x43bbbf
mov ebx, dword [esp + 0x50]
test ebx, ebx
jns 0x43b992
mov eax, dword [esp + 0x50]
mov ecx, 0x10
cdq
idiv ecx
neg eax
movzx ebx, byte [eax + 0x5226a0]
mov edx, eax
mov eax, ebx
jmp 0x43c804
add eax, 7
cmp dword [esp + 0x2c], 7
mov dword [esp + 0x44], eax
jbe 0x43c86b
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov ebp, 8
add esi, eax
jmp 0x43c002
add eax, 7
cmp dword [esp + 0x2c], 7
mov dword [esp + 0x44], eax
jbe 0x43c875
mov ebp, 8
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
lea esi, [eax + ecx]
jmp 0x43bf12
add eax, 1
cmp dword [esp + 0x2c], 1
mov dword [esp + 0x44], eax
jbe 0x43c818
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov ebp, 2
add esi, eax
jmp 0x43c099
add eax, 1
cmp dword [esp + 0x2c], 1
mov dword [esp + 0x44], eax
jbe 0x43c822
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov ebp, 2
lea esi, [eax + ecx]
jmp 0x43bfa9
add eax, 6
cmp dword [esp + 0x2c], 6
mov dword [esp + 0x44], eax
jbe 0x43c899
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov ebp, 7
lea esi, [eax + ecx]
jmp 0x43c002
add eax, 6
cmp dword [esp + 0x2c], 6
mov dword [esp + 0x44], eax
jbe 0x43c887
mov ebp, 7
jmp 0x43c147
mov ebx, dword [esp + 0x54]
test ebx, ebx
jne 0x43c7d0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
add ecx, 1
mov byte [eax], 0x30
mov eax, ecx
jmp 0x43b9d0
mov esi, 9
mov eax, dword [esp + 0x2c]
sub eax, ebp
mov dword [esp + 0x40], eax
cmp dword [esp + 0x40], esi
jae 0x43c370
mov eax, dword [esp + 0x2c]
add esi, ebp
sub esi, eax
je 0x43c370
xor ecx, ecx
mov edx, edi
lea esi, [esi]
nop
mov eax, 0xcccccccd
mov ebx, edx
add ecx, 1
mul edx
shr edx, 3
cmp ecx, esi
jne 0x43c258
lea eax, [edx + edx*4]
mov edi, edx
add eax, eax
sub ebx, eax
cmp ebx, 5
je 0x43c3a7
seta al
movzx eax, al
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
add eax, ecx
mov dword [esp + 0x18], eax
test ebp, ebp
je 0x43c350
mov eax, dword [esp + 0x40]
test edi, edi
je 0x43c6fe
lea ebp, [eax - 1]
cmp eax, 1
je 0x43c54c
mov esi, dword [esp + 0x18]
lea ecx, [esi + eax - 2]
xor esi, esi
nop
mov eax, 0x51eb851f
add esi, 2
sub ecx, 2
mul edi
mov eax, edi
shr edx, 5
imul ebx, edx, 0x64
mov edi, edx
sub eax, ebx
movzx eax, word [eax + eax + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 2], ax
cmp esi, ebp
jb 0x43c2c0
mov eax, dword [esp + 0x40]
mov ecx, ebp
sub ecx, esi
cmp esi, eax
jb 0x43c54e
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x40]
add eax, ecx
mov ecx, eax
mov edx, dword [esp + 0x24]
test edx, edx
je 0x43b9d0
lea esi, [ecx - 1]
test ecx, ecx
je 0x43c396
mov ebx, dword [esp + 0x28]
add ebx, esi
movzx edx, byte [ebx]
cmp dl, 0x2d
je 0x43c84c
cmp dl, 0x2e
je 0x43c38b
cmp dl, 0x39
je 0x43c380
cmp dword [esp + 0x24], 2
je 0x43c4f0
add edx, 1
mov byte [ebx], dl
jmp 0x43b9d0
mov ecx, dword [esp + 0x54]
test ecx, ecx
jne 0x43c570
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
lea eax, [edi + 0x30]
add ecx, 1
mov byte [esi], al
mov eax, ecx
jmp 0x43c305
mov dword [esp + 0x24], 0
jmp 0x43c287
mov byte [ebx], 0x30
mov dword [esp + 0x24], 1
sub esi, 1
sub ebx, 1
cmp esi, 0xffffffff
jne 0x43c31e
mov edx, dword [esp + 0x28]
add dword [esp + 0x44], 1
mov byte [edx], 0x31
jmp 0x43b9d0
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x50]
mov ebx, eax
sub ebx, esi
neg ecx
sub ecx, ebx
test ecx, ecx
jle 0x43c6a0
mov dword [esp + 0x24], 1
cmp ecx, 0x3b
jg 0x43c287
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
or eax, edx
je 0x43c950
mov eax, 0xffffffff
xor esi, esi
mov edx, 0xffffffff
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, esi
not edx
not eax
and edx, dword [esp + 0x4c]
and eax, dword [esp + 0x48]
or eax, edx
jne 0x43c287
mov dword [esp + 0x24], 2
test ebx, ebx
jns 0x43c287
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x2c]
sub esi, eax
mov ebx, dword [esp + 0x4c]
imul eax, dword [esp + 0x48], 0xcccccccc
imul edx, ebx, 0xcccccccd
lea ecx, [edx + eax]
mov eax, 0xcccccccd
mul dword [esp + 0x48]
add edx, ecx
mov ecx, 0x33333333
cmp ecx, eax
sbb ecx, edx
jb 0x43c938
mov dword [esp + 0x30], esi
xor ecx, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x38], edi
mov dword [esp + 0x24], ebp
mov ebp, ecx
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add ebp, 1
mov ecx, eax
or ecx, edx
je 0x43c6c4
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, 0xcccccccd
imul edx, ebx, 0xcccccccd
mov esi, ecx
imul ecx, ecx, 0xcccccccc
lea ebx, [ecx + edx]
mul esi
mov esi, 0x33333333
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
mov eax, 0x33333333
add dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x1c]
cmp esi, edx
sbb eax, ecx
jae 0x43c470
mov eax, ebp
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x24]
cmp eax, esi
setae al
movzx eax, al
add eax, 1
mov dword [esp + 0x24], eax
jmp 0x43c287
test dl, 1
je 0x43b9d0
jmp 0x43c33f
add eax, 5
cmp dword [esp + 0x2c], 5
mov dword [esp + 0x44], eax
jbe 0x43c8d3
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov ebp, 6
add esi, eax
jmp 0x43c002
add eax, 5
cmp dword [esp + 0x2c], 5
mov dword [esp + 0x44], eax
jbe 0x43c8c1
mov ebp, 6
jmp 0x43c147
xor ecx, ecx
mov eax, 0xcccccccd
mov esi, dword [esp + 0x18]
mul edi
mov eax, edi
shr edx, 3
lea edx, [edx + edx*4]
add edx, edx
sub eax, edx
add eax, 0x30
mov byte [esi + ecx], al
jmp 0x43c2f9
cmp edi, 0x270f
jbe 0x43c5e2
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x20]
lea ebx, [eax + esi]
mov eax, dword [esp + 0x28]
add ebx, eax
lea esi, [esi]
mov eax, 0xd1b71759
mov esi, edi
add ebp, 4
sub ebx, 4
mul edi
mov ecx, edx
shr ecx, 0xd
imul eax, ecx, 0x2710
mov ecx, edi
mov edi, edx
shr edi, 0xd
sub ecx, eax
mov eax, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
sub ecx, eax
movzx eax, word [ecx + ecx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebx + 4], ax
movzx eax, word [edx + edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ebx + 2], ax
cmp esi, 0x5f5e0ff
ja 0x43c590
cmp edi, 0x63
jbe 0x43c610
mov eax, 0x51eb851f
mov esi, dword [esp + 0x18]
mul edi
mov eax, edi
shr edx, 5
imul ecx, edx, 0x64
mov edi, edx
sub eax, ecx
movzx edx, word [eax + eax + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov eax, dword [esp + 0x54]
sub eax, ebp
mov word [esi + eax], dx
cmp edi, 9
jbe 0x43c931
movzx eax, byte [edi + edi + 0x5225c1]
mov ecx, dword [esp + 0x18]
mov byte [ecx + 2], al
movzx eax, byte [edi + edi + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
mov byte [ecx], al
mov eax, dword [esp + 0x20]
mov byte [ecx + 1], 0x2e
lea eax, [eax + esi + 1]
mov ecx, eax
jmp 0x43c305
add eax, 4
cmp dword [esp + 0x2c], 4
mov dword [esp + 0x44], eax
jbe 0x43c8dd
mov ebp, 5
jmp 0x43c147
add eax, 4
cmp dword [esp + 0x2c], 4
mov dword [esp + 0x44], eax
jbe 0x43c8ef
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov ebp, 5
add esi, eax
jmp 0x43c002
mov dword [esp + 0x24], 2
test ebx, ebx
jns 0x43c287
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
sub esi, eax
mov edx, ecx
or edx, ebx
jne 0x43c429
mov dword [esp + 8], 0xbc
mov dword [esp + 4], str.C:_buildroot_src_gcc_13.2.0_libstdc_v3_src_c17_ryu_d2s_intrinsics.h
mov dword [esp], str.value___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
lea esi, [esi]
mov eax, dword [esp + 0x2c]
mov esi, 9
xor edi, edi
sub eax, ebp
mov dword [esp + 0x40], eax
jmp 0x43c237
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 4], 0x30
mov dword [esp], eax
call sym._memset
jmp 0x43c2f9
add eax, 3
cmp dword [esp + 0x2c], 3
mov dword [esp + 0x44], eax
jbe 0x43c90b
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
xor ebx, ebx
mov ebp, 4
add esi, eax
jmp 0x43c075
add eax, 3
cmp dword [esp + 0x2c], 3
mov dword [esp + 0x44], eax
jbe 0x43c8f9
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
xor ebx, ebx
mov ebp, 4
add esi, eax
jmp 0x43bf85
add eax, 2
cmp dword [esp + 0x2c], 2
mov dword [esp + 0x44], eax
jbe 0x43c927
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov ebp, 3
lea esi, [eax + ecx]
jmp 0x43c075
add eax, 2
cmp dword [esp + 0x2c], 2
mov dword [esp + 0x44], eax
jbe 0x43c915
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov ebp, 3
lea esi, [eax + ecx]
jmp 0x43bf85
mov dword [esp + 0x24], 0
lea eax, [ebp + 0x30]
jmp 0x43c630
mov eax, dword [esp + 0x50]
mov dword [esp + 0x44], 0
test eax, eax
lea edx, [eax + 0xf]
cmovns edx, eax
xor ebp, ebp
sar edx, 4
neg edx
movzx ebx, byte [edx + 0x5226a0]
mov eax, ebx
cmp ebx, 0xc7
jle 0x43b8e4
jmp 0x43b992
mov esi, 2
jmp 0x43c22d
mov eax, dword [esp + 0x2c]
mov esi, 2
mov dword [esp + 0x40], eax
jmp 0x43c237
mov eax, dword [esp + 0x2c]
mov esi, 9
sub eax, ebp
mov dword [esp + 0x40], eax
jmp 0x43c237
mov ebx, dword [esp + 0x28]
lea edx, [ebx + esi + 1]
jmp 0x43c39a
mov eax, dword [esp + 0x2c]
mov esi, 9
mov dword [esp + 0x40], eax
jmp 0x43c237
mov esi, 8
jmp 0x43c22d
mov eax, dword [esp + 0x2c]
mov esi, 8
mov dword [esp + 0x40], eax
jmp 0x43c237
mov eax, dword [esp + 0x2c]
mov esi, 7
mov dword [esp + 0x40], eax
jmp 0x43c237
mov esi, 7
jmp 0x43c22d
xor ebp, ebp
mov esi, 1
jmp 0x43c22d
mov dword [esp + 0x40], 0
mov esi, 1
jmp 0x43c237
mov eax, dword [esp + 0x2c]
mov esi, 6
mov dword [esp + 0x40], eax
jmp 0x43c237
mov esi, 6
jmp 0x43c22d
mov eax, dword [esp + 0x2c]
mov esi, 5
mov dword [esp + 0x40], eax
jmp 0x43c237
mov esi, 5
jmp 0x43c22d
mov eax, dword [esp + 0x2c]
mov esi, 4
mov dword [esp + 0x40], eax
jmp 0x43c237
mov esi, 4
jmp 0x43c22d
mov eax, dword [esp + 0x2c]
mov esi, 3
mov dword [esp + 0x40], eax
jmp 0x43c237
mov esi, 3
jmp 0x43c22d
mov ebp, edi
jmp 0x43c7d8
xor eax, eax
jmp 0x43c4d7
call sym._anonymous_namespace_::ryu::decimalLength9_unsigned_int___clone_.part.0_
mov esi, eax
mov ebp, 1
jmp 0x43c099
mov dword [esp + 8], 0xcd
mov dword [esp + 4], str.C:_buildroot_src_gcc_13.2.0_libstdc_v3_src_c17_ryu_d2s_intrinsics.h
mov dword [esp], str.value___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov esi, edx
mov ebp, 1
jmp 0x43bfa9