Function at 0x100768f0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x18
push ebx
mov ebx, dword [ecx + 0x30]
push ebp
mov ebp, dword [ecx + 4]
push esi
push edi
mov edi, edx
mov dword [esp + 0x18], ebp
lea esi, [ebx + ebp]
mov dword [esp + 0x1c], ebx
mov ecx, esi
call fcn.100761a0
movzx eax, ax
mov dword [esp + 0x10], eax
test ax, ax
jne 0x10076940
lea ecx, [esi + 2]
call fcn.100761a0
movzx eax, ax
sub eax, 6
cmp edi, eax
jge 0x10076b7b
movzx eax, byte [esi + edi + 6]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
cmp eax, 6
jne 0x1007698f
lea ecx, [esi + 6]
call fcn.100761a0
movzx eax, ax
mov dword [esp + 0x1c], eax
cmp edi, eax
jb 0x10076b7b
lea ecx, [esi + 8]
call fcn.100761a0
mov ecx, dword [esp + 0x1c]
movzx eax, ax
add eax, ecx
cmp edi, eax
jae 0x10076b7b
sub edi, ecx
lea ecx, [ebx + 0xa]
lea ecx, [ecx + edi*2]
add ecx, ebp
call fcn.100761a0
pop edi
pop esi
pop ebp
movzx eax, ax
pop ebx
add esp, 0x18
ret
cmp eax, 2
je 0x10076b7b
cmp eax, 4
jne 0x10076b18
lea ecx, [esi + 6]
call fcn.100761a0
shr ax, 1
lea ecx, [esi + 8]
movzx eax, ax
mov dword [esp + 0x18], eax
call fcn.100761a0
shr ax, 1
lea ecx, [esi + 0xa]
movzx eax, ax
mov dword [esp + 0x10], eax
call fcn.100761a0
add ebx, 0xe
movzx eax, ax
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ebx
cmp edi, 0xffff
jg 0x10076b7b
lea ecx, [esi + 0xc]
call fcn.100761a0
movzx eax, ax
shr eax, 1
lea esi, [ebx + eax*2]
lea ecx, [esi + ebp]
call fcn.100761a0
movzx eax, ax
cmp edi, eax
cmovge ebx, esi
sub ebx, 2
cmp word [esp + 0x14], 0
je 0x10076a55
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.100761a0
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 0x10076a20
sub ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
add ebx, 2
shr ebx, 1
movzx ecx, ax
add ecx, 8
movzx esi, bx
mov ebx, dword [esp + 0x1c]
add ecx, esi
mov dword [esp + 0x14], esi
lea ecx, [ebx + ecx*2]
add ecx, ebp
call fcn.100761a0
movzx eax, ax
mov dword [esp + 0x20], eax
cmp edi, eax
jl 0x10076b7b
lea eax, [ebx + 0xe]
lea ecx, [eax + esi*2]
add ecx, ebp
call fcn.100761a0
movzx eax, ax
cmp edi, eax
jg 0x10076b7b
mov ecx, dword [esp + 0x18]
movzx eax, cx
mov ecx, dword [esp + 0x14]
add ecx, 8
lea esi, [eax + eax*2]
add ecx, esi
lea ecx, [ebx + ecx*2]
add ecx, ebp
call fcn.100761a0
movzx eax, ax
test ax, ax
jne 0x10076af4
mov edx, dword [esp + 0x18]
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.100761c0
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.100761a0
pop edi
pop esi
pop ebp
movzx eax, ax
pop ebx
add esp, 0x18
ret
cmp eax, 0xc
je 0x10076b22
cmp eax, 0xd
jne 0x10076b7b
lea ecx, [esi + 0xc]
xor ebx, ebx
call fcn.100761e0
mov ebp, eax
test ebp, ebp
jle 0x10076b7b
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 + 0x1c]
add eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
lea ecx, [eax + 0x10]
call fcn.100761e0
mov dword [esp + 0x24], eax
cmp edi, eax
jae 0x10076b64
mov ebp, esi
jmp 0x10076b77
mov ecx, dword [esp + 0x20]
add ecx, 0x14
call fcn.100761e0
cmp edi, eax
jbe 0x10076b85
lea ebx, [esi + 1]
cmp ebx, ebp
jl 0x10076b32
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add eax, dword [esp + 0x1c]
add ecx, 0x18
add ecx, eax
call fcn.100761e0
cmp word [esp + 0x10], 0xc
jne 0x10076b7d
sub eax, dword [esp + 0x24]
add eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret