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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x52d271
sub esp, 0x54
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x52d227
mov ebp, dword [esp + 0x58]
test byte [ebp], al
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x48]
jmp 0x52cf80
mov edx, ebp
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x38], esi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], edi
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x38]
sub ebx, esi
cmp ebx, 4
jl 0x52d21e
mov ebx, dword [esp + 0x44]
sub edx, ebx
cmp edx, 4
jl 0x52d14f
lea ebx, [esi + 4]
cmp ebx, edi
ja 0x52d267
cmp esi, ebx
ja 0x52d25e
mov dword [esp + 0x3c], ebx
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
movzx esi, byte [eax + edi]
movzx esi, byte [esi + ebp + 0x40]
xchg esi, eax
mov byte [esp + 0x32], al
xchg esi, eax
movzx ebx, byte [eax + edi + 1]
movzx ebx, byte [ebx + ebp + 0x40]
mov byte [esp + 0x31], bl
movzx ebx, byte [eax + edi + 2]
movzx ebx, byte [ebx + ebp + 0x40]
movzx edi, byte [eax + edi + 3]
movzx edi, byte [edi + ebp + 0x40]
movzx ebp, byte [esp + 0x31]
or esi, ebp
or esi, ebx
or esi, edi
xchg esi, eax
cmp al, 0xff
xchg esi, eax
jne 0x52d111
mov ebx, 0
je 0x52d06b
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x44]
cmp ebp, esi
jb 0x52d255
mov dword [esp + 0x34], ebx
mov edi, dword [esp + 0x64]
mov edx, edi
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
shr ebx, 0x18
mov byte [ecx + edi], bl
mov ebx, dword [esp + 0x34]
shr ebx, 0x10
mov byte [ecx + edi + 1], bl
mov ebx, dword [esp + 0x34]
shr ebx, 8
mov byte [ecx + edi + 2], bl
mov ebx, dword [esp + 0x34]
mov byte [ecx + edi + 3], bl
lea ebx, [esi + 3]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
jmp 0x52cf62
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x44]
cmp ebx, ebp
jb 0x52d24c
mov ebx, dword [esp + 0x58]
mov dword [esp], ebx
mov esi, dword [esp + 0x64]
sub esi, ebp
mov dword [esp + 0x3c], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebp
add esi, ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x14], edx
mov esi, dword [esp + 0x70]
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1c], ecx
call fcn.0052c940
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x44]
add ebx, ebp
test eax, eax
jne 0x52d101
mov ebp, dword [esp + 0x60]
mov esi, edx
mov edi, eax
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x64]
jmp 0x52cf62
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x54
ret
xchg esi, eax
mov byte [esp + 0x33], al
xchg esi, eax
movzx esi, byte [esp + 0x32]
xchg esi, eax
movzx eax, al
xchg esi, eax
shl esi, 0x1a
xchg ebp, eax
movzx eax, al
xchg ebp, eax
shl ebp, 0x14
or ebp, esi
movzx ebx, bl
shl ebx, 0xe
or ebx, ebp
xchg edi, eax
movzx ebp, al
xchg edi, eax
shl ebp, 8
or ebx, ebp
movzx ebp, byte [esp + 0x33]
xchg ebp, eax
cmp al, 0xff
xchg ebp, eax
jmp 0x52d00e
mov edx, dword [esp + 0x64]
jmp 0x52d177
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x70]
mov esi, edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x6c]
cmp esi, edi
jge 0x52d206
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x60]
cmp esi, ebx
jb 0x52d243
mov dword [esp + 0x44], ebx
mov dword [esp], ebp
sub edx, ebx
mov dword [esp + 0x3c], edx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, ecx
mov dword [esp + 4], edx
sub esi, ebx
mov dword [esp + 8], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x70]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x1c], esi
call fcn.0052c940
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x44]
add ebx, ebp
test eax, eax
je 0x52d155
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x54
ret
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x7c], eax
add esp, 0x54
ret
mov ebx, dword [esp + 0x44]
jmp 0x52d14f
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
add esp, 0x54
ret
mov eax, ebx
mov ecx, esi
call fcn.0045c4c0
mov eax, ebp
mov ecx, ebx
call fcn.0045c4c0
mov eax, esi
mov ecx, ebp
call fcn.0045c4c0
mov eax, esi
mov ecx, ebx
call fcn.0045c4c0
mov ecx, ebx
mov edx, edi
call fcn.0045c4a0
nop
call fcn.0045ae90
jmp fcn.0052cf00