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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x522d2d
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 0x522d27
mov ebp, dword [esp + 0x90]
mov ebp, dword [ebp + ecx*4 - 4]
nop
nop
cmp ebp, 0x10000
jb 0x522925
shr ebp, 0x10
mov eax, 0x10
jmp 0x522927
xor eax, eax
cmp ebp, 0x100
jb 0x522935
shr ebp, 8
add eax, 8
cmp ebp, 0x100
jae 0x522d1b
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], eax
lea eax, [0x66f950]
movzx eax, byte [eax + ebp]
mov dword [esp + 0x54], eax
mov dword [esp], ecx
call fcn.0051d940
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 + 0x48]
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.005247d0
mov ecx, dword [esp + 0x88]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x80]
cmp edx, eax
jl 0x5229e7
jb 0x522d14
mov ebx, dword [esp + 0x78]
jmp 0x522a58
test ecx, ecx
jne 0x522a22
lea eax, [0x627d20]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0044b0b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x88]
mov edx, 1
mov ebx, eax
mov eax, 1
jmp 0x522a58
mov dword [esp + 0x44], eax
lea edx, [0x627d20]
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.0044b0b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x30]
mov ebx, eax
mov eax, dword [esp + 0x44]
cmp ecx, edx
ja 0x522d0f
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.005247d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x28]
cmp ecx, edx
jae 0x522d06
mov ebx, dword [esp + 0x5c]
mov dword [ebx + ecx*4], eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x522ae0
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 0x522ae8
xor eax, eax
xor ebp, ebp
jmp 0x522ae8
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x4c]
lea edi, [esi + 1]
cmp eax, edi
jl 0x522afa
jae 0x522b71
jmp 0x522cfd
test esi, esi
jne 0x522b38
lea eax, [0x627d20]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0044b0b0
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 0x522b71
mov dword [esp + 0x40], edi
lea eax, [0x627d20]
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.0044b0b0
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x40]
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 0x522bbf
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.00522d40
jmp 0x522bf3
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.005231e0
lea eax, [0x855510]
mov dword [esp], eax
lea eax, [0x6564a0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.0046bdd0
nop
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x58]
mov edx, eax
jmp 0x522c22
mov eax, ebx
test eax, eax
jle 0x522c39
lea ebx, [eax - 1]
cmp edx, ebx
jbe 0x522cf4
mov ebp, dword [ecx + eax*4 - 4]
test ebp, ebp
je 0x522c20
mov edx, dword [esp + 0x2c]
cmp eax, edx
ja 0x522ced
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.00524820
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x5c]
mov edx, eax
jmp 0x522c88
mov eax, ebx
test eax, eax
jle 0x522c9b
lea ebx, [eax - 1]
cmp edx, ebx
jbe 0x522ce4
mov ebp, dword [ecx + eax*4 - 4]
test ebp, ebp
je 0x522c86
mov edx, dword [esp + 0x30]
cmp eax, edx
ja 0x522cdd
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.00462780
mov eax, ebx
mov ecx, edx
call fcn.00462740
mov ecx, eax
call fcn.00462780
mov eax, ebx
mov ecx, edx
call fcn.00462740
mov ecx, edi
mov edx, eax
call fcn.00462780
mov eax, ecx
mov ecx, edx
call fcn.00462740
call fcn.00462780
mov ecx, eax
call fcn.00462780
mov eax, ebp
mov ecx, 0x100
call fcn.00462750
call fcn.00462740
nop
call fcn.004612b0
jmp fcn.005228d0