Function at 0x42ea50
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x3c
push ebx
push ebp
mov ebp, dword [esp + 0x48]
mov eax, dword [ebp + 0x5c]
cmp eax, dword [ebp + 0x4c]
push esi
push edi
jl 0x42ea72
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 8
xor edi, edi
cmp dword [ebp + 0x50], edi
je 0x42ea63
inc dword [ebp + 0x60]
mov eax, dword [ebp + 0x60]
xor edx, edx
div dword [ebp + 0x58]
mov esi, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ebp + 0x40]
add esi, 6
mov dword [esp + 0x38], eax
imul edx, dword [ebp + 0x54]
cmp eax, dword [ebp + 0x48]
lea edx, [ecx + edx*4]
mov dword [esp + 0x34], edx
jge 0x42ec88
jmp 0x42eab2
xor edi, edi
movsx ebp, word [esi + 2]
movsx ecx, word [esi]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x30], ebp
sub ebp, ecx
xor ebx, ebx
inc ebp
add esi, 4
xor edx, edx
cmp ebp, 2
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], edi
lea eax, [eax + ecx*4]
jl 0x42eb85
mov ebx, dword [esp + 0x30]
sub ebx, ecx
dec ebx
shr ebx, 1
inc ebx
lea ecx, [ecx + ebx*2]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], ecx
movsx ecx, word [esi]
movzx ebx, byte [eax + 3]
imul ebx, ecx
add edi, ebx
movzx ebx, byte [eax + 2]
imul ebx, ecx
add dword [esp + 0x18], ebx
movzx ebx, byte [eax + 1]
imul ebx, ecx
add dword [esp + 0x20], ebx
movzx ebx, byte [eax]
imul ebx, ecx
add dword [esp + 0x28], ebx
movsx ecx, word [esi + 2]
movzx ebx, byte [eax + 7]
imul ebx, ecx
add dword [esp + 0x10], ebx
movzx ebx, byte [eax + 6]
imul ebx, ecx
add dword [esp + 0x14], ebx
movzx ebx, byte [eax + 5]
imul ebx, ecx
add dword [esp + 0x1c], ebx
movzx ebx, byte [eax + 4]
imul ebx, ecx
add dword [esp + 0x24], ebx
add esi, 4
add eax, 8
sub dword [esp + 0x2c], 1
jne 0x42eb14
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x30]
ja 0x42ebae
movsx ecx, word [esi]
movzx edx, byte [eax + 3]
movzx ebx, byte [eax + 2]
imul edx, ecx
movzx ebp, byte [eax + 1]
imul ebx, ecx
movzx eax, byte [eax]
imul ebp, ecx
imul eax, ecx
add esi, 2
jmp 0x42ebb6
mov eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
add ecx, edi
mov edi, dword [esp + 0x18]
add edx, ecx
mov ecx, dword [esp + 0x14]
add ecx, edi
mov edi, dword [esp + 0x20]
lea ebx, [ebx + ecx + 0xff]
mov ecx, dword [esp + 0x1c]
add ecx, edi
mov edi, dword [esp + 0x24]
lea ecx, [ecx + ebp + 0xff]
mov ebp, dword [esp + 0x28]
add edi, ebp
lea eax, [eax + edi + 0xff]
cmp edx, 0x3fffff
jbe 0x42ec04
sar edx, 0x1f
not edx
and edx, 0x3fffff
cmp ebx, 0x3fffff
jbe 0x42ec17
sar ebx, 0x1f
not ebx
and ebx, 0x3fffff
shl edx, 0xa
cmp ecx, 0x3fffff
jbe 0x42ec2d
sar ecx, 0x1f
not ecx
and ecx, 0x3fffff
add ebx, ebx
add ebx, ebx
cmp eax, 0x3fffff
jbe 0x42ec42
sar eax, 0x1f
not eax
and eax, 0x3fffff
mov ebp, dword [esp + 0x50]
sar eax, 8
and eax, 0x3fc0
and ecx, 0x3fc000
or eax, ecx
mov ecx, dword [esp + 0x34]
sar eax, 6
and edx, 0xff000000
or eax, edx
and ebx, 0xff0000
or eax, ebx
mov dword [ecx], eax
mov eax, dword [esp + 0x38]
inc eax
add ecx, 4
cmp eax, dword [ebp + 0x48]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
jl 0x42eab0
mov edx, dword [ebp + 0x64]
movsx eax, word [edx + 2]
cmp dword [ebp + 0x60], eax
jl 0x42ecbc
mov ecx, dword [ebp + 0x5c]
cmp ecx, dword [ebp + 0x4c]
jge 0x42ecba
lea esp, [esp]
mov edx, dword [ebp + 0x64]
movsx eax, word [edx + 2]
cmp dword [ebp + 0x60], eax
jl 0x42ecba
push ebp
call fcn.0042e3e0
mov ecx, dword [ebp + 0x5c]
cmp ecx, dword [ebp + 0x4c]
jl 0x42eca0
emms
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3c
ret 8