Function at 0x5d0c84
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5d0fc7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.0040a1d4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x24
je 0x5d0cb8
mov byte [ebp - 9], 0
jmp 0x5d0fb7
mov eax, dword [ebp - 4]
cmp word [eax + 0x10], 0x2d
jne 0x5d0ce0
mov eax, dword [ebp - 4]
cmp word [eax + 0x1a], 0x2d
jne 0x5d0ce0
mov eax, dword [ebp - 4]
cmp word [eax + 0x24], 0x2d
jne 0x5d0ce0
mov eax, dword [ebp - 4]
cmp word [eax + 0x2e], 0x2d
je 0x5d0ce9
mov byte [ebp - 9], 0
jmp 0x5d0fb7
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
not eax
sub eax, 8
je 0x5d0d07
sub eax, 5
je 0x5d0d07
sub eax, 5
je 0x5d0d07
sub eax, 5
jne 0x5d0d3f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp word [eax + edx*2], 0x66
ja 0x5d0d36
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
movzx eax, word [eax + edx*2]
cmp word [eax*2 + 0x5f92b8], 0xffff
jne 0x5d0d3f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
cmp word [eax + edx*2], 0
je 0x5d0d3f
mov byte [ebp - 9], 0
jmp 0x5d0fb7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x24
jne 0x5d0cee
mov eax, dword [ebp - 4]
movzx eax, word [eax]
movsx eax, word [eax*2 + 0x5f92b8]
shl eax, 0x1c
mov edx, dword [ebp - 4]
movzx edx, word [edx + 2]
movsx edx, word [edx*2 + 0x5f92b8]
shl edx, 0x18
or eax, edx
mov edx, dword [ebp - 4]
movzx edx, word [edx + 4]
movsx edx, word [edx*2 + 0x5f92b8]
shl edx, 0x14
or eax, edx
mov edx, dword [ebp - 4]
movzx edx, word [edx + 6]
movsx edx, word [edx*2 + 0x5f92b8]
shl edx, 0x10
or eax, edx
mov edx, dword [ebp - 4]
movzx edx, word [edx + 8]
movsx edx, word [edx*2 + 0x5f92b8]
shl edx, 0xc
or eax, edx
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0xa]
movsx edx, word [edx*2 + 0x5f92b8]
shl edx, 8
or eax, edx
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0xc]
movsx edx, word [edx*2 + 0x5f92b8]
shl edx, 4
or eax, edx
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0xe]
movsx edx, word [edx*2 + 0x5f92b8]
or eax, edx
mov edx, dword [ebp - 8]
mov dword [edx], eax
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x12]
mov ax, word [eax*2 + 0x5f92b8]
shl eax, 0xc
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x14]
mov dx, word [edx*2 + 0x5f92b8]
shl edx, 8
or ax, dx
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x16]
mov dx, word [edx*2 + 0x5f92b8]
shl edx, 4
or ax, dx
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x18]
or ax, word [edx*2 + 0x5f92b8]
mov edx, dword [ebp - 8]
mov word [edx + 4], ax
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x1c]
mov ax, word [eax*2 + 0x5f92b8]
shl eax, 0xc
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x1e]
mov dx, word [edx*2 + 0x5f92b8]
shl edx, 8
or ax, dx
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x20]
mov dx, word [edx*2 + 0x5f92b8]
shl edx, 4
or ax, dx
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x22]
or ax, word [edx*2 + 0x5f92b8]
mov edx, dword [ebp - 8]
mov word [edx + 6], ax
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x26]
mov al, byte [eax*2 + 0x5f92b8]
shl eax, 4
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x28]
or al, byte [edx*2 + 0x5f92b8]
mov edx, dword [ebp - 8]
mov byte [edx + 8], al
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x2a]
mov al, byte [eax*2 + 0x5f92b8]
shl eax, 4
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x2c]
or al, byte [edx*2 + 0x5f92b8]
mov edx, dword [ebp - 8]
mov byte [edx + 9], al
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x30]
mov al, byte [eax*2 + 0x5f92b8]
shl eax, 4
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x32]
or al, byte [edx*2 + 0x5f92b8]
mov edx, dword [ebp - 8]
mov byte [edx + 0xa], al
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x34]
mov al, byte [eax*2 + 0x5f92b8]
shl eax, 4
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x36]
or al, byte [edx*2 + 0x5f92b8]
mov edx, dword [ebp - 8]
mov byte [edx + 0xb], al
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x38]
mov al, byte [eax*2 + 0x5f92b8]
shl eax, 4
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x3a]
or al, byte [edx*2 + 0x5f92b8]
mov edx, dword [ebp - 8]
mov byte [edx + 0xc], al
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x3c]
mov al, byte [eax*2 + 0x5f92b8]
shl eax, 4
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x3e]
or al, byte [edx*2 + 0x5f92b8]
mov edx, dword [ebp - 8]
mov byte [edx + 0xd], al
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x40]
mov al, byte [eax*2 + 0x5f92b8]
shl eax, 4
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x42]
or al, byte [edx*2 + 0x5f92b8]
mov edx, dword [ebp - 8]
mov byte [edx + 0xe], al
mov eax, dword [ebp - 4]
movzx eax, word [eax + 0x44]
mov al, byte [eax*2 + 0x5f92b8]
shl eax, 4
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x46]
or al, byte [edx*2 + 0x5f92b8]
mov edx, dword [ebp - 8]
mov byte [edx + 0xf], al
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5d0fce
pop eax
jmp eax