Function at 0x10076a20
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
push ebx
lea ebx, [eax*8]
sub ebx, eax
push esi
mov esi, ecx
mov ecx, dword [ebp + 8]
add ebx, ebx
push edi
mov edi, dword [ecx + 0x1e8]
mov ecx, dword [ecx]
add ebx, ebx
add ebx, ebx
cmp dword [ebp + 0x10], 0
mov dword [esp + 0x28], edi
mov edi, dword [esi + 8]
mov eax, dword [ebx + edi + 0x20]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + edi + 0x18]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x14], eax
je 0x10076a80
test edx, edx
je 0x10076a8a
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x10076a8a
cmp word [edi], 1
jg 0x10076a77
mov edx, dword [eax + 0x28]
mov ecx, dword [eax + 8]
test edx, edx
je 0x10076a9a
cmp dword [esi + 0x28], 0
jne 0x10076a77
cmp dword [eax + 0x2c], 0
jne 0x10076a77
cmp dword [esi + 0x24], 0
je 0x10076ab0
test edx, edx
je 0x10076ab0
cmp dword [eax + 0x18], 0
jne 0x10076a77
cmp word [ecx], 0
je 0x10076a77
test byte [eax + 6], 1
jne 0x10076ac0
test edx, edx
je 0x10076acc
cmp word [edi], 1
jg 0x10076a77
cmp dword [ebp + 0x10], 0
jne 0x10076a77
mov cx, word [esi + 6]
and cx, 1
mov word [esp + 0xe], cx
je 0x10076ae1
cmp dword [ebp + 0x14], 0
jne 0x10076a77
cmp dword [esi + 0x18], 0
je 0x10076aed
cmp dword [eax + 0x18], 0
jne 0x10076a77
cmp dword [ebp + 0x10], 0
je 0x10076afd
cmp dword [eax + 0x18], 0
jne 0x10076a77
test edx, edx
je 0x10076b0b
cmp dword [esi + 0xc], 0
jne 0x10076a77
test byte [ebx + edi + 0x1d], 0x20
lea ecx, [ebx + edi + 0x1d]
mov dword [esp + 0x30], ecx
jne 0x10076a77
cmp dword [eax + 0x1c], 0
je 0x10076baf
cmp dword [eax + 0x18], 0
jne 0x10076a77
cmp dword [ebp + 0x10], 0
jne 0x10076a77
cmp word [esp + 0xe], 0
jne 0x10076a77
cmp word [edi], 1
jne 0x10076a77
mov dl, 5
test byte [eax + 6], dl
jne 0x10076a77
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x10076b6e
cmp byte [eax + 4], 0x71
jne 0x10076a77
mov eax, dword [eax + 8]
test eax, eax
je 0x10076a77
cmp word [eax], 1
jne 0x10076a77
mov eax, ecx
test eax, eax
jne 0x10076b54
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x10076baf
cmp dword [ecx], eax
jle 0x10076baf
mov ecx, dword [ecx + 0xc]
add ecx, 0xa
cmp word [ecx], 0
je 0x10076a77
mov edx, dword [esi + 0x18]
inc eax
add ecx, 0x10
cmp eax, dword [edx]
jl 0x10076b9a
mov ecx, dword [ebx + edi + 0xc]
mov eax, dword [ebp + 8]
push 0
push 0
push 0
push 0x15
mov dword [eax + 0x1e8], ecx
call fcn.10060c10
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x1e8], edx
mov eax, dword [ecx + 0x1c]
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
je 0x10076c7a
lea esp, [esp]
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x28], eax
xor eax, eax
push eax
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x14]
push esi
push edx
mov dword [esp + 0x30], ecx
mov dword [esi + 0x18], eax
mov dword [esi + 8], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x28], eax
call fcn.1005a0e0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov dword [esi + 0x28], ecx
mov dword [esi + 0x18], edx
mov dword [esi + 8], edi
mov byte [esi + 4], 0x71
mov dword [esi + 0x24], 0
test eax, eax
jne 0x10076c48
mov eax, dword [esp + 0x24]
jmp 0x10076c56
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x24], 0
mov edx, dword [esp + 0x10]
mov dword [esi + 0x1c], eax
cmp byte [edx + 0x1e], 0
jne 0x10076fdb
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10076bf0
mov ecx, dword [ebx + edi + 8]
mov eax, dword [ebx + edi + 0x18]
mov edx, dword [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], eax
call fcn.10037ca0
mov eax, dword [ebx + edi + 0xc]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.10037ca0
mov edx, dword [ebx + edi + 0x10]
mov eax, dword [esp + 0x20]
push edx
push eax
call fcn.10037ca0
mov eax, dword [ebx + edi + 0x14]
xor ecx, ecx
mov dword [ebx + edi + 8], ecx
mov dword [ebx + edi + 0xc], ecx
mov dword [ebx + edi + 0x10], ecx
mov dword [ebx + edi + 0x18], ecx
lea edi, [ebx + edi + 0x14]
add esp, 0x18
cmp eax, ecx
je 0x10076cfc
movzx ecx, word [eax + 0x20]
cmp ecx, 1
jne 0x10076cf1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x204]
mov dword [eax + 0x4c], edx
mov dword [ecx + 0x204], eax
jmp 0x10076cf6
dec ecx
mov word [eax + 0x20], cx
mov dword [edi], 0
mov ebx, esi
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 8]
mov eax, dword [ebx + 8]
movsx esi, word [edi]
mov byte [esp + 0xe], 0
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10076d24
mov ecx, dword [esp + 0x30]
mov dl, byte [ecx]
mov byte [esp + 0xe], dl
jmp 0x10076d45
mov ecx, dword [esp + 0x10]
push 0
push 0
xor eax, eax
call fcn.10065550
add esp, 8
mov dword [ebx + 8], eax
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10076fc9
cmp esi, 1
jle 0x10076d76
mov ecx, dword [ebp + 0xc]
inc ecx
push ecx
lea edx, [esi - 1]
push edx
push eax
mov eax, dword [esp + 0x1c]
push eax
call fcn.10065430
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov dword [ebx + 8], eax
cmp byte [ecx + 0x1e], 0
mov dword [esp + 0x1c], eax
jne 0x10076fc9
test esi, esi
jle 0x10076dc6
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
add edi, 8
lea ecx, [edx + eax + 8]
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], esi
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
push 0x38
mov esi, eax
push 0
mov ecx, 0xe
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.100b8f90
mov eax, 0x38
add dword [esp + 0x2c], eax
add dword [esp + 0x30], eax
add esp, 0xc
dec dword [esp + 0x28]
jne 0x10076d95
mov eax, dword [esp + 0x1c]
mov cl, byte [esp + 0xe]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
mov byte [edx + eax + 0x1d], cl
mov ecx, dword [ebx]
xor eax, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
cmp dword [ecx], eax
jle 0x10076e5c
mov dword [esp + 0x1c], eax
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x1c]
cmp dword [eax + edx + 4], 0
jne 0x10076e4a
mov eax, dword [eax + edx]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x20], edx
test edx, edx
je 0x10076e4a
mov edi, dword [eax + 0x10]
mov esi, dword [esp + 0x10]
shr edi, 2
lea ecx, [edi + 1]
call fcn.10037ea0
mov esi, eax
test esi, esi
je 0x10076e35
mov ecx, dword [esp + 0x20]
push edi
push ecx
push esi
call fcn.100b6420
add esp, 0xc
mov byte [esi + edi], 0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + 0xc]
mov edi, dword [esp + 0x10]
mov dword [eax + ecx + 4], esi
mov ecx, edx
mov eax, dword [esp + 0x24]
add dword [esp + 0x1c], 0x10
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [ecx]
jl 0x10076dee
mov esi, dword [esp + 0x14]
mov edx, dword [esi]
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx]
push edx
push eax
push ecx
push edi
call fcn.10076700
add esp, 0x10
cmp dword [ebp + 0x10], 0
je 0x10076ea1
mov edx, dword [esi]
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx + 0x10]
push edx
push eax
push ecx
push edi
call fcn.10076700
mov edx, dword [esi]
mov eax, dword [esp + 0x28]
mov ecx, dword [ebx + 0x14]
push edx
push eax
push ecx
push edi
call fcn.10076580
add esp, 0x20
mov eax, dword [esi + 0x18]
test eax, eax
je 0x10076eb4
mov dword [ebx + 0x18], eax
mov dword [esi + 0x18], 0
jmp 0x10076ecd
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x10076ecd
mov edx, dword [esi]
mov ecx, dword [esp + 0x18]
push edx
push ecx
push eax
push edi
call fcn.10076700
add esp, 0x10
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10076ee8
push 0
push 0
push eax
push edi
call fcn.10059900
add esp, 0x10
mov dword [esp + 0x14], eax
jmp 0x10076ef0
mov dword [esp + 0x14], 0
cmp dword [ebp + 0x14], 0
je 0x10076f5b
mov edx, dword [ebx + 0xc]
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x14], edx
mov edx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
mov ecx, dword [esi]
mov eax, dword [ebx + 0x14]
push ecx
push edx
push eax
push edi
call fcn.10076580
mov eax, dword [esi + 0x14]
push 0
push 0
push eax
push edi
call fcn.10059900
mov ecx, dword [ebx + 0x14]
add esp, 0x20
test ecx, ecx
je 0x10076f44
test eax, eax
jne 0x10076f35
mov eax, ecx
jmp 0x10076f44
push eax
push ecx
push 0x43
push edi
xor eax, eax
call fcn.10059100
add esp, 0x10
mov dword [ebx + 0x14], eax
mov ecx, dword [esi + 0x10]
push 0
push ecx
push edi
call fcn.10059c70
add esp, 0xc
mov dword [ebx + 0x10], eax
jmp 0x10076f9a
mov edx, dword [esi]
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx + 0xc]
push edx
push eax
push ecx
push edi
call fcn.10076580
mov eax, dword [ebx + 0xc]
add esp, 0x10
test eax, eax
jne 0x10076f7d
mov eax, dword [esp + 0x14]
jmp 0x10076f97
cmp dword [esp + 0x14], 0
je 0x10076f97
mov edx, dword [esp + 0x14]
push edx
push eax
push 0x43
push edi
xor eax, eax
call fcn.10059100
add esp, 0x10
mov dword [ebx + 0xc], eax
mov ax, word [esi + 6]
and ax, 1
or word [ebx + 6], ax
mov eax, dword [esi + 0x28]
test eax, eax
je 0x10076fb7
mov dword [ebx + 0x28], eax
mov dword [esi + 0x28], 0
mov ebx, dword [ebx + 0x1c]
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
test ebx, ebx
jne 0x10076cfe
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
push edx
push eax
call fcn.10071e30
add esp, 8
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret