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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4f2653
sub esp, 0x70
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x18]
sub ebx, dword [edx + 0x10]
dec ebx
mov dword [esp + 0x30], ebx
mov ebp, dword [esp + 0x78]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x60], esi
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x5c], edi
mov eax, ebx
mov ebx, dword [ebp + 0x18]
mov dword [esp + 0x58], ebx
mov ecx, ebp
mov ebp, dword [ebp + 0x1c]
mov dword [esp + 0x54], ebp
jmp 0x4f25d0
mov esi, dword [esp + 0x34]
inc esi
mov edi, dword [esp + 0x9c]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x9c]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
cmp ebp, edx
jle 0x4f2455
add edi, edx
mov ebp, dword [esp + 0x88]
cmp edi, ebp
jae 0x4f2637
mov ebp, dword [esp + 0x84]
mov edi, dword [ebp + edi*4]
test edi, edi
je 0x4f2440
add esi, edx
cmp eax, esi
jbe 0x4f242e
shl esi, 1
cmp ebx, esi
jbe 0x4f262e
mov dword [esp + 0x40], edi
mov ebp, dword [esp + 0x6c]
movzx edx, byte [ebp + esi]
lea edi, [esi + 1]
cmp ebx, edi
jbe 0x4f2625
shl edx, 8
movzx esi, byte [esi + ebp + 1]
or edx, esi
movzx edx, dx
mov eax, dword [esp + 0x40]
mov edi, edx
mul edx
mov dword [esp + 0x50], eax
mov ebp, dword [esp + 0x38]
add eax, ebp
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x20]
add ebx, esi
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x40]
sar ebx, 0x1f
imul edi, ebx
add edx, edi
mov edi, dword [esp + 0x50]
add edi, ebp
mov ebp, dword [esp + 0x3c]
adc edx, ebp
mov ebp, dword [esp + 0x40]
add ebp, esi
mov ebp, dword [esp + 0x24]
adc ebx, ebp
mov ebp, dword [esp + 0x20]
jmp 0x4f2341
jg 0x4f2439
mov esi, eax
shl esi, 1
jmp 0x4f23b4
xor esi, esi
jmp 0x4f23b4
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
jmp 0x4f2341
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x5c]
sub eax, edx
imul eax, dword [ecx + 0xc]
mov dword [esp + 0x4c], eax
mov ebp, dword [esp + 0x38]
mov dword [esp], ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0xc], ebp
call fcn.00452890
mov eax, dword [esp + 0x14]
test eax, eax
sete cl
mov edx, dword [esp + 0x10]
cmp edx, 0x10000
setb bl
test eax, eax
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x60]
sub esi, edi
mov dword [esp + 0x48], esi
mov edi, dword [esp + 0x4c]
lea esi, [edi + esi*2]
and ebx, ecx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4f2594
mov ebx, dword [esp + 0x78]
mov ebp, dword [ebx]
mov ecx, dword [ebx + 4]
cmp ecx, esi
jbe 0x4f261e
mov eax, edx
shr dx, 8
mov byte [ebp + esi], dl
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
mov ebp, dword [esp + 0x48]
lea ebp, [edi + ebp*2 + 1]
cmp ecx, ebp
jbe 0x4f2617
mov byte [esi + edx + 1], al
mov eax, dword [esp + 0x18]
lea edi, [eax + 1]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x84]
mov eax, ebp
mov ecx, ebx
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x9c]
mov esi, dword [esp + 0x1c]
mov esi, dword [esp + 0x54]
cmp edi, esi
jge 0x4f25bb
mov esi, dword [esp + 0x94]
cmp edi, esi
jae 0x4f2640
mov dword [esp + 0x18], edi
mov esi, dword [esp + 0x90]
mov esi, dword [esi + edi*4]
mov dword [esp + 0x28], esi
imul edi, ebp
mov dword [esp + 0x44], edi
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x64]
jmp 0x4f237c
cmp edx, 0xffff
seta dl
test eax, eax
setg bl
and edx, ecx
or ebx, edx
test bl, bl
je 0x4f25b4
mov edx, 0xffffffff
jmp 0x4f24cd
xor edx, edx
jmp 0x4f24cd
mov edx, dword [esp + 0x1c]
inc edx
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x5c]
mov ebp, esi
mov esi, edx
mov edx, dword [esp + 0x74]
cmp esi, ebx
jge 0x4f2613
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
mov edi, dword [edx + 8]
mov edx, dword [edx + 0xc]
imul edx, esi
cmp edx, ebx
ja 0x4f2649
mov dword [esp + 0x1c], esi
sub ebx, edx
mov dword [esp + 0x2c], ebx
sub edi, edx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ebp
mov dword [esp + 0x6c], edx
mov ebp, dword [esp + 0x9c]
mov edi, dword [esp + 0x5c]
jmp 0x4f2539
add esp, 0x70
ret
mov eax, ebp
call fcn.0045ad60
mov eax, esi
call fcn.0045ad60
mov eax, edi
mov ecx, ebx
call fcn.0045ad60
mov eax, esi
mov ecx, ebx
call fcn.0045ad60
mov eax, edi
mov ecx, ebp
call fcn.0045ad60
mov eax, edi
mov ecx, esi
call fcn.0045ad60
mov eax, edx
mov ecx, ebx
call fcn.0045adc0
nop
call fcn.00459790
jmp fcn.004f22f0