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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x52ddd6
sub esp, 0x4c
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jl 0x52dd1c
test eax, eax
je 0x52dd00
test ecx, ecx
je 0x52dc40
lea ebx, [eax + 1]
mov dword [esp + 0x40], ebx
mov edx, dword [esp + 0x58]
cmp edx, ebx
jl 0x52db34
jb 0x52ddce
mov ebp, dword [esp + 0x50]
jmp 0x52db67
lea ecx, [0x5b0460]
mov dword [esp], ecx
mov dword [esp + 4], ebx
lea ecx, [eax + 5]
mov dword [esp + 0x30], ecx
mov dword [esp + 8], ecx
call fcn.0043f090
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov ebp, eax
mov eax, dword [esp + 0x60]
cmp ecx, edx
ja 0x52ddc9
mov dword [esp + 0x30], edx
mov dword [esp + 0x44], ebp
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x14], ebx
mov esi, dword [esp + 0x68]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ecx
mov esi, dword [esp + 0x70]
mov dword [esp + 0x20], esi
call fcn.0053b1d0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jle 0x52dc24
mov ebx, dword [esp + 0x30]
cmp ecx, ebx
ja 0x52ddc2
sub ebx, edx
mov esi, edx
shl edx, 2
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, edx
mov ebp, dword [esp + 0x44]
add ebx, ebp
mov dword [esp], ebx
sub ecx, esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov edi, dword [esp + 0x64]
sub edi, esi
mov esi, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, edx
mov edx, dword [esp + 0x5c]
add edx, edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
call fcn.0053b250
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x40]
cmp ecx, ebx
jae 0x52ddb9
mov ebp, dword [esp + 0x44]
mov dword [ebp + ecx*4], eax
nop
mov eax, ebx
jmp 0x52dd7e
nop
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jg 0x52dc51
mov edx, eax
mov ebx, dword [esp + 0x50]
jmp 0x52dcb7
cmp eax, 1
jne 0x52dc8a
lea eax, [0x5b0460]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0043f090
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x60]
mov ebx, eax
mov ecx, 1
mov eax, 1
jmp 0x52dcb7
lea ecx, [0x5b0460]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea ecx, [eax + 4]
mov dword [esp + 0x34], ecx
mov dword [esp + 8], ecx
call fcn.0043f090
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x60]
mov ebx, eax
mov ecx, dword [esp + 0x34]
mov eax, edx
cmp edx, eax
jl 0x52dcbd
mov edx, eax
mov ebp, dword [esp + 0x5c]
cmp ebp, ebx
je 0x52dcf0
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], ebx
mov dword [esp], ebx
mov dword [esp + 4], ebp
shl edx, 2
mov dword [esp + 8], edx
call fcn.00452920
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x4c
ret
mov eax, dword [esp + 0x50]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x7c], eax
add esp, 0x4c
ret
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], eax
call fcn.0052dae0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
add esp, 0x4c
ret
mov ebx, esi
test ebx, ebx
jle 0x52dd91
lea esi, [ebx - 1]
cmp esi, eax
jae 0x52ddb0
mov edi, dword [ebp + ebx*4 - 4]
test edi, edi
je 0x52dd7c
mov edx, dword [esp + 0x30]
cmp ebx, edx
ja 0x52dda9
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], edx
add esp, 0x4c
ret
mov ecx, ebx
call fcn.004520e0
mov ecx, eax
mov eax, esi
call fcn.004520a0
mov eax, ecx
mov ecx, ebx
call fcn.004520a0
mov edx, ebx
call fcn.004520e0
call fcn.004520e0
mov ecx, ebx
call fcn.004520e0
nop
call fcn.00450c10
jmp fcn.0052dae0