Function at 0x100ac430
Capabilities:
Enumerate pe sections

Disassembly:
mov edx, dword [esp + 8]
sub esp, 0x14
push ebx
mov ebx, dword [esp + 0x24]
cmp edx, ebx
jl 0x100ac738
push ebp
mov ebp, dword [esp + 0x30]
push esi
push edi
cmp ebx, 3
jne 0x100ac55a
mov esi, dword [esp + 0x28]
sub edx, 3
lea edi, [esi + 4]
movzx eax, word [esi]
shr eax, 2
movzx eax, word [ebp + eax*2]
mov ecx, eax
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x34]
mov word [ecx], ax
movzx eax, word [esi + 2]
shr eax, 2
movzx eax, word [ebp + eax*2]
mov ebx, eax
mov word [ecx + 2], ax
movzx eax, word [edi]
shr eax, 2
mov dword [esp + 0x18], ebx
lea ebx, [ecx + 4]
movzx eax, word [ebp + eax*2]
mov word [ebx], ax
mov ebp, eax
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x38]
test edx, edx
jle 0x100ac735
sub ecx, esi
mov eax, 0xaaaaaaab
mov dword [esp + 0x1c], ecx
lea ecx, [edx - 1]
mul ecx
mov eax, edx
mov edx, dword [esp + 0x14]
shr eax, 1
inc eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
movzx ecx, ax
mov eax, dword [esp + 0x18]
movzx eax, ax
mov dword [esp + 0x30], eax
movzx eax, dx
mov dword [esp + 0x10], eax
movzx eax, word [edi + 2]
lea edi, [edi + 6]
shr eax, 2
lea ebx, [ebx + 6]
movzx esi, word [ebp + eax*2]
mov eax, esi
mov dword [esp + 0x18], esi
sub eax, ecx
mov ecx, dword [esp + 0x1c]
and eax, 0x7ff
mov word [ecx + edi - 4], ax
movzx eax, word [edi - 2]
shr eax, 2
movzx edx, word [ebp + eax*2]
mov eax, edx
sub eax, dword [esp + 0x30]
and eax, 0x7ff
mov dword [esp + 0x30], edx
mov word [ebx - 2], ax
movzx eax, word [edi]
shr eax, 2
movzx ecx, word [ebp + eax*2]
mov eax, ecx
sub eax, dword [esp + 0x10]
and eax, 0x7ff
mov dword [esp + 0x10], ecx
sub dword [esp + 0x2c], 1
mov ecx, esi
mov word [ebx], ax
jne 0x100ac4e5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov esi, dword [esp + 0x34]
cmp ebx, 4
jne 0x100ac6b8
mov edi, dword [esp + 0x28]
lea ebx, [edi + 4]
movzx eax, word [edi]
shr eax, 2
movzx eax, word [ebp + eax*2]
mov ecx, eax
mov word [esi], ax
movzx eax, word [edi + 2]
shr eax, 2
mov dword [esp + 0x30], ecx
movzx eax, word [ebp + eax*2]
mov ecx, eax
mov word [esi + 2], ax
movzx eax, word [ebx]
shr eax, 2
mov dword [esp + 0x1c], ecx
lea ecx, [esi + 4]
movzx eax, word [ebp + eax*2]
mov edx, eax
mov word [ecx], ax
movzx eax, word [edi + 6]
shr eax, 2
mov dword [esp + 0x18], edx
movzx eax, word [ebp + eax*2]
mov edx, eax
mov word [esi + 6], ax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x2c]
sub edx, 4
test edx, edx
jle 0x100ac735
lea eax, [edx - 1]
sub esi, edi
mov edi, dword [esp + 0x18]
shr eax, 2
inc eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
movzx edx, ax
mov eax, dword [esp + 0x1c]
movzx eax, ax
mov dword [esp + 0x30], eax
movzx eax, di
mov edi, dword [esp + 0x14]
mov dword [esp + 0x10], eax
movzx eax, di
mov dword [esp + 0x14], eax
nop dword [eax]
movzx eax, word [ebx + 4]
lea ebx, [ebx + 8]
shr eax, 2
add ecx, 8
mov dword [esp + 0x18], ecx
movzx edi, word [ebp + eax*2]
mov eax, edi
mov dword [esp + 0x1c], edi
sub eax, edx
and eax, 0x7ff
mov word [esi + ebx - 4], ax
movzx eax, word [ebx - 2]
shr eax, 2
movzx esi, word [ebp + eax*2]
mov eax, esi
sub eax, dword [esp + 0x30]
and eax, 0x7ff
mov dword [esp + 0x30], esi
mov word [ecx - 2], ax
movzx eax, word [ebx]
shr eax, 2
mov esi, dword [esp + 0x20]
movzx edx, word [ebp + eax*2]
mov eax, edx
sub eax, dword [esp + 0x10]
and eax, 0x7ff
mov dword [esp + 0x10], edx
mov word [ecx], ax
mov edx, edi
movzx eax, word [ebx + 2]
shr eax, 2
movzx ecx, word [ebp + eax*2]
mov ebp, dword [esp + 0x18]
mov eax, ecx
sub eax, dword [esp + 0x14]
and eax, 0x7ff
mov dword [esp + 0x14], ecx
sub dword [esp + 0x2c], 1
mov ecx, dword [esp + 0x18]
mov word [ebp + 2], ax
mov ebp, dword [esp + 0x38]
jne 0x100ac610
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov eax, dword [esp + 0x28]
mov edi, ebx
nop
movzx ecx, word [eax]
dec edi
shr ecx, 2
add eax, 2
mov cx, word [ebp + ecx*2]
mov word [esi], cx
add esi, 2
test edi, edi
jg 0x100ac6c0
sub edx, ebx
mov dword [esp + 0x2c], edx
test edx, edx
jle 0x100ac735
lea ecx, [ebx + ebx]
mov edi, eax
sub edi, ecx
nop word [eax + eax]
movzx ecx, word [eax]
lea edi, [edi + 2]
movzx edx, word [edi - 2]
dec ebx
shr ecx, 2
add eax, 2
shr edx, 2
mov cx, word [ebp + ecx*2]
sub cx, word [ebp + edx*2]
mov edx, 0x7ff
and cx, dx
mov word [esi], cx
add esi, 2
test ebx, ebx
jg 0x100ac6f0
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
sub edx, ebx
mov dword [esp + 0x2c], edx
lea ecx, [ebx + ebx]
test edx, edx
jg 0x100ac6e6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret