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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x68]
cmp eax, dword [ecx + 8]
jbe 0x503744
sub esp, 0xe8
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0xf0]
mov dword [esp + 4], edx
call fcn.00501c10
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x114]
inc ecx
mov edx, dword [esp + 0x118]
cmp edx, ecx
jb 0x50302c
mov ebx, dword [esp + 0x110]
jmp 0x50306a
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5175c0]
mov dword [esp + 0x10], eax
call fcn.00448ac0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xd4], ebx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edx
lea ebp, [ebx + ecx*8 - 4]
mov esi, dword [esp + 0xf4]
mov dword [ebp], esi
lea ebp, [ebx + ecx*8 - 8]
mov edi, dword [esp + 0xf0]
mov dword [ebp], edi
movzx ebp, word [eax + 8]
test bp, 1
je 0x503143
movzx ebp, word [eax + 0xa]
test bp, bp
jne 0x5030b1
xor ebp, ebp
jmp 0x5030b5
movzx ebp, word [eax + 0xa]
mov dword [esp + 0x50], ebp
mov esi, dword [esp + 0x120]
mov edi, dword [esp + 0x11c]
mov dword [esp + 0x98], eax
xor eax, eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x60], eax
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0xf8]
mov dword [esp + 0xc4], edx
mov dword [esp + 0x80], ebx
xor ebx, ebx
mov dword [esp + 0x70], ebx
xor ebx, ebx
mov dword [esp + 0x6c], ebx
xor ebx, ebx
mov dword [esp + 0xd0], ebx
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x80]
jmp 0x503550
test bp, 2
je 0x5031b8
movzx ebp, word [eax + 0xa]
test bp, bp
jne 0x503157
xor ebp, ebp
jmp 0x50315b
movzx ebp, word [eax + 0xa]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0xb0], eax
xor eax, eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x5c], eax
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x54], ecx
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0xf8]
mov dword [esp + 0xc0], edx
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa0]
jmp 0x5032cd
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004090b0
mov eax, dword [esp + 8]
lea ecx, [0x5175c0]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], eax
lea eax, [0x538c8c]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0xe0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004ac190
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
mov eax, dword [esp + 0x120]
mov dword [esp], eax
lea eax, [esp + 0xd8]
mov dword [esp + 4], eax
call fcn.00404ab0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xe8
ret
mov ebx, dword [esp + 0x64]
inc ebx
mov ebp, edx
neg edx
sar edx, 0x1f
and ecx, edx
add eax, ecx
mov esi, dword [esp + 0xf4]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xd4]
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc8]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x64]
cmp edi, ebp
jge 0x5033e3
movzx ebp, di
shl ebp, 4
lea ebp, [ebp + eax + 0x10]
mov dword [esp + 0xb8], ebp
nop
nop
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
mov dword [esp + 0x74], ebp
add ebp, eax
nop
cmp ebp, 0xfffffff
ja 0x50346c
cmp eax, ebp
ja 0x503465
mov dword [esp + 4], esi
mov ebp, dword [esp + 0xf0]
mov dword [esp], ebp
lea ebp, [0x52fa8b]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], edi
mov ebp, dword [esp + 0x74]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
mov eax, dword [esp + 0xb8]
add ebp, eax
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0xc0]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x104]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x108]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x10c]
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x120]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x11c]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
call fcn.00503750
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
lea ebx, [edx + ecx]
nop
cmp ebx, 0xfffffff
ja 0x503459
cmp ecx, ebx
jbe 0x50327b
jmp 0x503450
movzx ebp, word [eax + 0xa]
test bp, bp
jbe 0x503253
dec ebp
movzx ebp, bp
shl ebp, 4
lea ebp, [ebp + eax + 0x10]
nop
mov eax, dword [ebp + 4]
mov esi, dword [ebp + 8]
lea edx, [esi + eax]
nop
cmp edx, 0xfffffff
ja 0x503446
cmp eax, edx
ja 0x50343f
mov ecx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, eax
lea eax, [ebp + esi]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], ecx
add esp, 0xe8
ret
mov ecx, edx
call fcn.00460bb0
mov ebx, 0xfffffff
call fcn.00460b90
mov eax, ecx
mov ecx, ebx
call fcn.00460bb0
mov edx, ebx
mov ebx, 0xfffffff
call fcn.00460b90
mov ecx, ebp
call fcn.00460bb0
mov edx, ebp
mov ebx, 0xfffffff
call fcn.00460b90
mov ecx, dword [edi + 8]
mov ebx, dword [edi + 0xc]
mov ebp, dword [esp + 0xec]
mov dword [esp], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x74]
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and esi, ecx
lea ecx, [edi + esi]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x2c], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x30], ebx
mov esi, dword [esp + 0x120]
mov dword [esp + 0x34], esi
call fcn.00502fc0
mov eax, dword [esp + 0x68]
inc eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x120]
mov edi, dword [esp + 0x11c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x58], edx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0xd0], ecx
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xd4]
mov edi, dword [esp + 0x68]
cmp edi, ebp
jge 0x5036df
movzx ebp, di
shl ebp, 4
lea ebp, [ebp + eax + 0x10]
nop
nop
mov eax, dword [ebp]
mov esi, dword [ebp + 4]
mov dword [esp + 0x74], esi
add esi, eax
cmp esi, 0xfffffff
ja 0x503737
cmp eax, esi
ja 0x503730
mov dword [esp + 0xbc], ebp
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [esp + 4], edx
mov dword [esp], esi
lea edx, [0x52fe1f]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 6
mov dword [esp + 0x10], edi
mov esi, dword [esp + 0x74]
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and eax, esi
add eax, ebp
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x108]
mov dword [esp + 0x30], esi
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x34], edx
mov ebp, dword [esp + 0x120]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x11c]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ecx
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x48], ebp
call fcn.00503750
mov eax, dword [esp + 0xc8]
movzx ecx, word [eax + 0xa]
test cx, cx
jne 0x50364e
xor ebp, ebp
jmp 0x503652
movzx ebp, word [eax + 0xa]
dec ebp
mov esi, dword [esp + 0x68]
cmp esi, ebp
jge 0x50369d
lea ebp, [esi + 1]
movzx ebp, bp
mov edi, eax
shl ebp, 4
lea ebp, [ebp + eax + 0x10]
nop
mov eax, dword [ebp]
mov ecx, edi
mov edi, dword [ebp + 4]
lea edx, [edi + eax]
cmp edx, 0xfffffff
ja 0x503726
cmp eax, edx
ja 0x50371f
mov edx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
add ebp, eax
mov eax, edx
jmp 0x5036b4
mov ecx, eax
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0x10c]
mov ebp, dword [esp + 0x104]
mov dword [esp + 0xcc], ebp
mov edi, dword [esp + 0xbc]
mov esi, dword [edi]
mov ebp, dword [edi + 4]
mov dword [esp + 0x74], ebp
add ebp, esi
cmp ebp, 0xfffffff
ja 0x503713
cmp esi, ebp
jbe 0x503478
jmp 0x50370a
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x12c], eax
add esp, 0xe8
ret
mov eax, esi
mov ecx, ebp
call fcn.00460bb0
mov edx, ebp
mov ebx, 0xfffffff
call fcn.00460b90
mov ecx, edx
call fcn.00460bb0
mov ebx, 0xfffffff
call fcn.00460b90
mov ecx, esi
call fcn.00460bb0
mov edx, esi
mov ebx, 0xfffffff
call fcn.00460b90
nop
call fcn.0045f680
jmp fcn.00502fc0