Function at 0x5caac0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x7f7460]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x218]
cmp eax, dword [ecx + 8]
jbe 0x5cb0d0
sub esp, 0x298
mov ecx, dword [esp + 0x29c]
movzx edx, byte [ecx + 0x295]
test dl, dl
je 0x5cac5d
lea edi, [esp + 0x70]
xor eax, eax
call fcn.00467546
lea edi, [esp + 0x98]
call fcn.00467546
lea ecx, [0x60a4e0]
mov dword [esp], ecx
lea edx, [esp + 0x98]
mov dword [esp + 4], edx
call fcn.004cc720
mov ecx, dword [esp + 8]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x29c]
mov dword [esp], edx
mov ebx, dword [esp + 0x2a0]
mov dword [esp + 4], ebx
call fcn.005b9930
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x29c]
mov dword [esp], edx
lea ebx, [0x5e2320]
mov dword [esp + 4], ebx
lea ebx, [esp + 0x70]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
call fcn.005ba620
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x5cac40
lea eax, [0x60a4e0]
mov dword [esp], eax
lea eax, [esp + 0x70]
mov dword [esp + 4], eax
call fcn.00409af0
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 8]
test eax, eax
setne al
test ecx, ecx
setne cl
or ecx, eax
test cl, cl
je 0x5cac37
lea edi, [esp + 0x1a0]
xor eax, eax
call fcn.00467514
mov ecx, dword [esp + 0x29c]
mov ebx, dword [ecx + 0x78]
lea ebp, [0x614fa0]
cmp ebx, ebp
jne 0x5cb0b9
mov dword [esp + 0x294], edx
mov esi, dword [ecx + 0x7c]
lea edi, [esp + 0x1a0]
call fcn.00467808
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x1b8]
mov edx, dword [esp + 0x29c]
mov dword [esp], edx
sub eax, ecx
mov dword [esp + 4], eax
call fcn.005b9930
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x29c]
xor edx, edx
lea ebx, [0x7f7320]
xor ebp, ebp
jmp 0x5caf31
xor eax, eax
xor ecx, ecx
jmp 0x5caf09
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x2ac], ecx
add esp, 0x298
ret
lea edi, [esp + 0x40]
xor eax, eax
call fcn.0046754a
lea edi, [esp + 0x58]
call fcn.0046754a
lea ecx, [0x60a440]
mov dword [esp], ecx
lea edx, [esp + 0x58]
mov dword [esp + 4], edx
call fcn.004cc720
mov ecx, dword [esp + 8]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x29c]
mov dword [esp], edx
mov ebx, dword [esp + 0x2a0]
mov dword [esp + 4], ebx
call fcn.005b9930
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x29c]
mov dword [esp], edx
lea ebx, [0x5e22e0]
mov dword [esp + 4], ebx
lea ebx, [esp + 0x40]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
call fcn.005ba620
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x5cad82
lea eax, [0x60a440]
mov dword [esp], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
call fcn.00409af0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 8]
test eax, eax
je 0x5cad7c
mov dword [esp + 0x294], ecx
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.00467518
mov ecx, dword [esp + 0x29c]
mov edx, dword [ecx + 0x78]
lea ebx, [0x615320]
cmp edx, ebx
jne 0x5caef3
mov esi, dword [ecx + 0x7c]
lea edi, [esp + 0xc0]
call fcn.00467830
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x29c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005b9930
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x29c]
xor edx, edx
lea ebx, [0x7f7320]
xor ebp, ebp
jmp 0x5cae15
xor eax, eax
xor edx, edx
jmp 0x5cad9f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x2ac], ecx
add esp, 0x298
ret
lea ebx, [0x60a440]
mov ebp, dword [esp + 0x29c]
mov dword [ebp + 0x128], ebx
mov dword [ebp + 0x130], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5cadde
call fcn.004672d0
mov dword [edi], ecx
mov eax, dword [ebp + 0x12c]
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov eax, dword [ebp + 0x134]
mov dword [edi + 0xc], eax
mov dword [ebp + 0x12c], ecx
mov dword [ebp + 0x134], edx
mov byte [ebp + 0x2a4], 1
mov dword [esp + 0x2a8], 0
mov dword [esp + 0x2ac], 0
add esp, 0x298
ret
mov dword [ebx + ebp*4 - 4], edi
add eax, 4
mov esi, dword [ecx + 0x2ac]
add esi, 0xfffffffc
cmp eax, esi
jbe 0x5cae2c
mov esi, dword [0x7c3d28]
xor edi, edi
jmp 0x5cae63
mov esi, dword [ecx + 0x28c]
cmp eax, esi
ja 0x5caeec
mov edi, dword [ecx + 0x290]
sub esi, eax
sub edi, eax
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, eax
cmp esi, 3
jbe 0x5caee0
mov esi, dword [ecx + 0x288]
mov edi, dword [esi + edi]
xor esi, esi
test esi, esi
jne 0x5caeba
test edi, edi
je 0x5caeba
inc ebp
cmp edx, ebp
jae 0x5cae0e
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5eed60]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x29c]
mov edi, dword [esp + 0x30]
jmp 0x5cae0e
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.00409d50
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x294]
lea eax, [0x5e75c0]
jmp 0x5cad9f
mov eax, 3
mov ecx, esi
call fcn.00467310
mov ecx, esi
call fcn.00467380
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x5efca0]
mov dword [esp + 8], eax
call fcn.00409960
lea ebx, [0x60a4e0]
mov ebp, edx
mov edx, ecx
mov ecx, ebp
jmp 0x5cada5
lea esi, [ebx + ebp*8 - 8]
mov dword [esi], eax
lea esi, [ebx + ebp*8 - 4]
mov dword [esi], edi
mov ecx, dword [esp + 0x29c]
mov eax, dword [esp + 0x38]
lea esi, [eax + 8]
mov dword [esp + 0x38], esi
cmp dword [ecx + 0x2ac], esi
jae 0x5caf55
mov edi, dword [0x7c3d28]
xor eax, eax
xor eax, eax
mov dword [esp + 0x24], eax
xor eax, eax
jmp 0x5cb01c
mov edi, dword [ecx + 0x28c]
cmp eax, edi
ja 0x5cb0b2
mov esi, dword [ecx + 0x290]
sub edi, eax
sub esi, eax
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and eax, esi
cmp edi, 7
jbe 0x5cb0a6
mov dword [esp + 0x2c], edx
mov dword [esp + 0x290], ebx
mov esi, dword [ecx + 0x288]
movzx edi, byte [esi + eax]
movzx ecx, byte [esi + eax + 1]
mov dword [esp + 0x34], ecx
shl ecx, 8
or edi, ecx
mov ebx, dword [esp + 0x34]
shr ebx, 0x18
movzx ecx, byte [esi + eax + 2]
mov dword [esp + 0x34], ecx
shl ecx, 0x10
or edi, ecx
mov edx, dword [esp + 0x34]
shr edx, 0x10
or edx, ebx
movzx ebx, byte [esi + eax + 3]
mov dword [esp + 0x34], ebx
shr ebx, 8
or ebx, edx
mov edx, dword [esp + 0x34]
shl edx, 0x18
movzx ecx, byte [esi + eax + 4]
or ecx, ebx
movzx ebx, byte [esi + eax + 5]
shl ebx, 8
or ecx, ebx
movzx ebx, byte [esi + eax + 6]
shl ebx, 0x10
or ecx, ebx
movzx ebx, byte [esi + eax + 7]
shl ebx, 0x18
or edi, edx
or ecx, ebx
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x290]
mov esi, dword [esp + 0x38]
mov eax, edi
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x29c]
xor edi, edi
test edi, edi
jne 0x5cb080
mov edi, dword [esp + 0x24]
test edi, edi
sete cl
test eax, eax
xchg esi, ebx
sete bl
xchg esi, ebx
and ecx, esi
test cl, cl
jne 0x5cb080
inc ebp
cmp edx, ebp
jae 0x5caf1a
mov dword [esp + 0x20], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5eee60]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
jmp 0x5caf1a
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.00409d50
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x294]
lea eax, [0x5e7880]
jmp 0x5caf09
mov eax, 7
mov ecx, edi
call fcn.00467310
mov ecx, edi
call fcn.00467380
mov dword [esp], ebx
mov dword [esp + 4], ebp
lea eax, [0x5efca0]
mov dword [esp + 8], eax
call fcn.00409960
nop
call fcn.00465ea0
jmp fcn.005caac0