Function at 0x10052600
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, dword [esp + 0xc]
sub esp, 0xc
push ebp
push esi
mov esi, dword [esp + 0x1c]
push edi
xor edi, edi
cmp byte [esi + 4], 0x66
jne 0x1005262e
cmp byte [esi + 5], 0x72
jne 0x1005262e
cmp byte [esi + 6], 0x6d
jne 0x1005262e
cmp byte [esi + 7], 0x61
jne 0x1005262e
add esi, 0xc
add eax, 0xfffffff4
cmp byte [esi + 4], 0x61
jne 0x1005264c
cmp byte [esi + 5], 0x6c
jne 0x1005264c
cmp byte [esi + 6], 0x61
jne 0x1005264c
cmp byte [esi + 7], 0x63
jne 0x1005264c
add esi, 0xc
sub eax, 0xc
cmp eax, 0x18
jb 0x100527ff
movzx ebp, byte [esi]
movzx eax, byte [esi + 1]
shl ebp, 8
add ebp, eax
movzx eax, byte [esi + 2]
shl ebp, 8
add ebp, eax
movzx eax, byte [esi + 3]
shl ebp, 8
add ebp, eax
cmp ebp, 0x1000
jbe 0x10052687
pop edi
pop esi
mov eax, 0xfffffd66
pop ebp
add esp, 0xc
ret
mov ah, byte [esi + 0xd]
mov al, byte [esi + 4]
mov byte [esp + 0xc], ah
mov ah, byte [esi + 0xe]
mov byte [esp + 0xd], ah
mov ah, byte [esi + 0xf]
mov ch, byte [esi + 9]
mov cl, byte [esi + 7]
mov dh, byte [esi + 0xb]
mov dl, byte [esi + 8]
mov byte [esp + 0xe], ah
mov ah, byte [esi + 0x10]
mov byte [esp + 0xf], ah
mov ah, byte [esi + 0x11]
mov byte [esp + 0x10], ah
mov ah, byte [esi + 0x12]
mov byte [esp + 0x11], ah
mov ah, byte [esi + 0x13]
mov byte [esp + 0x12], ah
mov ah, byte [esi + 0x14]
mov byte [esp + 0x13], ah
mov ah, byte [esi + 0x15]
mov byte [esp + 0x14], ah
mov ah, byte [esi + 0x16]
mov byte [esp + 0x20], al
mov al, byte [esi + 5]
mov byte [esp + 0x15], ah
mov ah, byte [esi + 0x17]
mov byte [esp + 0x24], al
mov al, byte [esi + 6]
mov byte [esp + 0x17], ch
mov byte [esp + 0x16], ah
mov ah, byte [esp + 0x20]
push ebx
mov bl, byte [esi + 0xa]
mov bh, byte [esi + 0xc]
mov esi, dword [esp + 0x20]
mov dword [esi], ebp
mov byte [esi + 4], ah
mov ah, byte [esp + 0x28]
mov byte [esi + 5], ah
mov byte [esi + 6], al
mov eax, 0x100
mov byte [esi + 7], cl
mov byte [esi + 8], dl
mov byte [esi + 9], ch
movzx ecx, bl
imul ecx, eax
movzx eax, dh
add cx, ax
movzx eax, byte [esp + 0x10]
mov word [esi + 0xa], cx
movzx ecx, bh
shl ecx, 8
add ecx, eax
movzx eax, byte [esp + 0x11]
shl ecx, 8
add ecx, eax
movzx eax, byte [esp + 0x12]
shl ecx, 8
add ecx, eax
movzx eax, byte [esp + 0x14]
mov dword [esi + 0xc], ecx
movzx ecx, byte [esp + 0x13]
shl ecx, 8
add ecx, eax
movzx eax, byte [esp + 0x15]
shl ecx, 8
add ecx, eax
movzx eax, byte [esp + 0x16]
shl ecx, 8
add ecx, eax
movzx eax, byte [esp + 0x18]
mov dword [esi + 0x10], ecx
movzx ecx, byte [esp + 0x17]
shl ecx, 8
add ecx, eax
movzx eax, byte [esp + 0x19]
shl ecx, 8
add ecx, eax
shl ecx, 8
movzx eax, byte [esp + 0x1a]
add ecx, eax
movzx eax, byte [esp + 0x1b]
cmp byte [esp + 0x24], 0
mov dword [esi + 0x14], ecx
mov dword [esi + 0xc01c], eax
pop ebx
jbe 0x100527c0
pop edi
pop esi
mov eax, 0xffefffff
pop ebp
add esp, 0xc
ret
mov al, byte [esp + 0x24]
sub al, 8
cmp al, 0x18
ja 0x100527f3
lea eax, [esi + 0x1c]
test eax, eax
je 0x100527e5
lea eax, [esi + 0x401c]
test eax, eax
je 0x100527e5
lea eax, [esi + 0x801c]
test eax, eax
jne 0x10052804
mov edi, 0xffffff94
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0xc
ret
pop edi
pop esi
mov eax, 0xfff00000
pop ebp
add esp, 0xc
ret
mov edi, 0xffeffffe
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0xc
ret