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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x53e3b4
sub esp, 0x4c
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jl 0x53e2fa
test eax, eax
je 0x53e2de
test ecx, ecx
je 0x53e21f
lea ebx, [eax + 1]
mov dword [esp + 0x40], ebx
mov edx, dword [esp + 0x58]
cmp edx, ebx
jl 0x53e114
jb 0x53e3ac
mov ebp, dword [esp + 0x50]
jmp 0x53e147
lea ecx, [0x6ccee0]
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.0044b8f0
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 0x53e3a7
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.00547e50
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jle 0x53e204
mov ebx, dword [esp + 0x30]
cmp ecx, ebx
ja 0x53e3a0
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.00547ed0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x40]
cmp ecx, ebx
jae 0x53e397
mov ebp, dword [esp + 0x44]
mov dword [ebp + ecx*4], eax
mov eax, ebx
jmp 0x53e35c
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jg 0x53e22f
mov edx, eax
mov ebx, dword [esp + 0x50]
jmp 0x53e295
cmp eax, 1
jne 0x53e268
lea eax, [0x6ccee0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0044b8f0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x60]
mov ebx, eax
mov ecx, 1
mov eax, 1
jmp 0x53e295
lea ecx, [0x6ccee0]
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.0044b8f0
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 0x53e29b
mov edx, eax
mov ebp, dword [esp + 0x5c]
cmp ebp, ebx
je 0x53e2ce
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.00463d10
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.0053e0c0
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 0x53e36f
lea esi, [ebx - 1]
cmp esi, eax
jae 0x53e38e
mov edi, dword [ebp + ebx*4 - 4]
test edi, edi
je 0x53e35a
mov edx, dword [esp + 0x30]
cmp ebx, edx
ja 0x53e387
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], edx
add esp, 0x4c
ret
mov ecx, ebx
call fcn.00463410
mov ecx, eax
mov eax, esi
call fcn.004633d0
mov eax, ecx
mov ecx, ebx
call fcn.004633d0
mov edx, ebx
call fcn.00463410
call fcn.00463410
mov ecx, ebx
call fcn.00463410
nop
call fcn.00461f40
jmp fcn.0053e0c0