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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x20]
cmp eax, dword [ecx + 8]
jbe 0x5a3738
sub esp, 0xa0
lea edi, [esp + 0xb0]
xor eax, eax
call fcn.00465fe6
lea edi, [esp + 0x78]
call fcn.00465fe6
mov ecx, dword [esp + 0xa8]
cmp ecx, 0x20
jl 0x5a363f
mov edx, dword [esp + 0xa4]
movzx ebx, byte [edx + 3]
movzx ebp, byte [edx + 2]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [edx + 1]
shl ebp, 0x10
or ebx, ebp
movzx ebp, byte [edx]
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0x78], ebp
lea ebx, [ecx - 4]
cmp ebx, 3
jbe 0x5a372b
movzx ebx, byte [edx + 7]
movzx ebp, byte [edx + 6]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [edx + 5]
shl ebp, 0x10
or ebx, ebp
movzx ebp, byte [edx + 4]
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0x7c], ebp
lea ebx, [ecx - 8]
cmp ebx, 1
jbe 0x5a371f
movzx ebx, byte [edx + 9]
movzx ebp, byte [edx + 8]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x80], bx
lea ebx, [ecx - 0xa]
cmp ebx, 1
jbe 0x5a3713
movzx ebx, byte [edx + 0xb]
movzx ebp, byte [edx + 0xa]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x82], bx
lea ebx, [ecx - 0xc]
cmp ebx, 3
jbe 0x5a3707
movzx ebx, byte [edx + 0xf]
movzx ebp, byte [edx + 0xe]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [edx + 0xd]
shl ebp, 0x10
or ebx, ebp
movzx ebp, byte [edx + 0xc]
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0x84], ebp
lea ebx, [ecx - 0x10]
cmp ebx, 3
jbe 0x5a36fb
movzx ebx, byte [edx + 0x13]
movzx ebp, byte [edx + 0x12]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [edx + 0x11]
shl ebp, 0x10
or ebx, ebp
movzx ebp, byte [edx + 0x10]
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0x88], ebp
lea ebx, [ecx - 0x14]
cmp ebx, 3
jbe 0x5a36ef
movzx ebx, byte [edx + 0x17]
movzx ebp, byte [edx + 0x16]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [edx + 0x15]
shl ebp, 0x10
or ebx, ebp
movzx ebp, byte [edx + 0x14]
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0x8c], ebp
lea ebx, [ecx - 0x18]
cmp ebx, 3
jbe 0x5a36e3
movzx ebx, byte [edx + 0x1b]
movzx ebp, byte [edx + 0x1a]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [edx + 0x19]
shl ebp, 0x10
or ebx, ebp
movzx ebp, byte [edx + 0x18]
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0x90], ebp
lea ebx, [ecx - 0x1c]
cmp ebx, 3
jbe 0x5a36d7
movzx ebx, byte [edx + 0x1f]
movzx ebp, byte [edx + 0x1e]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [edx + 0x1d]
shl ebp, 0x10
or ebx, ebp
movzx ebp, byte [edx + 0x1c]
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0x94], ebp
mov ebx, dword [esp + 0x78]
cmp ebx, 0x10000
jne 0x5a342c
lea eax, [0x785d68]
mov dword [esp + 0x98], eax
lea eax, [0x1eaa804]
mov dword [esp + 0x9c], eax
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x5a3575
cmp ebx, 0x20000
je 0x5a34d0
cmp ebx, 0x30000
jne 0x5a3465
lea eax, [0x785d90]
mov dword [esp + 0x98], eax
lea eax, [0x1eaa804]
mov dword [esp + 0x9c], eax
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x5a3575
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b2c0]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
lea eax, [0x6fc5f3]
mov dword [esp], eax
mov dword [esp + 4], 0x1f
lea eax, [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
xor edx, edx
jmp 0x5a3575
lea edi, [esp + 0x48]
call fcn.00465fea
mov ecx, dword [esp + 0xac]
add ecx, 0xffffffe0
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 0x20
add ecx, edx
mov dword [esp], ecx
mov ecx, dword [esp + 0xa8]
add ecx, 0xffffffe0
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.005a3750
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x38], ebx
lea edi, [esp + 0x48]
lea esi, [esp + 0xc]
call fcn.004664c4
lea edi, [esp + 0x60]
lea esi, [esp + 0x48]
call fcn.004664c4
lea ecx, [0x6c15e0]
mov dword [esp], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 4], ecx
call fcn.004095e0
mov ecx, dword [esp + 8]
lea edx, [0x785d7c]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
test eax, eax
je 0x5a3608
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
je 0x5a3592
mov eax, dword [eax + 4]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
lea eax, [0x6f3f1f]
mov dword [esp], eax
mov dword [esp + 4], 0x10
lea eax, [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
lea edi, [esp + 0xb0]
lea esi, [esp + 0x78]
call fcn.0046649c
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xe0], eax
add esp, 0xa0
ret
lea edi, [esp + 0xb0]
lea esi, [esp + 0x78]
call fcn.0046649c
lea eax, [edx + 0x20]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xa0
ret
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp], ecx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
lea eax, [0x7013f0]
mov dword [esp], eax
mov dword [esp + 4], 0x2e
lea eax, [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
lea edi, [esp + 0xb0]
lea esi, [esp + 0x78]
call fcn.0046649c
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xe0], eax
add esp, 0xa0
ret
mov eax, 3
mov ecx, ebx
call fcn.00465e00
mov eax, 3
mov ecx, ebx
call fcn.00465e00
mov eax, 3
mov ecx, ebx
call fcn.00465e00
mov eax, 3
mov ecx, ebx
call fcn.00465e00
mov eax, 3
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 3
mov ecx, ebx
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.005a3220