Function at 0x776010
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x244
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x14]
mov ebx, dword [eax + 8]
push edi
mov edi, dword [eax]
push 0x40
push edi
call fcn.0077b600
test eax, eax
je 0x776566
mov ecx, dword [esi + 0x14]
push 0x11
push ebx
call fcn.0077b600
test eax, eax
je 0x776566
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi + 8]
mov dword [ebp - 0x70], ecx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x74], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x64], ecx
mov ecx, dword [edi + 0x1c]
mov dword [ebp - 0x6c], edx
mov edx, dword [edi + 0x14]
mov dword [ebp - 0x68], eax
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x58], ecx
mov ecx, dword [edi + 0x28]
mov dword [ebp - 0x60], edx
mov edx, dword [edi + 0x20]
mov dword [ebp - 0x5c], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [edi + 0x34]
mov dword [ebp - 0x54], edx
mov edx, dword [edi + 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [edi + 0x30]
push 0x108
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x48], edx
mov edx, dword [edi + 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [edi + 0x3c]
lea ecx, [ebp - 0x17c]
push 0
push ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
call fcn.0067e0a0
mov edx, dword [esi + 0x90]
mov eax, dword [edx + 0x18]
mov ecx, dword [esi + 0x8c]
mov dword [ebp - 0x17c], eax
mov eax, dword [esi + 0x80]
add esp, 0xc
cmp byte [esi + 0x1014], 0
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x178], eax
jne 0x7760fe
cmp dword [eax + 0x374], 0
je 0x776566
mov dword [ebp - 0x168], 0x1f4
cmp byte [ebx], 0xde
jne 0x776116
mov edx, dword [ebx + 0xd]
mov dword [ebp - 0x168], edx
movzx eax, word [ebx + 2]
cmp eax, 0xff00
mov dword [ebp - 4], eax
jbe 0x77612b
mov dword [ebp - 4], 0xff00
movzx eax, byte [ebx + 6]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebx + 7]
mov eax, dword [esi + 0x88]
mov dword [ebp - 0x16c], ecx
movzx edx, word [ebx + 0xb]
mov dword [ebp - 0x80], edx
cmp dword [eax], 8
jge 0x776157
and dword [ebp - 0x80], 0xffffbfff
mov eax, dword [ebp - 0x74]
mov ebx, 0xffff
cmp ax, bx
mov ecx, 1
je 0x776177
mov dword [ebp - 0x140], eax
mov dword [ebp - 0xe4], ecx
jmp 0x77617d
mov dword [ebp - 0x140], ebx
mov eax, dword [ebp - 0x70]
cmp ax, bx
je 0x776193
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0xe4], ecx
jmp 0x776199
mov dword [ebp - 0x13c], ebx
mov eax, dword [ebp - 0x6c]
cmp ax, bx
je 0x7761af
mov dword [ebp - 0x138], eax
mov dword [ebp - 0xe4], ecx
jmp 0x7761b5
mov dword [ebp - 0x138], ebx
mov eax, dword [ebp - 0x68]
cmp ax, bx
je 0x7761cb
mov dword [ebp - 0x134], eax
mov dword [ebp - 0xe4], ecx
jmp 0x7761d1
mov dword [ebp - 0x134], ebx
mov eax, dword [ebp - 0x64]
cmp ax, bx
je 0x7761e7
mov dword [ebp - 0x130], eax
mov dword [ebp - 0xe4], ecx
jmp 0x7761ed
mov dword [ebp - 0x130], ebx
mov eax, dword [ebp - 0x60]
cmp ax, bx
je 0x776203
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0xe4], ecx
jmp 0x776209
mov dword [ebp - 0x12c], ebx
mov eax, dword [ebp - 0x5c]
cmp ax, bx
je 0x77621f
mov dword [ebp - 0x128], eax
mov dword [ebp - 0xe4], ecx
jmp 0x776225
mov dword [ebp - 0x128], ebx
mov eax, dword [ebp - 0x58]
cmp ax, bx
je 0x77623b
mov dword [ebp - 0x124], eax
mov dword [ebp - 0xe4], ecx
jmp 0x776241
mov dword [ebp - 0x124], ebx
xor eax, eax
cmp word [ebp + eax - 0x54], bx
je 0x776266
test dword [ebp - 0x80], 0x100
jne 0x776266
mov edx, dword [ebp + eax - 0x54]
mov dword [ebp + eax - 0x120], edx
mov dword [ebp - 0xe4], ecx
jmp 0x77626d
mov dword [ebp + eax - 0x120], ebx
add eax, 4
cmp eax, 0x18
jl 0x776243
mov eax, dword [ebp - 0x3c]
cmp ax, bx
je 0x776289
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x38]
cmp ax, bx
je 0x77629d
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + 0x80]
cmp dword [eax + 0x374], 0
je 0x7762f9
test dword [ebp - 0x80], 0x800
je 0x7762f9
mov ecx, dword [eax + 0x380]
mov edx, dword [eax + 0x384]
lea ebx, [eax + 0x348]
mov dword [ebp - 0xc], ecx
mov ecx, ebx
mov dword [ebp - 8], edx
call fcn.008d7d90
mov edx, dword [esi + 0x80]
mov edx, dword [edx + 0x388]
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx]
mov eax, dword [eax + 0xb0]
push edx
mov edx, dword [ebp - 0xc]
push edx
mov edx, dword [ebx + 8]
push edx
call eax
mov ecx, dword [esi + 0x80]
mov dword [ecx + 0x374], 0
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
mov edx, dword [edx + 0x44]
lea eax, [ebp - 0x17c]
push eax
mov eax, dword [esi + 0x80]
mov eax, dword [eax + 0x344]
push eax
call edx
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 0x80]
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc0]
push ebx
push edx
mov edx, dword [esi + 0x88]
mov edx, dword [edx]
push edx
call eax
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
mov dword [ebp - 8], eax
mov eax, dword [edx + 0x50]
call eax
mov ecx, dword [esi + 0x80]
cmp ebx, dword [ecx + 0x364]
jbe 0x776377
push ebx
call fcn.008d6420
test eax, eax
je 0x776566
mov ecx, dword [esi + 0x80]
call fcn.008d63f0
test eax, eax
je 0x776566
mov ecx, dword [esi + 0x80]
mov dword [ecx + 0x388], ebx
mov ebx, dword [esi + 0x80]
add ebx, 0x348
mov ecx, ebx
call fcn.008d7d90
mov edx, dword [esi + 0x88]
mov eax, dword [edx]
mov ecx, dword [esi + 0x80]
mov ebx, dword [ebx + 8]
cdq
mov dword [ebp - 0x10], edx
add ecx, 0x380
lea edx, [ebp - 0x14]
cmp edx, ecx
je 0x7763d3
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
mov dword [ecx + 4], eax
test dword [ebp - 0x80], 0x4000
je 0x77643f
mov eax, dword [esi + 0x80]
add eax, 0x380
add dword [eax], 0xfffffff8
adc dword [eax + 4], 0xffffffff
mov ecx, dword [esi + 0x80]
mov edx, dword [ecx + 0x364]
sub edx, 8
cmp dword [ebp - 4], edx
jbe 0x776410
mov eax, ecx
mov eax, dword [eax + 0x364]
sub eax, 8
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [esi + 0x80]
add ecx, 8
mov dword [edx + 0x388], ecx
mov edx, dword [ebp - 8]
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx]
mov eax, dword [eax + 0x90]
push 8
add edx, 0xfffffff8
push edx
push ebx
call eax
add ebx, 8
test byte [ebp - 0x80], 0x40
mov ecx, dword [esi + 0x98]
je 0x776460
mov eax, dword [ebp - 4]
mov edx, dword [ecx]
mov edx, dword [edx + 0x90]
push eax
mov eax, dword [ebp - 8]
push eax
push ebx
call edx
jmp 0x776478
mov edx, dword [ebp - 4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
push edx
mov edx, dword [esi + 0x88]
mov edx, dword [edx]
push edx
push ebx
call eax
mov ecx, dword [esi + 0x80]
mov dword [ecx + 0x374], 1
mov edx, dword [esi + 0x80]
mov ecx, dword [edx + 0x388]
mov eax, dword [esi + 0x8c]
mov dword [eax + 0x808], ecx
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
mov edx, dword [edx + 0x80]
lea eax, [ebp - 0x244]
push eax
call edx
mov esi, dword [esi + 0x80]
mov eax, dword [ebp - 0x1dc]
add esi, 0x378
lea edx, [ebp - 0x14]
xor ecx, ecx
cmp edx, esi
je 0x7764d7
mov dword [esi], eax
mov dword [esi + 4], ecx
mov eax, dword [ebp - 0x244]
mov dword [edi], eax
mov ecx, dword [ebp - 0x240]
mov dword [edi + 4], ecx
mov edx, dword [ebp - 0x23c]
mov dword [edi + 8], edx
mov eax, dword [ebp - 0x238]
mov dword [edi + 0xc], eax
mov ecx, dword [ebp - 0x234]
mov dword [edi + 0x10], ecx
mov edx, dword [ebp - 0x230]
mov dword [edi + 0x14], edx
mov eax, dword [ebp - 0x22c]
mov dword [edi + 0x18], eax
mov ecx, dword [ebp - 0x228]
mov dword [edi + 0x1c], ecx
mov edx, dword [ebp - 0x224]
mov dword [edi + 0x20], edx
mov eax, dword [ebp - 0x220]
mov dword [edi + 0x24], eax
mov ecx, dword [ebp - 0x21c]
mov dword [edi + 0x28], ecx
mov edx, dword [ebp - 0x218]
mov dword [edi + 0x2c], edx
mov eax, dword [ebp - 0x214]
mov dword [edi + 0x30], eax
mov ecx, dword [ebp - 0x210]
mov dword [edi + 0x34], ecx
mov edx, dword [ebp - 0x20c]
mov dword [edi + 0x38], edx
mov eax, dword [ebp - 0x208]
mov dword [edi + 0x3c], eax
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret