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

Disassembly:
sub esp, 0x60
mov eax, dword [esp + 0x8c]
push ebx
push ebp
push esi
inc eax
push edi
push eax
call fcn.004783d0
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
push ecx
mov dword [esp + 0xa4], eax
mov ebp, eax
push edx
lea eax, [esp + 0x1c]
mov esi, 1
push eax
mov edi, esi
call fcn.00462d20
mov edx, dword [esp + 0x94]
lea ecx, [esp + 0x20]
push ecx
push edx
lea eax, [esp + 0x28]
push eax
call fcn.004b41a0
lea ecx, [esp + 0x3c]
push esi
push ecx
call fcn.004b2050
mov ecx, dword [esp + 0xb8]
mov eax, 0x4ec4ec4f
mul ecx
mov ebx, edx
mov eax, ecx
xor edx, edx
mov ecx, 0xd
div ecx
add esp, 0x24
shr ebx, 2
test edx, edx
je 0x488430
mov ecx, dword [edx*4 + 0x594d90]
lea eax, [esp + 0x20]
push eax
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.004b4350
add esp, 0xc
test ebx, ebx
je 0x48845f
mov esi, 0x5df118
test bl, 1
je 0x488451
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x24]
push esi
push ecx
call fcn.004b4410
add esp, 0xc
sar ebx, 1
add esi, 0x10
test ebx, ebx
jne 0x488439
mov esi, 1
mov eax, dword [esp + 0x90]
lea edx, [esp + 0x20]
push edx
push eax
lea ecx, [esp + 0x28]
push ecx
call fcn.004b41a0
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.004b52a0
add esp, 0x14
cmp eax, 0xffffffff
jne 0x4884c3
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x14]
push 0xa
push edx
call fcn.004b4350
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xa4]
add esp, 0xc
dec eax
mov edi, 0xa
mov dword [esp + 0x98], eax
lea ecx, [esp + 0x30]
push edi
push ecx
call fcn.004b2050
mov edi, dword [esp + 0x94]
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x3c]
push edi
push eax
call fcn.004b41a0
mov ebx, dword [esp + 0x9c]
add esp, 0x14
cmp ebx, edi
jle 0x488517
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x44]
push edx
call fcn.004ae500
lea eax, [esp + 0x48]
push eax
sub ebx, edi
lea ecx, [esp + 0x4c]
push ebx
push ecx
call fcn.004b41a0
add esp, 0x14
lea edx, [esp + 0x60]
push edx
call fcn.00489ae0
lea eax, [esp + 0x54]
push eax
call fcn.00489ae0
mov edi, dword [esp + 0x7c]
add esp, 8
mov dword [esp + 0x84], esi
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.004b4ce0
mov eax, dword [esp + 0x60]
add esp, 0x10
cmp eax, esi
jg 0x488566
mov edx, dword [esp + 0x5c]
cmp dword [edx], 0xa
jb 0x488573
push str.wrong_digit_
call fcn.00406da0
add esp, 4
mov eax, dword [esp + 0x5c]
mov ebx, dword [eax]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
cmp eax, ecx
lea eax, [esp + 0x40]
jg 0x488593
lea eax, [esp + 0x30]
push eax
lea edx, [esp + 0x14]
push edx
call fcn.004b52a0
add esp, 8
cmp eax, 0xffffffff
je 0x4887bd
test eax, eax
jne 0x4885bd
cmp dword [esp + 0x78], esi
je 0x4885bd
test byte [edi], 1
je 0x4887bd
mov esi, dword [edi]
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x18]
push edx
and esi, 1
call fcn.004b5440
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x70]
push ecx
call fcn.004b52a0
add esp, 0x14
cmp eax, 0xffffffff
je 0x488618
test eax, eax
je 0x488609
cmp eax, 1
je 0x48871a
push str.in_ShouldBankerRoundUpToNext__trichotomy_fails_
call fcn.00406da0
add esp, 4
jmp 0x488618
cmp dword [esp + 0x78], 1
je 0x488618
test esi, esi
jne 0x48871a
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xa0]
mov dl, bl
add dl, 0x30
mov byte [ebp], dl
inc ebp
cmp eax, ecx
je 0x48874a
mov eax, dword [esp + 0x94]
test eax, eax
lea ecx, [esp + 0x10]
push ecx
jle 0x4886c3
lea edx, [esp + 0x14]
push 1
push edx
call fcn.004b41a0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x40]
push 1
push ecx
call fcn.004b41a0
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
add esp, 0x18
cmp eax, edx
jle 0x48868d
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x44]
push 1
push ecx
call fcn.004b41a0
add esp, 0xc
push 0
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x28]
push 5
push eax
call fcn.004b4b00
mov eax, dword [esp + 0xa4]
add esp, 0x10
dec eax
mov dword [esp + 0x94], eax
inc dword [esp + 0x84]
mov esi, 1
jmp 0x488539
lea edx, [esp + 0x14]
push 0xa
push edx
call fcn.004b4350
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x40]
push 0xa
push ecx
call fcn.004b4350
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
add esp, 0x18
cmp eax, edx
jle 0x488709
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x44]
push 0xa
push ecx
call fcn.004b41a0
add esp, 0xc
inc dword [esp + 0x84]
mov esi, 1
jmp 0x488539
inc ebx
cmp ebx, 0xa
jne 0x488801
mov byte [ebp], 0x39
mov eax, ebp
cmp eax, dword [esp + 0x9c]
je 0x4888a0
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x39
je 0x48872a
inc byte [eax]
lea ebp, [eax + 1]
jmp 0x488808
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x14]
push 1
push eax
call fcn.004b41a0
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.004b52a0
add esp, 0x14
cmp eax, 0xffffffff
je 0x488808
test eax, eax
je 0x48878e
cmp eax, 1
je 0x488795
push str.in_ShouldBankerRoundUp__trichotomy_fails_
call fcn.00406da0
add esp, 4
jmp 0x488808
and ebx, 1
test ebx, ebx
je 0x488808
mov cl, byte [ebp - 1]
cmp cl, 0x39
lea eax, [ebp - 1]
jne 0x4887b6
cmp eax, dword [esp + 0x9c]
je 0x4888a0
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x39
je 0x4887a0
inc byte [eax]
lea ebp, [eax + 1]
jmp 0x488808
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x14]
push esi
push ecx
call fcn.004b41a0
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.004b52a0
add esp, 0x14
cmp eax, 0xffffffff
je 0x488801
test eax, eax
je 0x48886e
cmp eax, esi
je 0x488876
push str.in_ShouldBankerRoundUp__trichotomy_fails_
call fcn.00406da0
add esp, 4
add bl, 0x30
mov byte [ebp], bl
inc ebp
mov ecx, dword [esp + 0x8c]
cmp dword [esp + 0x88], ecx
jle 0x488825
lea edx, [esp + 0x40]
push edx
call fcn.004897e0
add esp, 4
push 0
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.004b5340
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xa8]
mov byte [ebp], 0
mov dword [eax], ecx
mov eax, dword [esp + 0xbc]
add esp, 0x10
test eax, eax
je 0x48885f
mov dword [eax], ebp
mov eax, dword [esp + 0x9c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov eax, ebx
and eax, esi
test eax, eax
je 0x488801
inc ebx
cmp ebx, 0xa
jne 0x488801
mov ecx, dword [esp + 0x9c]
mov byte [ebp], 0x39
mov eax, ebp
cmp eax, ecx
je 0x4888a0
mov dl, byte [eax - 1]
dec eax
cmp dl, 0x39
je 0x488889
inc byte [eax]
lea ebp, [eax + 1]
jmp 0x488808
inc dword [esp + 0x98]
mov byte [eax], 0x31
lea ebp, [eax + 1]
jmp 0x488808