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

Disassembly:
mov ecx, dword [0x6816e0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x52c914
add esp, 0xffffff80
nop
lea eax, [0x6817d8]
mov dword [esp], eax
lea eax, [0x5675e8]
mov dword [esp + 4], eax
call fcn.0046f5c0
mov eax, dword [esp + 0x88]
test eax, eax
jbe 0x52c90a
mov ecx, dword [esp + 0x84]
movzx edx, byte [ecx]
lea ebx, [edx - 2]
mov ebp, dword [0x6427f0]
mov dword [esp + 0x68], ebp
cmp bl, 1
ja 0x52c339
cmp eax, 0x21
je 0x52c012
call fcn.00527b50
mov eax, dword [esp]
mov dword [esp + 0x64], eax
lea ecx, [0x54dd00]
mov dword [esp], ecx
call fcn.0040ce80
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x17
lea ecx, [0x55fe6e]
mov dword [eax], ecx
mov ecx, dword [0x681788]
test ecx, ecx
jne 0x52bfe1
mov ecx, dword [esp + 0x64]
jmp 0x52bfec
call fcn.00469380
mov ecx, dword [esp + 0x64]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [esp + 0x90], 0
lea ecx, [0x590ac4]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
lea eax, [0x54af80]
mov dword [esp], eax
call fcn.0040ce80
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x8c]
dec ecx
mov edx, dword [esp + 0x84]
lea ebx, [edx + 1]
mov ebp, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 4]
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 0x20
mov dword [esp + 0x14], ecx
call fcn.004bebb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov eax, dword [0x681788]
test eax, eax
je 0x52c090
call fcn.00469390
mov dword [edi], edx
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov dword [ebx + 4], edx
mov byte [ebx], 0
mov eax, dword [esp + 0x84]
movzx eax, byte [eax]
cmp al, 2
jne 0x52c0a9
xor eax, eax
jmp 0x52c0b7
cmp al, 3
jne 0x52c0b5
mov eax, 1
jmp 0x52c0b7
xor eax, eax
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.004b3a50
mov eax, dword [esp + 8]
test eax, eax
jl 0x52c143
call fcn.00527b50
mov eax, dword [esp]
mov dword [esp + 0x64], eax
lea ecx, [0x54dd00]
mov dword [esp], ecx
call fcn.0040ce80
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x17
lea ecx, [0x55fe6e]
mov dword [eax], ecx
mov ecx, dword [0x681788]
test ecx, ecx
jne 0x52c112
mov ecx, dword [esp + 0x64]
jmp 0x52c11d
call fcn.00469380
mov ecx, dword [esp + 0x64]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [esp + 0x90], 0
lea ecx, [0x590ac4]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
lea eax, [0x54af80]
mov dword [esp], eax
call fcn.0040ce80
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
mov dword [eax + 4], 0
mov byte [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
lea ecx, [esp + 0x34]
mov dword [esp], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004b34e0
lea eax, [esp + 0x34]
mov dword [esp], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
call fcn.004b34e0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 8]
lea edx, [esp + 0x34]
mov dword [esp], edx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004b3040
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
lea edx, [esp + 0x34]
mov dword [esp], edx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004b3840
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
lea ebx, [esp + 0x34]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.004b71d0
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004b7510
mov eax, dword [esp + 0x24]
cmp dword [esp + 8], eax
je 0x52c238
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004b3290
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004b7510
mov eax, dword [esp + 0x24]
cmp dword [esp + 8], eax
je 0x52c2c4
call fcn.00527b50
mov eax, dword [esp]
mov dword [esp + 0x64], eax
lea ecx, [0x54dd00]
mov dword [esp], ecx
call fcn.0040ce80
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1f
lea ecx, [0x5623b5]
mov dword [eax], ecx
mov ecx, dword [0x681788]
test ecx, ecx
jne 0x52c293
mov ecx, dword [esp + 0x64]
jmp 0x52c29e
call fcn.00469380
mov ecx, dword [esp + 0x64]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [esp + 0x90], 0
lea ecx, [0x590ac4]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
lea eax, [0x553200]
mov dword [esp], eax
call fcn.0040ce80
mov eax, dword [esp + 4]
lea ecx, [0x590c90]
mov dword [eax], ecx
mov ecx, dword [0x681788]
test ecx, ecx
jne 0x52c2f6
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x7c]
jmp 0x52c30f
call fcn.004693a0
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
mov edx, dword [esp + 0x30]
mov dword [edi + 4], edx
mov ebx, dword [esp + 0x7c]
mov dword [edi + 8], ebx
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
sub esp, 0xffffff80
ret
cmp dl, 4
jne 0x52c86c
cmp eax, 0x41
je 0x52c3b5
call fcn.00527b50
mov eax, dword [esp]
mov dword [esp + 0x64], eax
lea ecx, [0x54dd00]
mov dword [esp], ecx
call fcn.0040ce80
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x17
lea ecx, [0x55fe6e]
mov dword [eax], ecx
mov ecx, dword [0x681788]
test ecx, ecx
jne 0x52c384
mov ecx, dword [esp + 0x64]
jmp 0x52c38f
call fcn.00469380
mov ecx, dword [esp + 0x64]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [esp + 0x90], 0
lea ecx, [0x590ac4]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
lea eax, [0x54af80]
mov dword [esp], eax
call fcn.0040ce80
mov eax, dword [esp + 4]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x8c]
lea edx, [ecx - 1]
mov ebx, dword [esp + 0x84]
lea ebp, [ebx + 1]
add ecx, 0xffffffdf
mov dword [esp + 0x28], ecx
neg ecx
sar ecx, 0x1f
and ecx, 0x21
mov dword [esp + 0x2c], ecx
mov edi, dword [eax + 4]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], 0x20
mov dword [esp + 0x14], edx
call fcn.004bebb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x84]
add edx, ebx
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x4c]
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], ecx
mov eax, dword [0x681788]
test eax, eax
je 0x52c459
call fcn.00469390
mov dword [edi], ebx
mov eax, dword [ebp + 4]
mov dword [edi + 4], eax
mov dword [ebp + 4], ebx
mov byte [ebp], 0
lea eax, [0x54af80]
mov dword [esp], eax
call fcn.0040ce80
mov eax, dword [esp + 4]
mov dword [esp + 0x48], eax
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 4]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0x20
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x14], ecx
call fcn.004bebb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x48]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov eax, dword [0x681788]
test eax, eax
je 0x52c4d4
call fcn.00469390
mov dword [edi], edx
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov dword [ebx + 4], edx
mov byte [ebx], 0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov edx, dword [esp + 0x4c]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004b3a50
mov eax, dword [esp + 8]
test eax, eax
jge 0x52c516
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004b3a50
mov eax, dword [esp + 8]
test eax, eax
jl 0x52c584
call fcn.00527b50
mov eax, dword [esp]
mov dword [esp + 0x64], eax
lea ecx, [0x54dd00]
mov dword [esp], ecx
call fcn.0040ce80
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x17
lea ecx, [0x55fe6e]
mov dword [eax], ecx
mov ecx, dword [0x681788]
test ecx, ecx
jne 0x52c553
mov ecx, dword [esp + 0x64]
jmp 0x52c55e
call fcn.00469380
mov ecx, dword [esp + 0x64]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [esp + 0x90], 0
lea ecx, [0x590ac4]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
mov byte [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x4c]
movzx ecx, byte [eax]
test cl, cl
jne 0x52c8f2
mov byte [esp + 0x54], 0
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov ebp, dword [eax + 4]
mov esi, dword [eax + 8]
mov edi, dword [eax + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
call fcn.004bed90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x58], eax
lea eax, [esp + 0x54]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.004b34e0
mov eax, dword [esp + 0xc]
mov byte [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov ecx, dword [esp + 0x48]
movzx edx, byte [ecx]
test dl, dl
jne 0x52c8da
mov dword [esp + 0x44], eax
mov byte [esp + 0x6c], 0
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, dword [ecx + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
call fcn.004bed90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x44]
mov dword [esp], edx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004b3040
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x6c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004b3290
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 8]
cmp ecx, 2
jg 0x52c7f7
mov edx, dword [eax + 4]
test ecx, ecx
jne 0x52c6ec
xor ebp, ebp
xor ebx, ebx
jmp 0x52c6fa
mov ebx, dword [edx]
cmp ecx, 1
jle 0x52c6f8
mov ebp, dword [edx + 4]
jmp 0x52c6fa
xor ebp, ebp
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
xchg edi, ebx
setg bl
xchg edi, ebx
and esi, 1
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x52c719
test ecx, ecx
jmp 0x52c74b
movzx esi, byte [eax]
xchg esi, eax
test al, al
xchg esi, eax
je 0x52c7f7
xor esi, esi
sub esi, ebx
mov edi, 0
sbb edi, ebp
cmp esi, ebx
sete bl
cmp ebp, edi
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebx, ebp
test bl, bl
je 0x52c7f7
test ecx, ecx
jne 0x52c753
xor ebx, ebx
xor ecx, ecx
jmp 0x52c761
mov ebx, dword [edx]
cmp ecx, 1
jle 0x52c75f
mov ecx, dword [edx + 4]
jmp 0x52c761
xor ecx, ecx
movzx eax, byte [eax]
test al, al
je 0x52c775
xor eax, eax
sub eax, ebx
mov edx, 0
sbb edx, ecx
jmp 0x52c779
mov edx, ecx
mov eax, ebx
test edx, edx
sete cl
test eax, eax
sete al
and eax, ecx
test al, al
je 0x52c7f7
call fcn.00527b50
mov eax, dword [esp]
mov dword [esp + 0x64], eax
lea ecx, [0x54dd00]
mov dword [esp], ecx
call fcn.0040ce80
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x17
lea ecx, [0x55fe6e]
mov dword [eax], ecx
mov ecx, dword [0x681788]
test ecx, ecx
jne 0x52c7c6
mov ecx, dword [esp + 0x64]
jmp 0x52c7d1
call fcn.00469380
mov ecx, dword [esp + 0x64]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [esp + 0x90], 0
lea ecx, [0x590ac4]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
lea eax, [0x553200]
mov dword [esp], eax
call fcn.0040ce80
mov eax, dword [esp + 4]
lea ecx, [0x590c90]
mov dword [eax], ecx
mov ecx, dword [0x681788]
test ecx, ecx
jne 0x52c829
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
jmp 0x52c842
call fcn.004693a0
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
mov edx, dword [esp + 0x4c]
mov dword [edi + 4], edx
mov ebx, dword [esp + 0x48]
mov dword [edi + 8], ebx
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
sub esp, 0xffffff80
ret
call fcn.00527b50
mov eax, dword [esp]
mov dword [esp + 0x64], eax
lea ecx, [0x54dd00]
mov dword [esp], ecx
call fcn.0040ce80
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x17
lea ecx, [0x55fe6e]
mov dword [eax], ecx
mov ecx, dword [0x681788]
test ecx, ecx
jne 0x52c8a9
mov ecx, dword [esp + 0x64]
jmp 0x52c8b4
call fcn.00469380
mov ecx, dword [esp + 0x64]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [esp + 0x90], 0
lea ecx, [0x590ac4]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
lea eax, [0x544540]
mov dword [esp], eax
lea eax, [0x590608]
mov dword [esp + 4], eax
call fcn.00437f80
lea eax, [0x544540]
mov dword [esp], eax
lea eax, [0x590608]
mov dword [esp + 4], eax
call fcn.00437f80
xor eax, eax
mov ecx, eax
call fcn.00469400
nop
call fcn.00467f80
jmp fcn.0052bf40