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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a390f
sub esp, 0x64
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
cmp eax, ecx
je 0x4a3409
xor edx, edx
jmp 0x4a3430
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov edx, dword [esp + 0x78]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00402670
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x74]
mov edx, eax
mov eax, dword [esp + 0x7c]
test dl, dl
jne 0x4a343f
mov edx, dword [esp + 0x80]
test edx, edx
jne 0x4a3459
mov eax, dword [esp + 0x68]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x88], eax
add esp, 0x64
ret
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x70]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.004a32f0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4a3575
mov ecx, dword [esp + 0x80]
test ecx, ecx
jl 0x4a3496
cmp ecx, eax
jg 0x4a3496
mov eax, ecx
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
nop
lea ecx, [esp + 0x54]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x74]
sub edx, ebx
imul edx, eax
mov esi, dword [esp + 0x6c]
add edx, esi
test edx, edx
jl 0x4a38f6
mov dword [esp + 0x40], eax
mov edi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x3c], ebp
sub ebp, edi
cmp ebp, edx
jge 0x4a356b
mov dword [esp + 0x30], edi
lea eax, [0x4ed440]
mov dword [esp], eax
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x3c]
lea ecx, [edx + ecx*2]
mov dword [esp + 0x34], ecx
mov dword [esp + 8], ecx
call fcn.004461d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x30]
cmp edx, ebx
jl 0x4a352b
mov edx, ebx
cmp ecx, eax
je 0x4a354b
mov dword [esp + 0x50], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0045dc00
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x5c], ebx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x54]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
xor ebp, ebp
xor edi, edi
jmp 0x4a35f1
mov eax, dword [esp + 0x68]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x88], eax
add esp, 0x64
ret
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], ebx
mov dword [esp + 0x4c], esi
add eax, esi
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0045dc00
mov eax, dword [esp + 0x38]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x2c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x74]
lea edi, [ebx + eax]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x40]
mov eax, ecx
lea ecx, [esp + 0x54]
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x6c]
cmp ebp, eax
jge 0x4a37d4
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x20], edi
test ebx, ebx
jne 0x4a3650
test ebp, ebp
jle 0x4a369d
sub esi, edi
mov ecx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edi
lea ebx, [edx + esi]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0047ab80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
lea edi, [eax + ecx]
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x54]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x6c]
jmp 0x4a369d
sub esi, edi
mov ecx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edi
lea ebp, [edx + esi]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call fcn.004a3920
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
lea edi, [eax + ecx]
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x54]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x28], edi
mov esi, dword [esp + 0x20]
sub edi, esi
mov dword [esp + 0x24], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and esi, edi
add esi, edx
nop
mov edi, dword [esp + 0x54]
test edi, edi
je 0x4a36ca
cmp edi, ecx
je 0x4a36ce
jmp 0x4a38de
mov dword [esp + 0x54], ecx
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x24]
lea eax, [edi + edx]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x58]
cmp ebx, eax
jae 0x4a3723
mov dword [esp + 0x48], esi
mov dword [esp + 0x3c], edi
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
lea eax, [0x4ed440]
mov dword [esp + 0x10], eax
call fcn.00446290
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], ebp
lea ecx, [ebp + edi]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
call fcn.0045dc00
mov eax, dword [esp + 0x38]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x58], eax
nop
nop
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4a3772
lea ecx, [esp + 0x54]
cmp eax, ecx
je 0x4a377e
jmp 0x4a38c6
lea eax, [esp + 0x54]
mov dword [esp + 0x54], eax
lea ecx, [esp + 0x54]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x7c]
lea ebx, [edx + eax]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x58]
cmp ebp, ebx
jae 0x4a358f
mov dword [esp + 0x3c], eax
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
lea eax, [0x4ed440]
mov dword [esp + 0x10], eax
call fcn.00446290
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x7c]
jmp 0x4a358f
sub esi, edi
mov eax, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and edi, esi
add edx, edi
nop
mov ebx, dword [esp + 0x54]
test ebx, ebx
je 0x4a37f7
cmp ebx, ecx
je 0x4a37fb
jmp 0x4a38ae
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x5c]
lea ebx, [ecx + eax]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x58]
cmp ebp, ebx
jae 0x4a3850
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], edx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x4ed440]
mov dword [esp + 0x10], ecx
call fcn.00446290
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x4c], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0045dc00
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x58], ecx
mov edx, ecx
neg ecx
cmp eax, ecx
ja 0x4a38a0
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
add esp, 0x64
ret
test edx, edx
je 0x4a38a9
call fcn.00456c90
call fcn.00456cd0
lea eax, [0x4ed280]
mov dword [esp], eax
lea eax, [0x537058]
mov dword [esp + 4], eax
call fcn.004321b0
lea eax, [0x4ed280]
mov dword [esp], eax
lea eax, [0x537058]
mov dword [esp + 4], eax
call fcn.004321b0
lea eax, [0x4ed280]
mov dword [esp], eax
lea eax, [0x537058]
mov dword [esp + 4], eax
call fcn.004321b0
lea eax, [0x4ed280]
mov dword [esp], eax
lea eax, [0x537310]
mov dword [esp + 4], eax
call fcn.004321b0
nop
call fcn.0045c000
jmp fcn.004a33e0