Function at 0x6c2ae020
Capabilities:
Enumerate pe sections

Disassembly:
push esi
push ebx
sub esp, 0x24
mov ebx, dword [esp + 0x30]
add ebx, ecx
cmp ecx, 0xd
jbe 0x6c2ae05c
cmp byte [edx], 0x4a
je 0x6c2ae0c4
mov edx, dword [eax]
mov dword [edx + 0x14], 0x4f
mov dword [edx + 0x18], ebx
mov edx, dword [eax]
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [edx + 4]
add esp, 0x24
pop ebx
pop esi
ret
cmp ecx, 5
jbe 0x6c2ae039
cmp byte [edx], 0x4a
jne 0x6c2ae039
cmp byte [edx + 1], 0x46
jne 0x6c2ae039
cmp byte [edx + 2], 0x58
jne 0x6c2ae039
cmp byte [edx + 3], 0x58
jne 0x6c2ae039
cmp byte [edx + 4], 0
jne 0x6c2ae039
mov cl, byte [edx + 5]
cmp cl, 0x11
je 0x6c2ae203
cmp cl, 0x13
je 0x6c2ae21f
cmp cl, 0x10
je 0x6c2ae211
mov ecx, dword [eax]
mov dword [ecx + 0x14], 0x5b
movzx edx, byte [edx + 5]
mov dword [ecx + 0x18], edx
mov edx, dword [eax]
mov dword [edx + 0x1c], ebx
mov edx, dword [eax]
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [edx + 4]
jmp 0x6c2ae055
cmp byte [edx + 1], 0x46
jne 0x6c2ae039
cmp byte [edx + 2], 0x49
jne 0x6c2ae06c
cmp byte [edx + 3], 0x46
jne 0x6c2ae06c
cmp byte [edx + 4], 0
jne 0x6c2ae06c
mov byte [eax + 0x100], 1
mov cl, byte [edx + 5]
mov byte [esp + 0x1f], cl
mov byte [eax + 0x101], cl
mov cl, byte [edx + 6]
mov byte [eax + 0x102], cl
mov cl, byte [edx + 7]
mov byte [eax + 0x103], cl
movzx ecx, byte [edx + 8]
shl ecx, 8
movzx esi, byte [edx + 9]
add ecx, esi
mov word [eax + 0x104], cx
movzx ecx, byte [edx + 0xa]
shl ecx, 8
movzx esi, byte [edx + 0xb]
add ecx, esi
mov word [eax + 0x106], cx
cmp byte [esp + 0x1f], 1
je 0x6c2ae174
mov ecx, dword [eax]
mov dword [ecx + 0x14], 0x7a
movzx esi, byte [eax + 0x101]
mov dword [ecx + 0x18], esi
mov ecx, dword [eax]
movzx esi, byte [eax + 0x102]
mov dword [ecx + 0x1c], esi
mov ecx, dword [eax]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
call dword [ecx + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
movzx esi, byte [eax + 0x101]
mov dword [ecx + 0x18], esi
movzx esi, byte [eax + 0x102]
mov dword [ecx + 0x1c], esi
movzx esi, word [eax + 0x104]
mov dword [ecx + 0x20], esi
movzx esi, word [eax + 0x106]
mov dword [ecx + 0x24], esi
movzx esi, byte [eax + 0x103]
mov dword [ecx + 0x28], esi
mov dword [ecx + 0x14], 0x59
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
call dword [ecx + 4]
mov edx, dword [esp + 0x14]
mov cl, byte [edx + 0xd]
or cl, byte [edx + 0xc]
mov eax, dword [esp + 0x18]
jne 0x6c2ae22d
xor ecx, ecx
mov byte [esp + 0x1f], 0
sub ebx, 0xe
movzx edx, byte [esp + 0x1f]
movzx ecx, cl
imul edx, ecx
lea edx, [edx + edx*2]
cmp edx, ebx
je 0x6c2ae055
mov edx, dword [eax]
mov dword [edx + 0x14], 0x5a
jmp 0x6c2ae042
mov edx, dword [eax]
mov dword [edx + 0x14], 0x6f
jmp 0x6c2ae042
mov edx, dword [eax]
mov dword [edx + 0x14], 0x6e
jmp 0x6c2ae042
mov edx, dword [eax]
mov dword [edx + 0x14], 0x70
jmp 0x6c2ae042
mov ecx, dword [eax]
mov dword [ecx + 0x14], 0x5c
movzx esi, byte [edx + 0xc]
mov dword [ecx + 0x18], esi
mov ecx, dword [eax]
movzx esi, byte [edx + 0xd]
mov dword [ecx + 0x1c], esi
mov ecx, dword [eax]
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
call dword [ecx + 4]
mov edx, dword [esp + 0x14]
mov cl, byte [edx + 0xc]
mov byte [esp + 0x1f], cl
mov cl, byte [edx + 0xd]
mov eax, dword [esp + 0x18]
jmp 0x6c2ae1dc