Function at 0x10067c50
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [ecx + 0x2c]
push ebp
mov ebp, dword [ecx + 4]
push esi
push edi
mov edi, edx
mov dword [esp + 0x1c], ebp
lea esi, [ebx + ebp]
mov dword [esp + 0x18], ebx
mov ecx, esi
call fcn.10067570
movzx eax, ax
mov dword [esp + 0x10], eax
test ax, ax
jne 0x10067ca0
lea ecx, [esi + 2]
call fcn.10067570
movzx eax, ax
sub eax, 6
cmp edi, eax
jge 0x10067ebc
movzx eax, byte [esi + edi + 6]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
cmp eax, 6
jne 0x10067cef
lea ecx, [esi + 6]
call fcn.10067570
movzx eax, ax
mov dword [esp + 0x1c], eax
cmp edi, eax
jb 0x10067ebc
lea ecx, [esi + 8]
call fcn.10067570
mov ecx, dword [esp + 0x1c]
movzx eax, ax
add eax, ecx
cmp edi, eax
jae 0x10067ebc
sub edi, ecx
lea ecx, [ebx + 0xa]
lea ecx, [ecx + edi*2]
add ecx, ebp
call fcn.10067570
pop edi
pop esi
pop ebp
movzx eax, ax
pop ebx
add esp, 0x18
ret
cmp eax, 2
je 0x10067ebc
cmp eax, 4
jne 0x10067e59
lea ecx, [esi + 6]
call fcn.10067570
shr ax, 1
lea ecx, [esi + 8]
movzx eax, ax
mov dword [esp + 0x1c], eax
call fcn.10067570
shr ax, 1
lea ecx, [esi + 0xa]
movzx eax, ax
mov dword [esp + 0x10], eax
call fcn.10067570
add ebx, 0xe
movzx eax, ax
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ebx
cmp edi, 0xffff
jg 0x10067ebc
lea ecx, [esi + 0xc]
call fcn.10067570
movzx eax, ax
shr eax, 1
lea esi, [ebx + eax*2]
lea ecx, [esi + ebp]
call fcn.10067570
movzx eax, ax
cmp edi, eax
cmovge ebx, esi
sub ebx, 2
cmp word [esp + 0x14], 0
je 0x10067db5
mov ax, word [esp + 0x10]
nop word [eax + eax]
shr ax, 1
mov word [esp + 0x10], ax
movzx eax, ax
lea esi, [ebx + eax*2]
lea ecx, [esi + ebp]
call fcn.10067570
movzx eax, ax
cmp edi, eax
mov eax, dword [esp + 0x14]
cmovg ebx, esi
add eax, 0xffff
mov dword [esp + 0x14], eax
test ax, ax
mov ax, word [esp + 0x10]
jne 0x10067d80
sub ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
add ebx, 2
movzx esi, cx
shr ebx, 1
movzx eax, bx
mov ebx, dword [esp + 0x18]
lea ecx, [esi + 8]
mov dword [esp + 0x14], eax
add ecx, eax
lea ecx, [ebx + ecx*2]
add ecx, ebp
call fcn.10067570
movzx eax, ax
mov dword [esp + 0x20], eax
cmp edi, eax
jl 0x10067ebc
mov ecx, dword [esp + 0x14]
lea esi, [esi + esi*2]
add ecx, 8
add ecx, esi
lea ecx, [ebx + ecx*2]
add ecx, ebp
call fcn.10067570
movzx eax, ax
test ax, ax
jne 0x10067e35
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
movzx ecx, dx
lea eax, [eax + ecx*2]
lea eax, [eax + 8]
lea ecx, [ebx + eax*2]
add ecx, ebp
call fcn.10067590
add ax, di
pop edi
pop esi
pop ebp
movzx eax, ax
pop ebx
add esp, 0x18
ret
sub esi, dword [esp + 0x20]
lea ecx, [edi + 8]
add esi, dword [esp + 0x14]
add eax, ebx
add ecx, esi
lea ecx, [eax + ecx*2]
add ecx, ebp
call fcn.10067570
pop edi
pop esi
pop ebp
movzx eax, ax
pop ebx
add esp, 0x18
ret
cmp eax, 0xc
je 0x10067e63
cmp eax, 0xd
jne 0x10067ebc
lea ecx, [esi + 0xc]
xor ebx, ebx
call fcn.100675b0
mov ebp, eax
test ebp, ebp
jle 0x10067ebc
mov esi, ebp
sub esi, ebx
sar esi, 1
add esi, ebx
lea eax, [esi + esi*2]
shl eax, 2
mov dword [esp + 0x14], eax
add eax, dword [esp + 0x18]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
lea ecx, [eax + 0x10]
call fcn.100675b0
mov dword [esp + 0x24], eax
cmp edi, eax
jae 0x10067ea5
mov ebp, esi
jmp 0x10067eb8
mov ecx, dword [esp + 0x20]
add ecx, 0x14
call fcn.100675b0
cmp edi, eax
jbe 0x10067ec6
lea ebx, [esi + 1]
cmp ebx, ebp
jl 0x10067e73
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
add eax, dword [esp + 0x18]
add ecx, 0x18
add ecx, eax
call fcn.100675b0
cmp word [esp + 0x10], 0xc
jne 0x10067ebe
sub eax, dword [esp + 0x24]
add eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret