Function at 0xe030930
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xd8
push ebx
push esi
mov esi, dword [esp + 0xe4]
push edi
mov ax, word [esi + 0x3310]
push ebp
mov dword [esp + 0x1c], 0
mov word [esp + 0x18], 0
mov word [esp + 0x12], ax
test ax, ax
je 0xe030c0d
mov edi, dword [esp + 0xf0]
mov ecx, dword [esp + 0x18]
and ecx, 0xffff
mov eax, ecx
lea edx, [ecx + ecx*4]
lea ecx, [edx + edx*8]
sub ecx, eax
mov eax, dword [esi + 0x3314]
mov ebx, dword [ecx + eax + 0x14]
mov cx, word [ebx + 6]
add ebx, 0xc
mov word [esp + 0x1a], cx
dec word [esp + 0x1a]
test cx, cx
je 0xe030bf8
mov ax, word [esp + 0xf4]
cmp word [ebx + 8], ax
jne 0xe030bc8
mov word [esp + 0x30], ax
push 0x52
mov word [esp + 0x36], 0
lea ecx, [esp + 0x44]
mov eax, dword [esp + 0x34]
push ecx
push eax
push esi
call fcn.0e015db0
lea ecx, [esp + 0x50]
add esp, 0x10
push ecx
call fcn.0e03cf80
add esp, 4
inc al
mov byte [esp + 0x10], al
push 1
lea eax, [esp + 0x14]
push eax
push edi
call fcn.0e03be00
xor eax, eax
lea ecx, [esp + 0x40]
mov al, byte [esp + 0x10]
push eax
push ecx
push edi
call fcn.0e03be00
mov cx, word [ebx + 0xa]
mov edx, dword [0xe04d330]
mov word [esp + 0x38], cx
mov dword [esp + 0x3a], edx
lea ecx, [esp + 0x38]
push ecx
push esi
call fcn.0e031aa0
mov word [esp + 0x1c], ax
add esp, 8
lea eax, [esp + 0x14]
push 2
push eax
push edi
call fcn.0e03be00
push 2
lea ecx, [ebx + 4]
push ecx
push edi
call fcn.0e03be00
push 2
lea ecx, [ebx + 0x10]
push ecx
push edi
xor bp, bp
call fcn.0e03be00
push 2
lea ecx, [ebx + 2]
push ecx
push edi
call fcn.0e03be00
cmp word [ebx + 2], bp
jbe 0xe030bc8
movzx eax, bp
mov ecx, eax
shl eax, 3
sub eax, ecx
lea ecx, [esp + 0x20]
lea eax, [ebx + eax*2]
mov edx, dword [eax + 0x24]
add eax, 0x24
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov ax, word [eax + 0xc]
mov word [ecx + 0xc], ax
cmp word [esp + 0x28], 0
je 0xe030bbc
mov ax, word [esp + 0x22]
and ax, 0xf
mov cx, word [esp + 0x24]
mov word [esp + 0x16], cx
cmp ax, 8
jne 0xe030acc
mov eax, dword [esp + 0x24]
lea ecx, [esi + 0x3308]
push eax
jmp 0xe030ae3
cmp ax, 7
je 0xe030ad8
cmp ax, 6
jne 0xe030afa
mov eax, dword [esp + 0x24]
lea ecx, [esi + 0x3304]
push eax
push ecx
push esi
call fcn.0e0303a0
mov dword [esp + 0x28], 1
mov word [esp + 0x22], ax
add esp, 0xc
test byte [esp + 0x23], 0x40
je 0xe030b14
mov eax, dword [esp + 0x2a]
push eax
push esi
call fcn.0e032f30
mov word [esp + 0x32], ax
add esp, 8
mov ax, word [esp + 0x28]
push 0x52
mov word [esp + 0x38], ax
lea ecx, [esp + 0x98]
mov word [esp + 0x3a], 0
mov eax, dword [esp + 0x38]
push ecx
push eax
push esi
call fcn.0e015db0
lea ecx, [esp + 0xa4]
add esp, 0x10
push ecx
call fcn.0e03cf80
add esp, 4
inc al
mov byte [esp + 0x11], al
push 1
lea eax, [esp + 0x15]
push eax
push edi
call fcn.0e03be00
xor eax, eax
lea ecx, [esp + 0x94]
mov al, byte [esp + 0x11]
push eax
push ecx
push edi
call fcn.0e03be00
lea ecx, [esp + 0x22]
push ecx
push esi
call fcn.0e031aa0
mov word [esp + 0x1c], ax
add esp, 8
lea eax, [esp + 0x14]
push 2
push eax
push edi
call fcn.0e03be00
lea ecx, [esp + 0x16]
push 2
push ecx
push edi
call fcn.0e03be00
lea ecx, [esp + 0x20]
push 2
push ecx
push edi
call fcn.0e03be00
lea ecx, [esp + 0x2a]
push 2
push ecx
push edi
call fcn.0e03be00
inc bp
cmp word [ebx + 2], bp
ja 0xe030a6d
xor eax, eax
mov ax, word [ebx + 2]
mov ecx, eax
shl eax, 3
sub eax, ecx
add eax, eax
mov cx, word [esp + 0x1a]
add eax, 0x26
dec word [esp + 0x1a]
add ebx, eax
mov eax, ebx
neg eax
and eax, 3
add ebx, eax
test cx, cx
jne 0xe0309a4
inc word [esp + 0x18]
mov ax, word [esp + 0x18]
cmp ax, word [esp + 0x12]
jb 0xe03096c
mov eax, dword [esp + 0x1c]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xd8
ret