Function at 0x42e960
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov byte [ebp - 0x19], 0
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x42e992
mov eax, dword [ebp - 0x28]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
dec eax
test eax, eax
jl 0x42eb58
inc eax
mov dword [ebp - 0x20], eax
xor esi, esi
mov edi, esi
add edi, edi
add edi, edi
add edi, edi
mov eax, dword [ebx + 0x14]
movzx eax, word [eax + edi*8]
mov edx, dword [ebp - 8]
cmp ax, word [edx]
jne 0x42eb4e
mov eax, dword [ebx + 0x14]
mov edx, dword [eax + edi*8 + 0x24]
mov eax, dword [eax + edi*8 + 0x20]
push edx
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax + 6]
mov eax, dword [eax + 2]
cmp edx, dword [esp + 4]
jne 0x42e9de
cmp eax, dword [esp]
pop edx
pop eax
jae 0x42eb4e
mov eax, dword [ebx + 0x14]
cmp byte [eax + edi*8 + 0x3c], 0
je 0x42ea01
mov eax, dword [ebp - 8]
mov edx, dword [eax + 2]
mov dword [ebp - 0x18], edx
mov edx, dword [eax + 6]
mov dword [ebp - 0x14], edx
jmp 0x42ea30
mov eax, dword [ebx + 0x14]
mov edx, dword [eax + edi*8 + 0xc]
mov eax, dword [eax + edi*8 + 8]
push edx
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax + 6]
mov eax, dword [eax + 2]
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, ebx
call fcn.0042e5a0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0
jne 0x42ea40
cmp dword [ebp - 0x18], 0
je 0x42eb4e
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x42ea52
sub eax, 4
mov eax, dword [eax]
cmp eax, dword [ebx + 0x28]
jne 0x42ea9d
cmp dword [ebx + 0x28], 0x200
jge 0x42ea81
mov eax, dword [ebx + 0x28]
add eax, 0x200
push eax
lea eax, [ebx + 0x18]
mov ecx, 1
mov edx, dword [0x42d5f8]
call fcn.00408c7c
add esp, 4
jmp 0x42ea9d
mov eax, dword [ebx + 0x28]
add eax, eax
push eax
lea eax, [ebx + 0x18]
mov ecx, 1
mov edx, dword [0x42d5f8]
call fcn.00408c7c
add esp, 4
mov eax, dword [ebx + 0x14]
movzx eax, word [eax + edi*8]
mov edx, dword [ebx + 0x28]
lea edx, [edx + edx*2]
mov ecx, dword [ebx + 0x18]
mov word [ecx + edx*8], ax
mov eax, dword [ebx + 0x28]
lea eax, [eax + eax*2]
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebp - 0x18]
mov dword [edx + eax*8 + 8], ecx
mov ecx, dword [ebp - 0x14]
mov dword [edx + eax*8 + 0xc], ecx
mov eax, dword [ebx + 0x28]
lea eax, [eax + eax*2]
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebp - 4]
mov dword [edx + eax*8 + 0x10], ecx
inc dword [ebx + 0x28]
mov byte [ebp - 0x19], 1
cmp dword [ebx + 0x30], 0
je 0x42eb58
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x42eaf7
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
inc eax
push eax
lea eax, [ebx + 0x24]
mov ecx, 1
mov edx, dword [0x42d668]
call fcn.00408c7c
add esp, 4
mov edx, dword [ebx + 0x14]
movzx edx, word [edx + edi*8]
push edx
mov eax, dword [ebp - 0xc]
add eax, eax
add eax, eax
mov edx, dword [ebx + 0x24]
pop ecx
mov word [edx + eax*8], cx
mov edx, dword [ebx + 0x24]
mov ecx, dword [ebp - 0x18]
mov dword [edx + eax*8 + 8], ecx
mov ecx, dword [ebp - 0x14]
mov dword [edx + eax*8 + 0xc], ecx
mov edx, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x30]
mov dword [edx + eax*8 + 0x14], ecx
xor eax, eax
mov dword [ebx + 0x30], eax
jmp 0x42eb58
inc esi
dec dword [ebp - 0x20]
jne 0x42e9a4
cmp byte [ebp - 0x19], 0
jne 0x42eb61
inc dword [ebx + 0x2c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret