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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5cab53
sub esp, 0x64
lea eax, [0x634a80]
mov dword [esp], eax
call fcn.00409aa0
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
lea ecx, [0x655880]
mov dword [esp], ecx
call fcn.00409aa0
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
lea ecx, [0x6383a0]
mov dword [esp], ecx
call fcn.00409aa0
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
lea ecx, [0x654d20]
mov dword [esp], ecx
call fcn.00409aa0
mov eax, dword [esp + 4]
lea ecx, [0x5d1650]
mov dword [eax], ecx
mov ecx, dword [0x881b80]
test ecx, ecx
jne 0x5cab3a
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x68]
mov dword [eax + 8], edx
mov edx, dword [0x881b80]
test edx, edx
jne 0x5cab0f
mov edx, dword [esp + 0x6c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x60]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + 0x14], edx
lea eax, [0x646020]
mov dword [esp], eax
call fcn.00409aa0
mov eax, dword [esp + 4]
mov dword [esp + 0x50], eax
lea ecx, [0x5d17e0]
mov dword [eax], ecx
mov ecx, dword [0x881b80]
test ecx, ecx
jne 0x5caaf0
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
mov dword [esp], 1
mov dword [esp + 4], 0
mov edx, dword [esp + 0x54]
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x5caac9
mov edx, dword [esp + 0x50]
mov eax, dword [edx]
call eax
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0
call fcn.0045da70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test eax, eax
je 0x5ca869
mov eax, dword [0x86fb6c]
mov ecx, dword [0x86fb68]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x64
ret
test ecx, ecx
sete al
test ebx, ebx
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, eax
test ecx, ecx
setl al
or eax, ebp
test al, al
jne 0x5ca836
mov eax, ecx
shl ecx, 1
mov ebp, ebx
shr ebx, 0x1f
or ecx, ebx
mov ebx, ebp
shl ebp, 1
cmp ebp, ebx
jl 0x5ca836
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ebx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x54]
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x5caaa2
lea eax, [0x654380]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], edx
call fcn.00437c30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor ebx, ebx
xor ebp, ebp
jmp 0x5ca93d
mov dword [esp + 0x24], esi
mov edi, dword [esp + 0x38]
add edi, 1
shl eax, 4
mov esi, dword [esp + 0x28]
mov dword [edx + eax], esi
mov esi, dword [esp + 0x2c]
mov dword [edx + eax + 4], esi
mov dword [edx + eax + 8], ebx
mov dword [edx + eax + 0xc], ecx
mov esi, dword [esp + 0x38]
add esi, 1
mov esi, dword [esp + 0x3c]
adc esi, 0
mov ebx, edi
mov ecx, ebp
mov eax, edx
mov ebp, esi
mov edx, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
mov esi, dword [esp + 0x48]
cmp ebp, esi
xchg edi, ebx
sete bl
xchg edi, ebx
mov ecx, dword [esp + 0x44]
cmp ebx, ecx
setb cl
and ecx, edi
cmp ebp, esi
xchg edi, ebx
setl bl
xchg edi, ebx
or ecx, edi
test cl, cl
je 0x5caa7b
mov dword [esp + 0x24], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0x50]
mov eax, dword [edx]
call eax
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.0045da70
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x28], ebx
mov edx, dword [esp + 0x50]
mov ebp, dword [edx]
call ebp
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.0045da70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x40]
test ebp, ebp
jne 0x5caa48
test eax, eax
jne 0x5caa48
mov eax, dword [esp + 0x20]
lea ebp, [eax + 1]
mov esi, dword [esp + 0x24]
cmp ebp, esi
jg 0x5ca9fe
mov edx, dword [esp + 0x4c]
jmp 0x5ca8fe
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], ebx
lea ecx, [0x654380]
mov dword [esp], ecx
mov edx, dword [esp + 0x4c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00437ce0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
jmp 0x5ca8fe
mov eax, dword [0x86fb68]
mov ecx, dword [0x86fb6c]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
add esp, 0x64
ret
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
add esp, 0x64
ret
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x64
ret
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x64
ret
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x58]
call fcn.0044b4d0
lea edi, [ecx + 8]
mov eax, dword [esp + 0x5c]
call fcn.0044b4d0
jmp 0x5ca7e2
lea edi, [eax + 0xc]
mov edx, eax
mov eax, dword [esp + 0x6c]
call fcn.0044b4d0
lea edi, [edx + 0x10]
mov eax, dword [esp + 0x60]
call fcn.0044b4d0
lea edi, [edx + 0x14]
mov eax, dword [esp + 0x5c]
call fcn.0044b4d0
jmp 0x5ca7a8
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x58]
call fcn.0044b4d0
mov eax, ecx
mov ecx, dword [esp + 0x58]
jmp 0x5ca77a
call fcn.00449d70
jmp fcn.005ca6f0