Function at 0x16ac9b0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x20
mov edx, dword [esp + 0x24]
push ebp
mov ebp, dword [eax]
mov eax, dword [esi + 0xc]
push edi
mov edi, ecx
lea ecx, [esp + 8]
push ecx
mov ecx, dword [esi + 0x14]
push edx
lea eax, [eax + eax*4]
lea edx, [ecx + eax*4]
push edx
push ebp
mov dword [esp + 0x28], 0
call fcn.016b2a30
add esp, 0x10
test eax, eax
jne 0x16acba6
mov ax, word [esp + 8]
cmp ax, 8
je 0x16ac9fe
movzx eax, ax
test eax, 0xff00
je 0x16aca06
mov dword [esp + 0x18], 1
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
lea ecx, [esp + 0xc]
push ecx
movzx ecx, word [eax + edx*4]
push ecx
lea edx, [edi + 4]
push edx
call fcn.016b42d0
add esp, 0xc
test eax, eax
jne 0x16acba6
mov ax, word [esp + 0xc]
cmp ax, word [edi + 0x12]
jb 0x16aca4b
push 0x1570
call fcn.016b2e20
add esp, 4
pop edi
pop ebp
add esp, 0x20
ret
mov ecx, dword [edi]
movzx eax, ax
mov edi, dword [ecx + eax*8]
lea eax, [ecx + eax*8]
movzx eax, word [eax + 4]
push ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], eax
test ax, ax
je 0x16acba0
lea esp, [esp]
movzx ecx, word [edi + 6]
mov edx, ecx
add edx, dword [esi + 0xc]
cmp edx, dword [esi + 4]
ja 0x16acb83
movzx edx, word [esp + 0x1c]
mov eax, dword [edi]
mov dword [esp + 0x28], eax
mov ax, word [esp + 0x34]
mov dword [esp + 0x24], edx
mov edx, 0xffff
cmp ax, dx
je 0x16acaa9
cmp ax, cx
jb 0x16acba0
mov cx, word [esi + 0xc]
mov eax, 1
inc cx
mov dword [esp + 0x14], eax
movzx ebx, cx
jmp 0x16acac0
cmp ax, word [edi + 6]
jae 0x16acbac
mov eax, dword [esp + 0x30]
movzx edi, bx
lea edx, [esp + 0xc]
push edx
mov edx, dword [esi + 0x14]
push eax
lea ecx, [edi + edi*4]
lea eax, [edx + ecx*4]
push eax
push ebp
call fcn.016b2a30
add esp, 0x10
test eax, eax
je 0x16acb34
cmp eax, 0xffff
jne 0x16acba5
mov edx, dword [esp + 0x18]
movzx ecx, word [esp + 0x14]
movzx eax, word [edx + 6]
sub eax, ecx
add eax, edi
cmp eax, dword [esi + 4]
je 0x16acb7f
mov edx, dword [esp + 0x30]
inc ebx
movzx edi, bx
lea ecx, [esp + 0xc]
push ecx
mov ecx, dword [esi + 0x14]
push edx
lea eax, [edi + edi*4]
lea edx, [ecx + eax*4]
push edx
push ebp
call fcn.016b2a30
add esp, 0x10
test eax, eax
jne 0x16acaee
mov ax, word [esp + 0xc]
cmp ax, 8
je 0x16acb51
movzx eax, ax
test eax, 0xff00
jne 0x16acb51
mov dword [esp + 0x24], 0
movzx ecx, word [esp + 0x14]
mov edx, dword [esp + 0x28]
movzx ecx, word [edx + ecx*2 - 2]
mov edi, dword [esp + 0x18]
movzx eax, bx
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
cmp dword [eax + edx*4], ecx
jne 0x16acb83
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
inc ebx
jmp 0x16acac0
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
add eax, 0xffff
add edi, 8
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edi
test ax, ax
jne 0x16aca70
mov eax, 0xffff
pop ebx
pop edi
pop ebp
add esp, 0x20
ret
test ebp, ebp
je 0x16acbe5
cmp dword [ebp], 0
je 0x16acbe5
movzx edx, word [edi + 4]
xor ecx, ecx
cmp word [esp + 0x24], cx
setne cl
lea ecx, [ecx*4 + 4]
push ecx
push edx
push ebp
call fcn.016b28c0
add esp, 0xc
test eax, eax
je 0x16acbe1
cmp eax, 0xffff
jne 0x16acba5
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0xc]
movzx edx, ax
movzx ebx, bx
add edx, ecx
cmp ebx, edx
jne 0x16acc5d
mov edx, dword [esi + 0x14]
lea ecx, [ecx + ecx*4]
cmp word [edx + ecx*4 + 0xe], 0
je 0x16acc2b
push 0xffff
push 0xffff
add edi, 4
push edi
push 1
push eax
push esi
call fcn.016b1c30
add esp, 0x18
test eax, eax
je 0x16acd0d
pop ebx
pop edi
pop ebp
add esp, 0x20
ret
push esi
call fcn.016b1e00
movzx eax, ax
push eax
mov eax, dword [esp + 0x1c]
push 0xffff
add edi, 4
push edi
push 1
push eax
push esi
call fcn.016b1c30
add esp, 0x1c
test eax, eax
je 0x16acd0d
pop ebx
pop edi
pop ebp
add esp, 0x20
ret
push esi
call fcn.016b1e00
movzx ecx, word [edi + 4]
movzx ebx, ax
push ebx
push 0xffff
push ecx
push esi
call fcn.016b1d10
add esp, 0x14
test eax, eax
jne 0x16acba5
mov edx, dword [esp + 0x18]
movzx eax, word [edx + 6]
dec eax
xor edi, edi
test eax, eax
jle 0x16acd0d
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0xc]
push ecx
mov ecx, dword [esi + 0x14]
push edx
lea eax, [eax + eax*4]
lea edx, [ecx + eax*4]
push edx
push ebp
call fcn.016b2a30
add esp, 0x10
test eax, eax
je 0x16accf9
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x14]
push ebx
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4]
push edi
push edx
push esi
call fcn.016b1d10
add esp, 0x10
test eax, eax
jne 0x16acba5
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0xc]
push eax
mov eax, dword [esi + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x14]
push ecx
lea ecx, [eax + edx*4]
push ecx
push ebp
call fcn.016b2a30
add esp, 0x10
test eax, eax
jne 0x16accb5
inc dword [esi + 0xc]
mov edx, dword [esp + 0x18]
movzx eax, word [edx + 6]
inc edi
movzx ecx, di
dec eax
cmp ecx, eax
jl 0x16acc91
pop ebx
pop edi
xor eax, eax
pop ebp
add esp, 0x20
ret