Function at 0x653988
Capabilities:
Enumerate pe sections

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0x10]
lea eax, [esp + 7]
push ebp
push esi
push edi
mov edi, dword [esp + 0x20]
push 1
push eax
push edi
mov byte [esp + 0x1f], 0x50
call ebx
xor ebp, ebp
mov byte [esp + 0x13], 0x4b
inc ebp
lea eax, [esp + 0x13]
push ebp
push eax
push edi
call ebx
push ebp
lea eax, [esp + 0x24]
mov byte [esp + 0x24], 1
push eax
push edi
call ebx
push ebp
lea eax, [esp + 0x24]
mov byte [esp + 0x24], 2
push eax
push edi
call ebx
mov esi, dword [esp + 0x18]
push ebp
mov al, byte [esi]
mov byte [esp + 0x24], al
lea eax, [esp + 0x24]
push eax
push edi
call ebx
mov al, byte [esi + 1]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 2]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 3]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 4]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 5]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 6]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 7]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 8]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 8]
shr eax, 8
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xa]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xb]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xc]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0xc]
shr eax, 8
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xe]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xf]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x10]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x10]
shr eax, 8
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x12]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x13]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x14]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x14]
shr eax, 8
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x16]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x17]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x18]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x18]
shr eax, 8
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x20]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x20]
shr eax, 8
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x24]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x24]
shr eax, 8
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x28]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x29]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x2a]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x2b]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x30]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x30]
shr eax, 8
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x32]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x33]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x34]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x34]
shr eax, 8
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x36]
mov byte [esp + 0x20], al
push ebp
lea eax, [esp + 0x24]
push eax
push edi
call ebx
mov al, byte [esi + 0x37]
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push ebp
push eax
push edi
call ebx
push dword [esi + 0x18]
lea eax, [esi + 0x148]
push eax
push edi
call ebx
cmp eax, dword [esi + 0x18]
jne 0x653cd3
cmp dword [esi + 0x20], 0
je 0x653cb8
push dword [esi + 0x20]
push dword [esi + 0x140]
push edi
call ebx
cmp eax, dword [esi + 0x20]
jne 0x653cd3
cmp dword [esi + 0x24], 0
je 0x653ccf
push dword [esi + 0x24]
push dword [esi + 0x144]
push edi
call ebx
cmp eax, dword [esi + 0x24]
jne 0x653cd3
xor eax, eax
jmp 0x653cd6
push 0xa
pop eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret 0xc