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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50272d
sub esp, 0x68
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x94]
mov ebx, edx
sub edx, ecx
lea eax, [ecx - 1]
cmp ecx, eax
jbe 0x502727
mov ebp, dword [esp + 0x90]
mov ebp, dword [ebp + ecx*4 - 4]
nop
nop
cmp ebp, 0x10000
jb 0x502325
shr ebp, 0x10
mov eax, 0x10
jmp 0x502327
xor eax, eax
cmp ebp, 0x100
jb 0x502335
shr ebp, 8
add eax, 8
cmp ebp, 0x100
jae 0x50271b
mov dword [esp + 0x4c], edx
mov dword [esp + 0x40], eax
lea eax, [0x64a911]
movzx eax, byte [eax + ebp]
mov dword [esp + 0x54], eax
mov dword [esp], ecx
call fcn.004fc470
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x38], edx
mov ebx, dword [eax + 8]
mov dword [esp + 0x3c], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x90]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x98]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x54]
lea esi, [edi + esi - 0x20]
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x18], esi
call fcn.00504180
mov ecx, dword [esp + 0x88]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x80]
cmp edx, eax
jl 0x5023e7
jb 0x502714
mov ebx, dword [esp + 0x78]
jmp 0x502458
test ecx, ecx
jne 0x502422
lea eax, [0x5ff3c0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00449ec0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x88]
mov edx, 1
mov ebx, eax
mov eax, 1
jmp 0x502458
mov dword [esp + 0x48], eax
lea edx, [0x5ff3c0]
mov dword [esp], edx
mov dword [esp + 4], eax
lea ebx, [ecx + 5]
mov dword [esp + 0x30], ebx
mov dword [esp + 8], ebx
call fcn.00449ec0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x30]
mov ebx, eax
mov eax, dword [esp + 0x48]
cmp ecx, edx
ja 0x50270f
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x5c], ebx
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], eax
call fcn.00504180
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x28]
cmp ecx, edx
jae 0x502706
mov ebx, dword [esp + 0x5c]
mov dword [ebx + ecx*4], eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5024e0
mov ebp, dword [esp + 0x6c]
lea esi, [ebp + eax*4 - 4]
mov edi, dword [esp + 0x30]
mov ecx, edi
lea edi, [ebx + edi*4 - 4]
cmp edi, esi
jne 0x5024e8
xor eax, eax
xor ebp, ebp
jmp 0x5024e8
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x4c]
lea edi, [esi + 1]
cmp eax, edi
jl 0x5024fa
jae 0x502571
jmp 0x5026fd
test esi, esi
jne 0x502538
lea eax, [0x5ff3c0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00449ec0
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x5c]
mov edi, 1
mov eax, 1
jmp 0x502571
mov dword [esp + 0x44], edi
lea eax, [0x5ff3c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esi + 5]
mov dword [esp + 0x2c], eax
mov dword [esp + 8], eax
call fcn.00449ec0
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], edi
mov dword [esp + 0x58], ebp
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x94]
cmp esi, 0x64
jge 0x5025bf
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x64]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x20], esi
call fcn.00502740
jmp 0x5025f3
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x64]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x20], esi
call fcn.00502be0
lea eax, [0x7f8890]
mov dword [esp], eax
lea eax, [0x62e540]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.0046bda0
nop
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x58]
mov edx, eax
jmp 0x502622
mov eax, ebx
test eax, eax
jle 0x502639
lea ebx, [eax - 1]
cmp edx, ebx
jbe 0x5026f4
mov ebp, dword [ecx + eax*4 - 4]
test ebp, ebp
je 0x502620
mov edx, dword [esp + 0x2c]
cmp eax, edx
ja 0x5026ed
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x18], ebx
call fcn.005041d0
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x5c]
mov edx, eax
jmp 0x502688
mov eax, ebx
test eax, eax
jle 0x50269b
lea ebx, [eax - 1]
cmp edx, ebx
jbe 0x5026e4
mov ebp, dword [ecx + eax*4 - 4]
test ebp, ebp
je 0x502686
mov edx, dword [esp + 0x30]
cmp eax, edx
ja 0x5026dd
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0xa0], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edx
add esp, 0x68
ret
mov ecx, eax
call fcn.004625c0
mov eax, ebx
mov ecx, edx
call fcn.00462580
mov ecx, eax
call fcn.004625c0
mov eax, ebx
mov ecx, edx
call fcn.00462580
mov ecx, edi
mov edx, eax
call fcn.004625c0
mov eax, ecx
mov ecx, edx
call fcn.00462580
call fcn.004625c0
mov ecx, eax
call fcn.004625c0
mov eax, ebp
mov ecx, 0x100
call fcn.00462590
call fcn.00462580
nop
call fcn.004610f0
jmp fcn.005022d0