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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x51a34f
sub esp, 0x64
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
cmp eax, ecx
je 0x519e49
xor edx, edx
jmp 0x519e70
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.00402870
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x74]
mov edx, eax
mov eax, dword [esp + 0x7c]
test dl, dl
jne 0x519e7f
mov edx, dword [esp + 0x80]
test edx, edx
jne 0x519e99
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.00518300
mov eax, dword [esp + 0x10]
test eax, eax
je 0x519fb5
mov ecx, dword [esp + 0x80]
test ecx, ecx
jl 0x519ed6
cmp ecx, eax
jg 0x519ed6
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 0x51a336
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 0x519fab
mov dword [esp + 0x30], edi
lea eax, [0x63efa0]
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.00447490
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x30]
cmp edx, ebx
jl 0x519f6b
mov edx, ebx
cmp ecx, eax
je 0x519f8b
mov dword [esp + 0x50], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0045f7b0
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 0x51a031
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.0045f7b0
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 0x51a214
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x20], edi
test ebx, ebx
jne 0x51a090
test ebp, ebp
jle 0x51a0dd
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.00469990
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 0x51a0dd
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.0051a5a0
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 0x51a10a
cmp edi, ecx
je 0x51a10e
jmp 0x51a31e
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 0x51a163
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, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
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.0045f7b0
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 0x51a1b2
lea ecx, [esp + 0x54]
cmp eax, ecx
je 0x51a1be
jmp 0x51a306
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 0x519fcf
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, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
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 0x519fcf
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 0x51a237
cmp ebx, ecx
je 0x51a23b
jmp 0x51a2ee
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 0x51a290
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, [0x63efa0]
mov dword [esp + 0x10], ecx
call fcn.00447550
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.0045f7b0
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 0x51a2e0
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
add esp, 0x64
ret
test edx, edx
je 0x51a2e9
call fcn.004580c0
call fcn.00458100
lea eax, [0x63eda0]
mov dword [esp], eax
lea eax, [0x6d2a58]
mov dword [esp + 4], eax
call fcn.00433470
lea eax, [0x63eda0]
mov dword [esp], eax
lea eax, [0x6d2a58]
mov dword [esp + 4], eax
call fcn.00433470
lea eax, [0x63eda0]
mov dword [esp], eax
lea eax, [0x6d2a58]
mov dword [esp + 4], eax
call fcn.00433470
lea eax, [0x63eda0]
mov dword [esp], eax
lea eax, [0x6d2a60]
mov dword [esp + 4], eax
call fcn.00433470
nop
call fcn.0045dbb0
jmp fcn.00519e20