Function at 0x42e3c3
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
mov esi, ecx
xor ebp, ebp
inc ebp
mov dword [esp + 0x24], esi
push edi
mov ecx, dword [esi + 8]
cmp byte [ecx + 1], 0x1f
jae 0x42e442
mov eax, dword [esi]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x42e442
cmp word [ebx], bp
jne 0x42e3f8
mov al, byte [ebx + 3]
cmp al, 0x20
jae 0x42e442
inc al
mov byte [ebx + 3], al
jmp 0x42e442
mov edi, dword [ebx + 4]
mov al, byte [ecx]
cmp byte [edi], al
je 0x42e431
mov ebp, edi
add edi, 6
cmp byte [edi], al
jne 0x42e401
mov al, byte [edi + 1]
cmp al, byte [edi - 5]
jb 0x42e42e
mov eax, dword [edi - 6]
mov ecx, dword [edi]
mov dx, word [edi + 4]
mov dword [edi], eax
mov ax, word [edi - 2]
mov dword [edi - 6], ecx
mov word [edi + 4], ax
mov word [edi - 2], dx
mov edi, ebp
xor ebp, ebp
inc ebp
mov al, byte [edi + 1]
cmp al, 0x73
jae 0x42e442
add al, 2
mov byte [edi + 1], al
add word [ebx + 2], 2
cmp dword [esi + 0xc], 0
jne 0x42e47e
mov ecx, esi
call fcn.0042e6f8
mov ecx, eax
mov dword [esi], ecx
mov dword [esi + 4], ecx
test ecx, ecx
jne 0x42e468
pop edi
mov ecx, esi
pop esi
pop ebp
pop ebx
add esp, 0x24
jmp fcn.0042e864
mov eax, dword [esi + 8]
mov word [eax + 2], cx
shr ecx, 0x10
mov word [eax + 4], cx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0x40]
mov al, byte [eax]
mov byte [ebx], al
inc ebx
mov dword [esp + 0x20], ebx
mov dword [esi + 0x40], ebx
cmp ebx, dword [esi + 0x44]
jae 0x42e45a
mov ecx, dword [esi + 8]
movzx edx, word [ecx + 4]
movzx eax, word [ecx + 2]
shl edx, 0x10
or edx, eax
je 0x42e4d3
cmp edx, ebx
ja 0x42e4b8
mov ecx, esi
call fcn.0042e6f8
mov edx, eax
test edx, edx
je 0x42e45a
sub dword [esi + 0xc], 1
jne 0x42e4e2
mov eax, dword [esi + 4]
xor ecx, ecx
cmp eax, dword [esi]
mov ebx, edx
mov dword [esp + 0x20], ebx
setne cl
sub dword [esi + 0x40], ecx
jmp 0x42e4e2
mov eax, ebx
mov word [ecx + 2], bx
shr eax, 0x10
mov word [ecx + 4], ax
mov edx, dword [esi]
mov eax, dword [esi]
mov edi, dword [esi + 4]
mov dword [esp + 0x30], eax
mov dword [esi], edx
mov dword [esi + 4], edx
cmp edi, eax
je 0x42e476
movzx edx, word [eax]
movzx ecx, word [eax + 2]
mov eax, dword [esi + 8]
mov dword [esp + 0x1c], edx
movzx eax, byte [eax + 1]
sub ecx, eax
sub ecx, edx
inc ecx
mov dword [esp + 0x2c], ecx
movzx ecx, word [edi]
mov dword [esp + 0x14], ecx
cmp ecx, ebp
je 0x42e5e2
test cl, 1
jne 0x42e5ac
mov ebp, ecx
shr ebp, 1
movzx edx, byte [esi + ebp + 0x8f]
movzx eax, byte [esi + ebp + 0x90]
mov dword [esp + 0x18], edx
cmp edx, eax
je 0x42e5ac
inc edx
mov ecx, esi
call fcn.0042e99c
mov edx, eax
test edx, edx
je 0x42e45a
mov eax, dword [edi + 4]
mov ebx, edx
sub ebx, eax
mov dword [esp + 0x10], eax
mov esi, edx
mov dword [esp + 0x24], ebx
lea ecx, [eax + 8]
mov eax, dword [ecx - 8]
mov dword [esi], eax
lea esi, [esi + 0xc]
mov eax, dword [ecx - 4]
mov dword [esi - 8], eax
mov eax, dword [ecx]
mov dword [ebx + ecx], eax
lea ecx, [ecx + 0xc]
sub ebp, 1
jne 0x42e569
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
mov eax, dword [esi + ecx*4 + 0x110]
mov dword [ebp], eax
mov dword [esi + ecx*4 + 0x110], ebp
mov ecx, dword [esp + 0x14]
mov dword [edi + 4], edx
movzx edx, word [edi + 2]
mov eax, ecx
mov ebp, dword [esp + 0x14]
shl eax, 3
cmp eax, edx
mov eax, ebp
sbb ecx, ecx
shl eax, 2
inc ecx
cmp dword [esp + 0x1c], eax
sbb eax, eax
inc eax
and ecx, eax
lea eax, [ebp*2]
cmp eax, dword [esp + 0x1c]
sbb eax, eax
neg eax
add eax, edx
lea edx, [eax + ecx*2]
jmp 0x42e63b
xor edx, edx
mov ecx, esi
call fcn.0042e99c
mov ebp, eax
test ebp, ebp
je 0x42e45a
movzx edx, byte [edi + 3]
mov cl, byte [edi + 2]
mov byte [ebp], cl
mov ax, word [edi + 4]
mov word [ebp + 2], ax
mov ax, word [edi + 6]
mov word [ebp + 4], ax
mov dword [edi + 4], ebp
cmp edx, 0x1e
jae 0x42e61b
add edx, edx
jmp 0x42e61e
push 0x78
pop edx
push 3
mov byte [ebp + 1], dl
mov ebp, dword [esp + 0x18]
pop eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
sbb edx, edx
neg edx
add edx, dword [esi + 0x10]
add edx, dword [esp + 0x18]
mov ecx, dword [esi + 8]
imul eax, ebp, 6
add eax, dword [edi + 4]
mov dword [esp + 0x24], eax
movzx eax, byte [ecx + 1]
mov dword [esp + 0x10], eax
lea eax, [edx + 6]
mov ebp, dword [esp + 0x10]
imul ebp, eax
mov eax, dword [esp + 0x2c]
add eax, edx
mov dword [esp + 0x18], eax
mov al, byte [ecx]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x10], ebp
shl dword [esp + 0x10], 1
mov ebp, dword [esp + 0x10]
mov byte [ecx], al
mov eax, dword [esp + 0x14]
inc eax
mov word [edi], ax
mov eax, ebx
shr eax, 0x10
mov word [ecx + 4], ax
mov word [ecx + 2], bx
mov ecx, dword [esp + 0x18]
imul eax, ecx, 6
cmp ebp, eax
jae 0x42e6b4
mov eax, ecx
shl eax, 2
cmp ebp, eax
push 3
sbb ecx, ecx
inc ecx
cmp dword [esp + 0x1c], ebp
sbb eax, eax
neg eax
inc eax
add eax, ecx
pop ecx
add edx, ecx
jmp 0x42e6d8
imul eax, ecx, 0xf
cmp ebp, eax
sbb ecx, ecx
imul eax, dword [esp + 0x18], 0xc
inc ecx
cmp ebp, eax
sbb eax, eax
inc eax
add ecx, eax
imul eax, dword [esp + 0x18], 9
cmp ebp, eax
sbb eax, eax
add eax, 5
add eax, ecx
add edx, eax
mov ecx, dword [esp + 0x24]
mov word [edi + 2], dx
mov byte [ecx + 1], al
mov edi, dword [edi + 8]
cmp edi, dword [esp + 0x30]
je 0x42e476
xor ebp, ebp
inc ebp
jmp 0x42e50f