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

Disassembly:
sub esp, 0x38
push ebx
push ebp
push esi
mov esi, dword [esp + 0x70]
mov eax, esi
push edi
mov edi, dword [esp + 0x70]
mov ebx, edi
sub ebx, dword [esp + 0x50]
mov dword [esp + 0x1c], ecx
sbb eax, dword [esp + 0x54]
mov dword [esp + 0x18], eax
mov eax, edi
sub eax, dword [esp + 0x60]
mov dword [esp + 0x24], eax
mov eax, esi
sbb eax, dword [esp + 0x64]
xor ebp, ebp
mov dword [esp + 0x14], eax
xor ecx, ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 0x2c], eax
neg eax
bts ebp, eax
mov dword [esp + 0x28], eax
cmp eax, 0x20
mov dword [esp + 0x20], edx
mov edx, esi
cmovae ecx, ebp
xor ebp, ecx
cmp eax, 0x40
mov eax, edi
mov dword [esp + 0x3c], ebp
cmovae ecx, ebp
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x28]
call fcn.00496170
mov edx, dword [esp + 0x30]
mov ecx, ebp
add ecx, 0xffffffff
mov dword [esp + 0x34], eax
adc edx, 0xffffffff
and ecx, edi
and edx, esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], edx
mov ecx, eax
lea edx, [esp + 0x70]
call fcn.00464769
mov edi, eax
push 0xa
pop ecx
test edi, edi
jle 0x4649c3
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x38], ebp
mov eax, dword [esp + 0x34]
xor edx, edx
div ebp
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add al, 0x30
mov ecx, dword [ecx]
mov byte [ecx + edx], al
lea esi, [ecx + 1]
mov eax, dword [esp + 0x20]
xor edx, edx
mov ecx, dword [esp + 0x28]
mov dword [eax], esi
mov eax, dword [esp + 0x34]
div ebp
dec edi
mov eax, edx
mov dword [esp + 0x70], edi
xor edx, edx
mov dword [esp + 0x34], eax
call fcn.00496150
mov edi, eax
mov ebp, edx
add edi, dword [esp + 0x44]
adc ebp, dword [esp + 0x40]
cmp ebp, dword [esp + 0x18]
jb 0x464b3a
ja 0x4649aa
cmp edi, ebx
jbe 0x464b3a
mov eax, dword [esp + 0x38]
xor edx, edx
push 0xa
pop ecx
div ecx
mov edi, dword [esp + 0x70]
mov ebp, eax
mov dword [esp + 0x38], ebp
test edi, edi
jg 0x46494c
mov eax, dword [esp + 0x40]
mul ecx
mov ebp, eax
mov eax, dword [esp + 0x44]
mul ecx
mov ecx, dword [esp + 0x28]
mov edi, eax
add ebp, edx
mov eax, dword [esp + 0x20]
mov edx, ebp
mov esi, dword [eax]
mov eax, edi
call fcn.00496170
mov ecx, dword [esp + 0x1c]
add al, 0x30
mov edx, dword [esp + 0x3c]
push 0xa
mov dword [esp + 0x3c], 1
mov byte [esi + ecx], al
inc esi
mov eax, dword [esp + 0x24]
add edx, 0xffffffff
mov ecx, dword [esp + 0x34]
adc ecx, 0xffffffff
and edi, edx
and ebp, ecx
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
pop ecx
mul ecx
push 0xa
mov ecx, eax
mov eax, ebx
pop edx
mul edx
push 0xa
add ecx, edx
mov ebx, eax
mov eax, dword [esp + 0x18]
pop edx
mul edx
push 0xa
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
pop edx
mul edx
mov dword [esp + 0x18], ecx
add dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
cmp ebp, ecx
jb 0x464af9
ja 0x464a5c
cmp edi, ebx
jbe 0x464af9
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
neg ecx
add eax, 0xffffffff
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x30]
adc eax, 0xffffffff
mov dword [esp + 0x40], eax
push 0xa
pop edx
mov eax, ebp
mul edx
push 0xa
mov ebp, eax
mov eax, edi
pop edx
mul edx
add ebp, edx
mov edi, eax
mov edx, ebp
call fcn.00496170
mov ecx, dword [esp + 0x1c]
add al, 0x30
push 0xa
and edi, dword [esp + 0x48]
and ebp, dword [esp + 0x44]
mov byte [ecx + esi], al
inc esi
mov eax, dword [esp + 0x1c]
pop ecx
mul ecx
push 0xa
mov ecx, eax
inc dword [esp + 0x3c]
pop edx
mov eax, ebx
mul edx
push 0xa
add ecx, edx
mov ebx, eax
mov eax, dword [esp + 0x18]
pop edx
mul edx
push 0xa
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
pop edx
mul edx
mov dword [esp + 0x18], ecx
add dword [esp + 0x14], edx
cmp ebp, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
ja 0x464a7c
jb 0x464af3
cmp edi, ebx
ja 0x464a7c
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x38]
sub dword [eax], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x20]
mov edx, esi
push eax
push ebp
push edi
push dword [esp + 0x28]
push ebx
push dword [esp + 0x2c]
push dword [esp + 0x40]
call fcn.004647e2
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov eax, dword [esp + 0x4c]
xor edx, edx
mov ecx, dword [esp + 0x70]
add dword [eax], ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
call fcn.00496150
mov ecx, edx
jmp 0x464b13