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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x52daf5
sub esp, 0x6c
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x8c]
xor ebp, ebp
jmp 0x52d5a1
inc ebp
mov ebx, edi
cmp ebp, 4
jge 0x52daa3
mov dword [esp + 0x20], ebx
cmp ebx, ecx
je 0x52da04
jae 0x52daee
test byte [edx], al
movzx esi, byte [ebx + eax]
lea edi, [ebx + 1]
xchg esi, eax
movzx ebx, al
xchg esi, eax
movzx ebx, byte [edx + ebx + 0x40]
cmp bl, 0xff
je 0x52d5e3
cmp ebp, 4
jae 0x52dae7
mov byte [esp + ebp + 0x14], bl
jmp 0x52d59e
xchg esi, eax
cmp al, 0xa
xchg esi, eax
jne 0x52d5ed
dec ebp
jmp 0x52d59e
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x52d5ea
mov dword [esp + 0x1c], edi
xchg esi, eax
movzx ebx, al
xchg esi, eax
mov esi, dword [edx + 0x140]
cmp ebx, esi
jne 0x52d9af
cmp ebp, 1
jbe 0x52d95a
cmp ebp, 2
je 0x52d61f
jmp 0x52d953
inc edi
cmp edi, ecx
jge 0x52d639
jae 0x52dae0
movzx ebx, byte [eax + edi]
cmp bl, 0xa
je 0x52d61e
cmp bl, 0xd
je 0x52d61e
cmp edi, ecx
mov dword [esp + 0x8c], edi
je 0x52d8ff
jae 0x52dad9
movzx ebx, byte [eax + edi]
cmp ebx, esi
jne 0x52d8a8
lea ebx, [edi + 1]
jmp 0x52d65e
inc ebx
cmp ebx, ecx
jge 0x52d67c
jae 0x52dad2
movzx esi, byte [eax + ebx]
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x52d65d
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x52d65d
cmp ebx, ecx
jl 0x52d866
xor eax, eax
xor ecx, ecx
mov esi, 3
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x8c], ebx
movzx edi, byte [esp + 0x14]
shl edi, 0x12
movzx ecx, byte [esp + 0x15]
shl ecx, 0xc
or ecx, edi
movzx edi, byte [esp + 0x16]
shl edi, 6
or edi, ecx
movzx ecx, byte [esp + 0x17]
or ecx, edi
mov byte [esp + 0x16], cl
mov edi, ecx
shr ecx, 8
mov byte [esp + 0x15], cl
shr edi, 0x10
xchg edi, eax
mov byte [esp + 0x14], al
xchg edi, eax
cmp ebp, 2
jne 0x52d79a
movzx ecx, byte [esp + 0x14]
mov edi, dword [esp + 0x78]
test edi, edi
jbe 0x52dabd
mov eax, dword [esp + 0x74]
mov byte [eax], cl
movzx eax, byte [edx + 0x144]
test al, al
je 0x52d767
movzx eax, byte [esp + 0x15]
test al, al
je 0x52d75e
lea eax, [ebx - 2]
mov dword [esp + 0x24], eax
sar eax, 0x1f
mov dword [esp + 0x28], eax
lea eax, [0x801060]
mov dword [esp], eax
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
call fcn.0040c470
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x6c
ret
movzx eax, byte [esp + 0x16]
test al, al
jne 0x52d707
cmp esi, edi
ja 0x52dab6
mov dword [esp + 0x90], ebx
lea eax, [ebp - 1]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x9c], eax
add esp, 0x6c
ret
cmp ebp, 3
jne 0x52d835
movzx ecx, byte [esp + 0x15]
mov edi, dword [esp + 0x78]
cmp edi, 1
jbe 0x52dac4
mov eax, dword [esp + 0x74]
mov byte [eax + 1], cl
movzx ecx, byte [edx + 0x144]
test cl, cl
je 0x52d7d0
movzx ecx, byte [esp + 0x16]
test cl, cl
jne 0x52d7de
mov byte [esp + 0x15], 0
mov eax, dword [esp + 0x64]
jmp 0x52d6dc
lea eax, [ebx - 1]
mov dword [esp + 0x2c], eax
sar eax, 0x1f
mov dword [esp + 0x30], eax
lea eax, [0x801060]
mov dword [esp], eax
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.0040c470
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x6c
ret
cmp ebp, 4
jne 0x52d85d
movzx ecx, byte [esp + 0x16]
mov edi, dword [esp + 0x78]
cmp edi, 2
jbe 0x52dacb
mov edi, dword [esp + 0x74]
mov byte [edi + 2], cl
mov byte [esp + 0x16], 0
jmp 0x52d7a3
mov edi, dword [esp + 0x78]
jmp 0x52d767
mov dword [esp + 0x10], ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x34], ebx
sar ebx, 0x1f
mov dword [esp + 0x38], ebx
lea ecx, [0x801060]
mov dword [esp], ecx
lea edx, [esp + 0x34]
mov dword [esp + 4], edx
call fcn.0040c470
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
jmp 0x52d686
lea eax, [edi - 1]
mov dword [esp + 0x3c], eax
sar eax, 0x1f
mov dword [esp + 0x40], eax
lea eax, [0x801060]
mov dword [esp], eax
lea eax, [esp + 0x3c]
mov dword [esp + 4], eax
call fcn.0040c470
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x6c
ret
mov dword [esp + 0x44], ecx
sar ecx, 0x1f
mov dword [esp + 0x48], ecx
lea eax, [0x801060]
mov dword [esp], eax
lea eax, [esp + 0x44]
mov dword [esp + 4], eax
call fcn.0040c470
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x6c
ret
mov ebx, edi
jmp 0x52d65e
mov eax, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
sar eax, 0x1f
mov dword [esp + 0x50], eax
lea eax, [0x801060]
mov dword [esp], eax
lea eax, [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.0040c470
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x6c
ret
mov eax, dword [esp + 0x20]
mov dword [esp + 0x54], eax
sar eax, 0x1f
mov dword [esp + 0x58], eax
lea eax, [0x801060]
mov dword [esp], eax
lea eax, [esp + 0x54]
mov dword [esp + 4], eax
call fcn.0040c470
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x6c
ret
test ebp, ebp
je 0x52da77
cmp ebp, 1
jne 0x52da60
sub ebx, ebp
mov dword [esp + 0x5c], ebx
sar ebx, 0x1f
mov dword [esp + 0x60], ebx
lea ecx, [0x801060]
mov dword [esp], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 4], ecx
call fcn.0040c470
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x6c
ret
mov eax, dword [edx + 0x140]
cmp eax, 0xffffffff
jne 0x52da0d
lea esi, [ebp - 1]
xor ecx, ecx
xor eax, eax
jmp 0x52d68b
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
add esp, 0x6c
ret
mov ebp, 4
mov esi, 3
xor ecx, ecx
xor eax, eax
jmp 0x52d68b
call fcn.004269c0
ud2
call fcn.00426960
ud2
call fcn.00426960
ud2
call fcn.00426960
ud2
call fcn.00426960
ud2
call fcn.00426960
ud2
call fcn.00426960
ud2
call fcn.00426960
ud2
call fcn.00426960
ud2
call fcn.0044be50
jmp fcn.0052d560