Function at 0x5f6820
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5f6ac1
sub esp, 0x24
mov edx, dword [esp + 0x30]
cmp edx, 0x16
jne 0x5f6a96
nop
lea ecx, [edx - 8]
mov ebx, dword [esp + 0x2c]
movzx ebp, byte [ebx + 7]
movzx esi, byte [ebx + 6]
mov edi, esi
shl esi, 8
or esi, ebp
shr edi, 0x18
movzx ebp, byte [ebx + 5]
mov eax, ebp
shl ebp, 0x10
or ebp, esi
shr eax, 0x10
or edi, eax
movzx esi, byte [ebx + 4]
mov eax, esi
shl esi, 0x18
or esi, ebp
shr eax, 8
or eax, edi
movzx ebp, byte [ebx + 3]
or ebp, eax
movzx edi, byte [ebx + 2]
shl edi, 8
or edi, ebp
movzx ebp, byte [ebx + 1]
shl ebp, 0x10
or ebp, edi
movzx edi, byte [ebx]
shl edi, 0x18
or edi, ebp
cmp ecx, 7
jbe 0x5f6ab6
cmp edi, 0x90f80e57
xchg ebp, ebx
setne bl
xchg ebp, ebx
cmp esi, 0x933f0f33
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, ebp
movzx ebp, byte [ebx + 0xf]
movzx edi, byte [ebx + 0xe]
mov eax, edi
shl edi, 8
or ebp, edi
shr eax, 0x18
movzx edi, byte [ebx + 0xd]
mov ecx, edi
shl edi, 0x10
or edi, ebp
shr ecx, 0x10
or eax, ecx
movzx ebp, byte [ebx + 0xc]
mov ecx, ebp
shl ebp, 0x18
or ebp, edi
shr ecx, 8
or ecx, eax
movzx edi, byte [ebx + 0xb]
or edi, ecx
mov eax, edx
movzx edx, byte [ebx + 0xa]
shl edx, 8
or edx, edi
movzx edi, byte [ebx + 9]
shl edi, 0x10
or edi, edx
movzx edx, byte [ebx + 8]
shl edx, 0x18
or edx, edi
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5f6a8a
cmp ebp, 0x65b8a947
xchg ebp, ebx
setne bl
xchg ebp, ebx
cmp edx, 0xb6c8ddfa
setne dl
or edx, ebp
test dl, dl
jne 0x5f6a7e
lea ecx, [eax - 0x10]
nop
cmp ecx, 3
jbe 0x5f6aac
movzx eax, byte [ebx + 0x13]
movzx ecx, byte [ebx + 0x12]
movzx edx, byte [ebx + 0x11]
movzx ebp, byte [ebx + 0x10]
mov dword [esp + 0x1c], 0
shl ecx, 8
or eax, ecx
shl edx, 0x10
or edx, eax
shl ebp, 0x18
or ebp, edx
nop
mov eax, ebp
shr ebp, 0x18
xchg ebp, eax
mov byte [esp + 0x1c], al
xchg ebp, eax
mov ecx, eax
shr eax, 0x10
mov byte [esp + 0x1d], al
mov eax, ecx
shr ecx, 8
mov byte [esp + 0x1e], cl
mov byte [esp + 0x1f], al
lea eax, [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.004cbf80
mov eax, dword [esp + 0x30]
lea ecx, [eax - 0x14]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
cmp ecx, 1
jbe 0x5f6aa2
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x34]
add eax, 0xffffffec
neg eax
sar eax, 0x1f
and eax, 4
mov ecx, dword [esp + 0x2c]
movzx edx, byte [ecx + eax + 0x11]
mov word [esp + 0x16], dx
movzx eax, byte [ecx + eax + 0x10]
mov word [esp + 0x14], ax
lea ecx, [0x6224e0]
mov dword [esp], ecx
call fcn.0040b460
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x18]
mov dword [edi + 0xc], eax
movzx eax, word [esp + 0x14]
shl eax, 8
movzx ecx, word [esp + 0x16]
or ecx, eax
mov eax, dword [0x7e0970]
test eax, eax
jne 0x5f6a38
mov edx, dword [esp + 0x20]
mov dword [edi + 8], edx
jmp 0x5f6a4a
lea edx, [edi + 8]
mov eax, dword [esp + 0x20]
mov ebx, edi
mov edi, edx
call fcn.0045e4b0
mov edi, ebx
movzx ecx, cx
mov dword [edi + 0x10], ecx
mov dword [edi + 4], 3
mov ecx, dword [0x7e0970]
test ecx, ecx
jne 0x5f6a6b
lea eax, [0x638055]
mov dword [edi], eax
jmp 0x5f6a76
lea eax, [0x638055]
call fcn.0045e4b0
mov dword [esp + 0x38], edi
add esp, 0x24
ret
mov dword [esp + 0x38], 0
add esp, 0x24
ret
mov dword [esp + 0x38], 0
add esp, 0x24
ret
mov dword [esp + 0x38], 0
add esp, 0x24
ret
mov eax, 1
call fcn.0045e530
mov eax, 3
call fcn.0045e530
mov eax, 7
call fcn.0045e530
nop
call fcn.0045d0a0
jmp fcn.005f6820