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

Disassembly:
mov ecx, dword [0x592b24]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a4e7a
sub esp, 0x58
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
je 0x4a49d7
xor edx, edx
jmp 0x4a49fe
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00403240
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x68]
mov edx, eax
mov eax, dword [esp + 0x70]
test dl, dl
jne 0x4a4a0a
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x4a4a1e
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x7c], eax
add esp, 0x58
ret
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x64]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.004a32f0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4a4ab5
mov ecx, dword [esp + 0x74]
test ecx, ecx
jl 0x4a4a54
cmp ecx, eax
jg 0x4a4a54
mov eax, ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
lea ecx, [esp + 0x48]
mov dword [esp], ecx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
sub ecx, edx
imul ecx, eax
mov ebp, dword [esp + 0x60]
add ecx, ebp
mov dword [esp + 4], ecx
call fcn.004a2fd0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x5c]
xor esi, esi
xor edi, edi
jmp 0x4a4b2b
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x7c], eax
add esp, 0x58
ret
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x44], ebp
add ecx, ebp
mov dword [esp], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004657a0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x2c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x68]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x5c]
mov eax, ecx
mov ecx, dword [esp + 0x60]
cmp esi, ebx
jge 0x4a4d28
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], edi
test eax, eax
jne 0x4a4b8d
test esi, esi
jle 0x4a4bd9
cmp ecx, edi
jb 0x4a4e72
sub ecx, edi
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, edi
add ecx, ebp
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.0046a570
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
lea edi, [eax + ecx]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x2c]
jmp 0x4a4bd9
cmp ecx, edi
jb 0x4a4e6b
sub ecx, edi
mov esi, ecx
neg ecx
sar ecx, 0x1f
and ecx, edi
add ecx, ebp
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.004a50e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
lea edi, [eax + ecx]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x2c]
cmp ecx, edi
jb 0x4a4e62
mov edx, dword [esp + 0x20]
cmp edx, edi
ja 0x4a4e59
mov dword [esp + 0x28], edi
sub edi, edx
mov dword [esp + 0x24], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
mov edi, dword [esp + 0x48]
add edx, ebp
nop
test edi, edi
je 0x4a4c1f
lea ebp, [esp + 0x48]
cmp edi, ebp
jne 0x4a4e41
mov ebp, dword [esp + 0x5c]
jmp 0x4a4c27
lea edi, [esp + 0x48]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
mov ecx, dword [esp + 0x24]
lea ebx, [ebp + ecx]
mov eax, dword [esp + 0x4c]
cmp edi, ebx
jae 0x4a4c7d
mov dword [esp + 0x40], edx
mov dword [esp + 0x34], ebp
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
lea eax, [0x4b7460]
mov dword [esp + 0x10], eax
call fcn.0044c110
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x44], eax
add ebp, eax
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004657a0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x48]
nop
nop
test eax, eax
je 0x4a4cca
lea ecx, [esp + 0x48]
cmp eax, ecx
je 0x4a4cd2
jmp 0x4a4e29
lea eax, [esp + 0x48]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x70]
lea ebx, [edx + ecx]
mov ebp, dword [esp + 0x4c]
cmp eax, ebx
jae 0x4a4ac9
mov dword [esp + 0x34], ecx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x4b7460]
mov dword [esp + 0x10], eax
call fcn.0044c110
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x70]
jmp 0x4a4ac9
cmp ecx, edi
jb 0x4a4e22
sub ecx, edi
mov eax, ecx
neg ecx
sar ecx, 0x1f
and edi, ecx
mov ecx, dword [esp + 0x48]
lea edx, [ebp + edi]
nop
test ecx, ecx
je 0x4a4d55
lea ebx, [esp + 0x48]
cmp ecx, ebx
je 0x4a4d5d
jmp 0x4a4e0a
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
lea ebp, [ebx + eax]
mov esi, dword [esp + 0x4c]
cmp ecx, ebp
jae 0x4a4db2
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], edx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
lea ecx, [0x4b7460]
mov dword [esp + 0x10], ecx
call fcn.0044c110
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x44], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004657a0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x4c], ecx
mov edx, ecx
neg ecx
cmp eax, ecx
ja 0x4a4dfc
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
add esp, 0x58
ret
test edx, edx
je 0x4a4e05
call fcn.0045d6e0
call fcn.0045d720
lea eax, [0x4b7120]
mov dword [esp], eax
lea eax, [0x4ecb30]
mov dword [esp + 4], eax
call fcn.00436a70
mov eax, edi
call fcn.00464fb0
lea eax, [0x4b7120]
mov dword [esp], eax
lea eax, [0x4ecb30]
mov dword [esp + 4], eax
call fcn.00436a70
lea eax, [0x4b7120]
mov dword [esp], eax
lea eax, [0x4ecb30]
mov dword [esp + 4], eax
call fcn.00436a70
mov eax, edx
mov ecx, edi
call fcn.00464fb0
mov edx, ecx
mov ecx, edi
call fcn.00464f70
mov eax, edi
call fcn.00464fb0
mov eax, edi
call fcn.00464fb0
nop
call fcn.00463af0
jmp fcn.004a49b0