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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50fc1c
sub esp, 0x58
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x6c]
cmp ecx, eax
jne 0x50fc03
mov ebx, dword [esp + 0x78]
cmp ecx, ebx
jne 0x50fc03
mov ebp, dword [esp + 0x84]
cmp ecx, ebp
jne 0x50fc03
shl ecx, 1
mov edx, dword [esp + 0x64]
cmp ecx, edx
jg 0x50fb46
ja 0x50fbfe
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x54], edi
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0050ed30
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x30], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x48]
jmp 0x50f924
mov ecx, dword [esp + 0x30]
inc ecx
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x90]
mov edx, ebp
mov ebx, dword [esp + 0x6c]
mov ebp, edi
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x30]
cmp edx, ebx
jle 0x50fa52
cmp ebx, ecx
jae 0x50fbf7
mov esi, dword [eax + ebx*4]
mov dword [esp + 0x34], esi
lea esi, [ebx + edx]
cmp esi, edi
ja 0x50fbee
cmp ebx, esi
ja 0x50fbe5
mov dword [esp + 0x44], esi
mov eax, ebx
shl ebx, 2
sub edi, eax
mov dword [esp + 0x40], edi
mov esi, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebx, edi
add ebx, ebp
mov dword [esp + 0x50], ebx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov edi, dword [esp + 0x68]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x70]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x18], edi
call fcn.00518c10
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
cmp ecx, edx
jae 0x50fbdc
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x54]
mov edx, dword [eax + ecx*4]
mov ebx, dword [esp + 0x50]
mov dword [esp], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x40]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x80]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x84]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x8c]
imul edx, edi
mov dword [esp + 0x18], edx
call fcn.00518c10
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
add edx, ecx
lea ebx, [edx + eax]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x28]
cmp ebp, esi
jae 0x50fbd3
mov edi, dword [esp + 0x54]
mov dword [edi + ebp*4], ebx
cmp ecx, edx
jbe 0x50fa47
mov eax, 1
jmp 0x50f8f0
cmp eax, ebx
ja 0x50fa3d
xor eax, eax
jmp 0x50f8f0
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x50faf7
cmp edx, edi
ja 0x50fbca
mov ecx, dword [esp + 0x28]
cmp edx, ecx
ja 0x50fbc3
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], edi
sub edi, edx
mov ebx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
mov esi, edx
shl edx, 2
sar edi, 0x1f
and edx, edi
add edx, ebp
mov dword [esp + 0xc], edx
sub ecx, esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x20], ecx
call fcn.00518a90
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x2c]
cmp ecx, edx
ja 0x50fbae
mov eax, dword [esp + 0x54]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
add esp, 0x58
ret
cmp edx, edi
ja 0x50fbba
mov ecx, dword [esp + 0x28]
cmp edx, ecx
ja 0x50fbb3
mov eax, edi
sub edi, edx
xchg edi, ebx
neg ebx
xchg edi, ebx
mov ebx, edx
shl edx, 2
sar edi, 0x1f
and edx, edi
sub ecx, ebx
lea esi, [ebp + edx]
cmp ebx, ecx
jle 0x50fb42
test edx, edx
je 0x50fac7
mov dword [esp], ebp
mov dword [esp + 4], esi
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.0045b690
jmp 0x50fac7
mov ecx, ebx
jmp 0x50fb29
cmp ecx, 1
jne 0x50fb7c
lea eax, [0x633500]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00442930
mov edi, dword [esp + 0xc]
mov edx, 1
mov ecx, 1
jmp 0x50f89f
mov dword [esp + 0x28], ecx
lea eax, [0x633500]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [ecx + 4]
mov dword [esp + 0x2c], eax
mov dword [esp + 8], eax
call fcn.00442930
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
jmp 0x50f89f
call fcn.0045ada0
mov eax, edx
call fcn.0045adc0
mov ecx, edx
mov edx, edi
call fcn.0045ada0
mov eax, edx
call fcn.0045adc0
mov ecx, edx
mov edx, edi
call fcn.0045ada0
mov eax, ebp
mov ecx, esi
call fcn.0045ad60
mov eax, ecx
mov ecx, edx
call fcn.0045ad60
mov eax, ebx
mov ecx, esi
call fcn.0045adc0
mov ecx, esi
mov edx, edi
call fcn.0045ada0
mov eax, ebx
call fcn.0045ad60
call fcn.0045ada0
lea eax, [0x633ac0]
mov dword [esp], eax
lea eax, [0x6c4fa8]
mov dword [esp + 4], eax
call fcn.00430630
nop
call fcn.00459790
jmp fcn.0050f840