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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x49aec0
sub esp, 0x4c
mov eax, dword [esp + 0x74]
test eax, eax
jne 0x49ab55
xor ecx, ecx
jmp 0x49ab93
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x64]
mov dword [esp + 0x14], esi
call fcn.0049a4d0
mov eax, dword [esp + 0x18]
mov ecx, eax
mov eax, dword [esp + 0x74]
test ecx, ecx
je 0x49ac03
test eax, eax
jl 0x49aba1
cmp eax, ecx
jg 0x49aba1
mov ecx, eax
mov dword [esp + 0x38], ecx
lea eax, [0x67e920]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x60]
sub eax, edx
imul eax, ecx
mov ebp, dword [esp + 0x54]
add eax, ebp
mov dword [esp + 0x24], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00447740
mov eax, dword [esp + 0xc]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x50]
xor edi, edi
xor edi, edi
mov dword [esp + 0x20], edi
xor edi, edi
mov dword [esp + 0x28], edi
xor edi, edi
jmp 0x49acb3
mov eax, dword [esp + 0x54]
test eax, eax
ja 0x49ac13
xor ecx, ecx
xor edx, edx
xor ebx, ebx
jmp 0x49ac4d
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
lea ecx, [0x67e920]
mov dword [esp + 0x10], ecx
call fcn.00447800
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebx
mov dword [esp], ecx
mov ebp, dword [esp + 0x50]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045fe60
mov eax, dword [esp + 0x44]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x80], eax
add esp, 0x4c
ret
mov edx, dword [esp + 0x30]
inc edx
add ecx, edi
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x60]
add edi, ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0x60]
mov edi, edx
mov edx, dword [esp + 0x58]
cmp edi, ebp
jge 0x49ae57
mov dword [esp + 0x30], edi
test ecx, ecx
jne 0x49ad2f
test edi, edi
jg 0x49acdc
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x3c]
jmp 0x49ad94
mov eax, dword [esp + 0x28]
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
add edx, esi
mov dword [esp], edx
mov edx, dword [esp + 0x54]
sub edx, eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00489ca0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
add eax, ecx
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
jmp 0x49ad94
mov eax, dword [esp + 0x28]
sub edx, eax
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, eax
add edx, esi
mov dword [esp], edx
mov edx, dword [esp + 0x54]
sub edx, eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x14], ebp
call fcn.0049aed0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
add eax, ecx
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x20]
sub ebx, ebp
mov dword [esp + 0x34], ebx
neg ebx
sar ebx, 0x1f
and ebx, ebp
add ebx, eax
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
sub ecx, edi
sub edx, edi
neg edx
sar edx, 0x1f
and edi, edx
lea edx, [esi + edi]
mov edi, dword [esp + 0x34]
cmp ecx, edi
jl 0x49adc7
mov ecx, edi
cmp edx, ebx
je 0x49adef
mov dword [esp + 0x34], ecx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045fe60
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x50]
add ecx, ebp
mov edx, dword [esp + 0x24]
mov ebx, edx
sub edx, ecx
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, ecx
add edx, eax
mov edi, dword [esp + 0x6c]
cmp edi, ebp
jge 0x49ae10
mov ebp, edi
jmp 0x49ae16
mov edi, ebp
mov ebp, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
cmp ebp, edx
je 0x49ac8c
mov dword [esp + 0x20], ecx
mov dword [esp + 0x34], edi
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call fcn.0045fe60
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x34]
jmp 0x49ac8c
mov ecx, dword [esp + 0x20]
sub ebx, ecx
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
add ebx, eax
mov ebp, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
sub ebp, ecx
sub edx, ecx
neg edx
sar edx, 0x1f
and ecx, edx
add ecx, esi
cmp ebp, edi
jl 0x49ae83
mov ebp, edi
cmp ecx, ebx
je 0x49aea3
mov dword [esp + 0x38], ebp
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.0045fe60
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x20]
add eax, ebp
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x80], eax
add esp, 0x4c
ret
call fcn.0045e260
jmp fcn.0049ab30