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

Disassembly:
sub esp, 0x44
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
and eax, 3
push ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
push ebp
mov dword [esp + 0x3c], eax
mov eax, ecx
push esi
xor ebx, ebx
test eax, 0x80000000
push edi
mov dword [esp + 0x48], ecx
je 0x486d32
mov edx, dword [esp + 0x6c]
and eax, 0x7fffffff
mov dword [edx], 1
mov dword [esp + 0x48], eax
jmp 0x486d38
mov ecx, dword [esp + 0x6c]
mov dword [ecx], ebx
mov ecx, eax
and ecx, 0x7ff00000
cmp ecx, 0x7ff00000
jne 0x486dcd
cmp dword [esp + 0x44], ebx
mov edx, dword [esp + 0x68]
mov dword [edx], 0x270f
jne 0x486da2
test eax, 0xfffff
jne 0x486da2
push 9
call fcn.004783d0
mov edx, dword [str.Infinity]
mov ecx, eax
mov dword [ecx], edx
mov edx, dword [0x5b5a84]
mov dword [ecx + 4], edx
mov dl, byte [0x5b5a88]
mov byte [ecx + 8], dl
mov ecx, dword [esp + 0x74]
add esp, 4
cmp ecx, ebx
je 0x487768
pop edi
pop esi
lea edx, [eax + 8]
pop ebp
mov dword [ecx], edx
pop ebx
add esp, 0x44
ret
push 4
call fcn.004783d0
mov ecx, dword [0x5b5a7c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
add esp, 4
cmp ecx, ebx
je 0x487768
pop edi
pop esi
lea edx, [eax + 3]
pop ebp
mov dword [ecx], edx
pop ebx
add esp, 0x44
ret
fld qword [esp + 0x44]
fcomp qword [0x5940e0]
fnstsw ax
test ah, 0x40
je 0x486e0d
push 2
call fcn.004783d0
mov cx, word [0x5a8f40]
mov word [eax], cx
mov ecx, dword [esp + 0x74]
add esp, 4
cmp ecx, ebx
je 0x486dff
lea edx, [eax + 1]
mov dword [ecx], edx
mov ecx, dword [esp + 0x68]
pop edi
pop esi
pop ebp
mov dword [ecx], ebx
pop ebx
add esp, 0x44
ret
fld qword [esp + 0x44]
xor edx, edx
cmp ecx, ebx
sete dl
fstp qword [esp + 0x58]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov esi, eax
sar esi, 0x14
and esi, 0x7ff
and eax, 0xfffff
cmp esi, ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
je 0x486e7f
mov ebp, dword [esp + 0x40]
mov eax, ecx
lea edx, [esp + 0x3c]
or eax, ebx
or ebp, 0x100000
push edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebp
call fcn.00487780
mov edi, 0x35
add esp, 4
sub edi, eax
lea esi, [eax + esi - 0x433]
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], esi
jmp 0x486ead
lea eax, [esp + 0x3c]
push eax
call fcn.00487780
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov esi, eax
push ecx
sub esi, 0x432
push edx
mov dword [esp + 0x3c], esi
call fcn.00487830
mov edi, eax
add esp, 0xc
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov ecx, 0x35
sub ecx, edi
call fcn.005840b0
mov dword [esp + 0x58], eax
lea eax, [esi + edi - 1]
mov dword [esp + 0x6c], eax
fild dword [esp + 0x6c]
and edx, 0xfffff
or edx, 0x3ff00000
mov dword [esp + 0x5c], edx
fmul qword [0x5950d8]
fld qword [esp + 0x58]
fsub qword [0x5950d0]
fmul qword [0x5950c8]
faddp st(1)
fadd qword [0x5950c0]
fld st(0)
call fcn.00582b68
mov ebp, eax
mov dword [esp + 0x6c], ebp
fild dword [esp + 0x6c]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 0x41
jne 0x486f1c
dec ebp
cmp ebp, ebx
jl 0x486f3e
cmp ebp, 0x16
jg 0x486f3e
fld qword [esp + 0x44]
fcomp qword [ebp*8 + 0x594dc8]
fnstsw ax
test ah, 1
je 0x486f38
dec ebp
mov dword [esp + 0x28], ebx
jmp 0x486f46
mov dword [esp + 0x28], 1
cmp esi, ebx
jg 0x486f50
xor edi, edi
neg esi
jmp 0x486f54
mov edi, esi
xor esi, esi
cmp ebp, ebx
jl 0x486f64
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x58], ebp
add esi, ebp
jmp 0x486f72
mov eax, ebp
sub edi, ebp
neg eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x58], ebx
mov eax, dword [esp + 0x10]
cmp eax, 3
ja case.default.0x486f7f
jmp dword [eax*4 + 0x487770]
or ebx, 0xffffffff
mov dword [esp + 0x60], ebx
mov dword [esp + 0x6c], ebx
mov ebx, 0x12
mov dword [esp + 0x20], ebx
jmp 0x4871d2
mov eax, dword [esp + 0x60]
cmp eax, ebx
jg 0x486fac
mov eax, 1
mov ebx, eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x60], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
test eax, eax
jl 0x4871d2
cmp eax, 0xe
jg 0x4871d2
test byte [esp + 0x64], 8
jne 0x4871d2
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x4c]
push ebp
push eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
call fcn.004878c0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
add esp, 8
test eax, eax
je 0x487059
fld qword [esp + 0x4c]
fcomp qword [0x594bc0]
fnstsw ax
test ah, 1
je 0x487059
mov eax, dword [esp + 0x6c]
test eax, eax
jle 0x487059
mov eax, dword [esp + 0x60]
test eax, eax
jl 0x4871d2
fld qword [esp + 0x4c]
mov ecx, eax
mov eax, dword [esp + 0x14]
fmul qword [0x5950b8]
lea edx, [ebp - 1]
inc eax
fstp qword [esp + 0x4c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul qword [esp + 0x4c]
fadd qword [0x5950b0]
fstp qword [esp + 0x28]
sub dword [esp + 0x2c], 0x3400000
lea eax, [ebx + 1]
push eax
call fcn.004783d0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
add esp, 4
test eax, eax
jne 0x487140
fld qword [esp + 0x4c]
fsub qword [0x5950a8]
fcom qword [esp + 0x28]
fst qword [esp + 0x4c]
fnstsw ax
test ah, 0x41
jne 0x48710e
mov ecx, dword [esp + 0x14]
fstp st(0)
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x68]
mov byte [ecx], 0x31
mov dword [eax], edx
jmp 0x4871c6
mov ecx, dword [esp + 0x60]
lea ebx, [ecx + ebp + 1]
test ebx, ebx
lea edx, [ebx - 1]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x60], edx
jg 0x486fba
mov ebx, 1
mov dword [esp + 0x20], ebx
jmp 0x486fba
or ebx, 0xffffffff
push str.impossible_conversion_type_in_TclDoubleDigits
mov dword [esp + 0x24], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x64], ebx
call fcn.00406da0
add esp, 4
jmp 0x4871d2
fld qword [esp + 0x28]
fchs
fxch st(1)
fcompp
fnstsw ax
test ah, 1
je 0x48712e
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x68]
mov dword [edx], ecx
jmp 0x4871c6
mov eax, dword [esp + 0x14]
push eax
call fcn.00478500
add esp, 4
jmp 0x4871d2
test byte [esp + 0x64], 4
je 0x487176
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x60]
push eax
push ecx
push edx
call fcn.00487950
jmp 0x4871a3
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x60]
push edx
push eax
push ecx
call fcn.00487a40
add esp, 0x20
test eax, eax
jne 0x4871b9
mov edx, dword [esp + 0x14]
push edx
call fcn.00478500
add esp, 4
jmp 0x4871d2
mov ecx, dword [esp + 0x70]
test ecx, ecx
mov byte [eax], 0
je 0x4871c6
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x487768
test byte [esp + 0x64], 4
je 0x487645
mov edx, dword [esp + 0x38]
test edx, edx
mov ecx, dword [esp + 0x20]
mov ebx, edi
mov dword [esp + 0x64], ecx
je 0x4871fa
mov eax, dword [esp + 0x30]
add eax, 0x433
jmp 0x487203
mov eax, 0x36
sub eax, dword [esp + 0x34]
add edi, eax
add esi, eax
test ebx, ebx
jle 0x48721d
test esi, esi
jle 0x48721d
cmp ebx, esi
mov eax, ebx
jl 0x487217
mov eax, esi
sub edi, eax
sub ebx, eax
sub esi, eax
test edx, edx
mov eax, ebx
mov dword [esp + 0x18], eax
jne 0x48723f
cmp dword [esp + 0x3c], 1
jne 0x48723f
mov edx, dword [esp + 0x40]
test edx, edx
jne 0x48723f
lea eax, [ebx + 1]
inc edi
inc esi
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x58]
inc edx
cmp edx, 0x1b
jge 0x487572
mov edx, dword [esp + 0x58]
mov edx, dword [edx*4 + 0x594f5c]
lea edx, [edx + esi + 1]
cmp edx, 0x40
jg 0x487572
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x1c]
inc ecx
push ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x70], ebx
mov dword [esp + 0x34], edx
call fcn.004783d0
mov ecx, dword [esp + 0x40]
mov edx, dword [ebp*8 + 0x594fcc]
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x40]
push eax
mov eax, dword [ebp*8 + 0x594fc8]
push ecx
push edx
push eax
call fcn.00583e70
mov ecx, edi
call fcn.005840b0
mov edi, edx
mov edx, dword [esp + 0x58]
mov ebp, eax
mov eax, dword [edx*8 + 0x594fc8]
mov edx, dword [edx*8 + 0x594fcc]
mov ecx, esi
call fcn.005840b0
mov ecx, dword [esp + 0x20]
mov esi, edx
cmp edi, esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x64], ecx
ja 0x487323
jb 0x4872ee
cmp ebp, eax
jae 0x487323
push 0
push 0xa
push edi
push ebp
call fcn.00583e70
mov ebp, eax
mov eax, dword [esp + 0x1c]
mov edi, edx
mov edx, dword [esp + 0x18]
lea ecx, [edx + 1]
lea edx, [eax + 1]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
inc ebx
dec eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x14], eax
jmp 0x48732b
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov eax, dword [edx*8 + 0x594fc8]
mov edx, dword [edx*8 + 0x594fcc]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
call fcn.005840b0
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x4c]
mov ebx, edx
mov edx, dword [esp + 0x50]
call fcn.005840b0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x60], 1
mov ecx, dword [esp + 0x58]
push esi
push ecx
push edi
push ebp
call fcn.005848a0
cmp eax, 0xa
mov dword [esp + 0x6c], eax
jle 0x487390
push str.wrong_digit_
call fcn.00406da0
add esp, 4
mov edx, dword [esp + 0x58]
push esi
push edx
push edi
push ebp
call fcn.00584820
cmp edx, ebx
jb 0x4874ee
ja 0x4873b1
cmp eax, dword [esp + 0x3c]
jb 0x4874ee
cmp eax, dword [esp + 0x3c]
jne 0x4873cd
cmp edx, ebx
jne 0x4873cd
cmp dword [esp + 0x10], 1
je 0x4873cd
test byte [esp + 0x44], 1
je 0x4874ee
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x50]
sub edi, ecx
mov ecx, esi
sbb ecx, ebp
cmp edx, ecx
ja 0x4874c2
jb 0x4873f1
cmp eax, edi
ja 0x4874c2
cmp eax, edi
jne 0x48740b
cmp edx, ecx
jne 0x48740b
cmp dword [esp + 0x10], 1
je 0x48740b
test byte [esp + 0x44], 1
je 0x4874c2
mov cl, byte [esp + 0x6c]
mov edi, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
add cl, 0x30
mov byte [edi], cl
mov ecx, dword [esp + 0x34]
inc edi
cmp ebp, ecx
mov dword [esp + 0x64], edi
push 0
je 0x487476
push 0xa
push edx
push eax
call fcn.00583e70
push 0
push 0xa
mov edi, edx
mov edx, dword [esp + 0x44]
push ebx
push edx
mov ebp, eax
call fcn.00583e70
mov ecx, dword [esp + 0x4c]
push 0
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x54]
push 0xa
push eax
push ecx
mov ebx, edx
call fcn.00583e70
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x60], eax
jmp 0x48736d
push 2
push edx
push eax
call fcn.00583e70
cmp edx, esi
ja 0x4874a8
jb 0x48748b
cmp eax, dword [esp + 0x58]
ja 0x4874a8
cmp eax, dword [esp + 0x58]
jne 0x48754f
cmp edx, esi
jne 0x48754f
test byte [esp + 0x6c], 1
je 0x48754f
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x14]
push edx
push eax
push edi
call fcn.00487890
add esp, 0xc
mov edi, eax
jmp 0x48754f
mov eax, dword [esp + 0x6c]
cmp eax, 9
jne 0x4874ea
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x14]
push ecx
mov byte [eax], 0x39
push edx
inc eax
push eax
call fcn.00487890
add esp, 0xc
mov edi, eax
jmp 0x48754f
add al, 0x31
jmp 0x487548
push 0
push 2
push edx
push eax
call fcn.00583e70
cmp edx, esi
ja 0x487519
jb 0x487505
cmp eax, dword [esp + 0x58]
ja 0x487519
cmp eax, dword [esp + 0x58]
jne 0x487542
cmp edx, esi
jne 0x487542
mov eax, dword [esp + 0x6c]
test al, 1
je 0x487546
jmp 0x48751d
mov eax, dword [esp + 0x6c]
inc eax
cmp eax, 0xa
jne 0x487546
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x14]
push ecx
mov byte [eax], 0x39
push edx
inc eax
push eax
call fcn.00487890
add esp, 0xc
mov edi, eax
jmp 0x48754f
mov eax, dword [esp + 0x6c]
add al, 0x30
mov edi, dword [esp + 0x64]
mov byte [edi], al
inc edi
mov ecx, dword [esp + 0x68]
mov byte [edi], 0
mov eax, dword [esp + 0x14]
mov dword [ecx], eax
mov eax, dword [esp + 0x70]
test eax, eax
je 0x487566
mov dword [eax], edi
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov edx, dword [esp + 0x58]
test edx, edx
jne 0x487602
mov eax, esi
cdq
mov ecx, 0x1c
idiv ecx
test edx, edx
je 0x4875a0
mov eax, ecx
mov ecx, dword [esp + 0x18]
sub eax, edx
add ecx, eax
add edi, eax
add ebx, eax
mov dword [esp + 0x18], ecx
add esi, eax
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x6c]
push ecx
push edx
push eax
mov eax, 0x92492493
imul esi
mov eax, dword [esp + 0x30]
add edx, esi
sar edx, 4
push ebp
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x34]
push eax
push ebx
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x6c]
push edi
push eax
push ecx
push edx
lea eax, [esp + 0x80]
push eax
call fcn.00487cb0
add esp, 0x40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov edx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x6c]
push ebp
push ecx
mov ecx, dword [esp + 0x2c]
push esi
push ebx
push eax
mov eax, dword [esp + 0x64]
push edi
push edx
push eax
push ecx
lea edx, [esp + 0x7c]
push edx
call fcn.00488390
add esp, 0x3c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
cmp esi, edi
jg 0x487657
test esi, esi
jle 0x487653
sub edi, esi
xor esi, esi
jmp 0x48765f
cmp esi, edi
jl 0x48765f
test edi, edi
jle 0x48765f
sub esi, edi
xor edi, edi
mov eax, dword [esp + 0x58]
lea ecx, [eax + 1]
cmp ecx, 0x1b
jge 0x4876c1
mov edx, dword [eax*4 + 0x594f5c]
lea ecx, [edx + esi + 1]
cmp ecx, 0x40
jg 0x4876c1
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x50]
push ebx
push ebp
push eax
mov eax, dword [esp + 0x58]
push esi
push ecx
mov ecx, dword [esp + 0x34]
push edi
push edx
push eax
push ecx
lea edx, [esp + 0x78]
push edx
call fcn.00487b30
add esp, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
test eax, eax
jne 0x48772f
mov eax, esi
cdq
mov ecx, 0x1c
idiv ecx
test edx, edx
je 0x4876db
mov eax, ecx
sub eax, edx
add edi, eax
add esi, eax
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x70]
push eax
push ecx
push edx
mov ecx, dword [esp + 0x2c]
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
push ebx
mov eax, edx
push ebp
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x30]
push edi
push edx
push eax
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00488180
add esp, 0x34
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x4c]
push ebx
push ebp
push ecx
mov ecx, dword [esp + 0x2c]
push esi
push edi
push edx
push eax
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.004888c0
add esp, 0x34
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret