Function at 0x12a0470
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, dword [ebp + 8]
lea eax, [esi + 0x1000]
cmp eax, 0x2000
jb 0x12a08de
mov edx, dword [ebp + 0xc]
lea eax, [edx + 0x1000]
cmp eax, 0x2000
jb 0x12a08de
mov cl, byte [edx]
xor eax, eax
cmp cl, 0x7b
push ebx
sete al
add edx, eax
movzx eax, byte [edx]
mov ch, byte [eax + 0x12cec00]
cmp ch, 0xff
je 0x12a08d3
movzx eax, byte [edx + 1]
mov bl, byte [eax + 0x12cec00]
cmp bl, 0xff
je 0x12a08d3
movzx eax, byte [edx + 2]
mov bh, byte [eax + 0x12cec00]
cmp bh, 0xff
je 0x12a08d3
movzx eax, byte [edx + 3]
mov al, byte [eax + 0x12cec00]
mov byte [ebp - 1], al
cmp al, 0xff
je 0x12a08d3
movzx eax, byte [edx + 4]
mov al, byte [eax + 0x12cec00]
mov byte [ebp - 2], al
cmp al, 0xff
je 0x12a08d3
movzx eax, byte [edx + 5]
mov al, byte [eax + 0x12cec00]
mov byte [ebp - 3], al
cmp al, 0xff
je 0x12a08d3
movzx eax, byte [edx + 6]
mov al, byte [eax + 0x12cec00]
mov byte [ebp - 4], al
cmp al, 0xff
je 0x12a08d3
movzx eax, byte [edx + 7]
mov al, byte [eax + 0x12cec00]
mov byte [ebp - 5], al
cmp al, 0xff
je 0x12a08d3
cmp byte [edx + 8], 0x2d
jne 0x12a08d3
movzx eax, byte [edx + 9]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0xa]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0xb]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0xc]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
cmp byte [edx + 0xd], 0x2d
jne 0x12a08d3
movzx eax, byte [edx + 0xe]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0xf]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x10]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x11]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
cmp byte [edx + 0x12], 0x2d
jne 0x12a08d3
movzx eax, byte [edx + 0x13]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x14]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x15]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x16]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
cmp byte [edx + 0x17], 0x2d
jne 0x12a08d3
movzx eax, byte [edx + 0x18]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x19]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x1a]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x1b]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x1c]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x1d]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x1e]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x1f]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x20]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x21]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x22]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
movzx eax, byte [edx + 0x23]
cmp byte [eax + 0x12cec00], 0xff
je 0x12a08d3
cmp cl, 0x7b
jne 0x12a071c
cmp byte [edx + 0x24], 0x7d
jne 0x12a08d3
xor eax, eax
cmp cl, 0x7b
sete al
cmp byte [eax + edx + 0x24], 0
jne 0x12a08d3
movzx ecx, ch
shl ecx, 4
movzx eax, bl
or ecx, eax
movzx eax, bh
shl ecx, 4
or ecx, eax
movzx eax, byte [ebp - 1]
shl ecx, 4
or ecx, eax
movzx eax, byte [ebp - 2]
shl ecx, 4
or ecx, eax
movzx eax, byte [ebp - 3]
shl ecx, 4
or ecx, eax
movzx eax, byte [ebp - 4]
shl ecx, 4
or ecx, eax
movzx eax, byte [ebp - 5]
shl ecx, 4
or ecx, eax
mov dword [esi], ecx
movzx eax, byte [edx + 9]
movzx ecx, byte [eax + 0x12cec00]
movzx eax, byte [edx + 0xa]
shl cx, 4
movzx eax, byte [eax + 0x12cec00]
or cx, ax
movzx eax, byte [edx + 0xb]
shl cx, 4
movzx eax, byte [eax + 0x12cec00]
or cx, ax
movzx eax, byte [edx + 0xc]
shl cx, 4
movzx eax, byte [eax + 0x12cec00]
or cx, ax
mov word [esi + 4], cx
movzx eax, byte [edx + 0xe]
movzx ecx, byte [eax + 0x12cec00]
movzx eax, byte [edx + 0xf]
shl cx, 4
movzx eax, byte [eax + 0x12cec00]
or cx, ax
movzx eax, byte [edx + 0x10]
shl cx, 4
movzx eax, byte [eax + 0x12cec00]
or cx, ax
movzx eax, byte [edx + 0x11]
shl cx, 4
movzx eax, byte [eax + 0x12cec00]
or cx, ax
mov word [esi + 6], cx
movzx eax, byte [edx + 0x13]
mov cl, byte [eax + 0x12cec00]
movzx eax, byte [edx + 0x14]
shl cl, 4
or cl, byte [eax + 0x12cec00]
mov byte [esi + 8], cl
movzx eax, byte [edx + 0x15]
mov cl, byte [eax + 0x12cec00]
movzx eax, byte [edx + 0x16]
shl cl, 4
or cl, byte [eax + 0x12cec00]
mov byte [esi + 9], cl
movzx eax, byte [edx + 0x18]
mov cl, byte [eax + 0x12cec00]
movzx eax, byte [edx + 0x19]
shl cl, 4
or cl, byte [eax + 0x12cec00]
mov byte [esi + 0xa], cl
movzx eax, byte [edx + 0x1a]
mov cl, byte [eax + 0x12cec00]
movzx eax, byte [edx + 0x1b]
shl cl, 4
or cl, byte [eax + 0x12cec00]
mov byte [esi + 0xb], cl
movzx eax, byte [edx + 0x1c]
mov cl, byte [eax + 0x12cec00]
movzx eax, byte [edx + 0x1d]
shl cl, 4
or cl, byte [eax + 0x12cec00]
mov byte [esi + 0xc], cl
movzx eax, byte [edx + 0x1e]
pop ebx
mov cl, byte [eax + 0x12cec00]
movzx eax, byte [edx + 0x1f]
shl cl, 4
or cl, byte [eax + 0x12cec00]
mov byte [esi + 0xd], cl
movzx eax, byte [edx + 0x20]
mov cl, byte [eax + 0x12cec00]
movzx eax, byte [edx + 0x21]
shl cl, 4
or cl, byte [eax + 0x12cec00]
mov byte [esi + 0xe], cl
movzx eax, byte [edx + 0x22]
mov cl, byte [eax + 0x12cec00]
movzx eax, byte [edx + 0x23]
shl cl, 4
or cl, byte [eax + 0x12cec00]
xor eax, eax
mov byte [esi + 0xf], cl
pop esi
mov esp, ebp
pop ebp
ret
pop ebx
mov eax, 0xffffffcf
pop esi
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffe
pop esi
mov esp, ebp
pop ebp
ret