Function at 0x6c4650
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x38
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x6c4eb0
mov edx, dword fs:[0]
mov dword [ebp - 0x18], edx
mov dword fs:[0], eax
mov esi, dword [ecx]
mov eax, dword [ecx + 4]
sub eax, esi
sar eax, 3
imul edi, eax, 0xaaaaaaab
inc edi
mov dword [ebp - 0x30], ecx
mov eax, dword [ecx + 8]
sub eax, esi
sar eax, 3
imul eax, eax, 0xaaaaaaab
mov edx, eax
shr edx, 1
mov ecx, 0xaaaaaaa
sub ecx, edx
add edx, eax
cmp edx, edi
mov dword [ebp - 0x44], edi
cmovbe edx, edi
cmp eax, ecx
mov eax, 0xaaaaaaa
cmova edx, eax
cmp edx, 0xaaaaaab
jae 0x6c4cf6
lea eax, [edx*8]
lea eax, [eax + eax*2]
cmp edx, 0xab
mov dword [ebp - 0x3c], edx
jb 0x6c4702
cmp edx, 0xaaaaaaa
je 0x6c4cfb
add eax, 0x23
push eax
call fcn.0071993d
add esp, 4
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x6c4715
test edx, edx
je 0x6c4713
push eax
call fcn.0071993d
add esp, 4
mov ecx, eax
jmp 0x6c4715
xor ecx, ecx
nop
mov edi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
sub edx, esi
mov esi, edi
mov dword [ecx + edx + 0x10], 0
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x40], edx
mov dword [ecx + edx + 0x14], 0
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x34], eax
cmp dword [edi + 0x14], 0x10
jb 0x6c4744
mov esi, dword [esi]
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x40]
lea edx, [ecx + esi]
mov edi, dword [ebp - 0x34]
cmp edi, 0xf
nop
mov dword [ebp - 0x24], edx
ja 0x6c47d8
nop
mov ecx, dword [ebp - 0x20]
movzx eax, byte [ecx]
mov byte [edx], al
movzx eax, byte [ecx + 1]
mov byte [edx + 1], al
movzx eax, byte [ecx + 2]
mov byte [edx + 2], al
movzx eax, byte [ecx + 3]
mov byte [edx + 3], al
movzx eax, byte [ecx + 4]
mov byte [edx + 4], al
movzx eax, byte [ecx + 5]
mov byte [edx + 5], al
movzx eax, byte [ecx + 6]
mov byte [edx + 6], al
movzx eax, byte [ecx + 7]
mov byte [edx + 7], al
movzx eax, byte [ecx + 8]
mov byte [edx + 8], al
movzx eax, byte [ecx + 9]
mov byte [edx + 9], al
movzx eax, byte [ecx + 0xa]
mov byte [edx + 0xa], al
movzx eax, byte [ecx + 0xb]
mov byte [edx + 0xb], al
movzx eax, byte [ecx + 0xc]
mov byte [edx + 0xc], al
movzx eax, byte [ecx + 0xd]
mov byte [edx + 0xd], al
movzx eax, byte [ecx + 0xe]
mov byte [edx + 0xe], al
movzx eax, byte [ecx + 0xf]
mov byte [edx + 0xf], al
mov ecx, 0xf
jmp 0x6c4930
mov eax, edi
or eax, 0xf
test edi, edi
mov edx, 0x7fffffff
cmovns edx, eax
lea eax, [ecx + esi]
add eax, 0x18
mov dword [ebp - 0x38], eax
cmp edx, 0xfff
mov dword [ebp - 0x2c], edx
jb 0x6c481b
lea eax, [edx + 0x24]
mov dword [ebp - 0x10], 0
push eax
call fcn.0071993d
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x6c482e
lea eax, [edx + 1]
mov dword [ebp - 0x10], 0
push eax
call fcn.0071993d
add esp, 4
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xffffffff
je 0x6c492a
inc ecx
xor edx, edx
cmp ecx, 8
jb 0x6c48c6
mov esi, eax
sub esi, dword [ebp - 0x20]
cmp esi, 0x20
jb 0x6c48c6
xor edx, edx
cmp ecx, 0x20
jb 0x6c4897
mov edx, ecx
and edx, 0xffffffe0
xor esi, esi
mov edi, dword [ebp - 0x20]
nop word cs:[eax + eax]
nop
movups xmm0, xmmword [edi + esi]
movups xmm1, xmmword [edi + esi + 0x10]
movups xmmword [eax + esi], xmm0
movups xmmword [eax + esi + 0x10], xmm1
add esi, 0x20
cmp edx, esi
jne 0x6c4870
cmp ecx, edx
je 0x6c492a
test cl, 0x18
je 0x6c48c6
mov esi, edx
mov edx, ecx
and edx, 0xfffffff8
mov edi, dword [ebp - 0x20]
nop word cs:[eax + eax]
nop
movsd xmm0, qword [edi + esi]
movsd qword [eax + esi], xmm0
add esi, 8
cmp edx, esi
jne 0x6c48b0
cmp ecx, edx
je 0x6c492a
mov esi, dword [ebp - 0x34]
sub esi, edx
mov dword [ebp - 0x38], esi
mov edi, ecx
and edi, 3
je 0x6c48ec
mov esi, dword [ebp - 0x20]
nop dword [eax + eax]
nop
movzx ebx, byte [esi + edx]
mov byte [eax + edx], bl
inc edx
dec edi
jne 0x6c48e0
cmp dword [ebp - 0x38], 3
jb 0x6c492a
mov esi, dword [ebp - 0x20]
nop word cs:[eax + eax]
nop
movzx ebx, byte [esi + edx]
mov byte [eax + edx], bl
movzx ebx, byte [esi + edx + 1]
mov byte [eax + edx + 1], bl
movzx ebx, byte [esi + edx + 2]
mov byte [eax + edx + 2], bl
movzx ebx, byte [esi + edx + 3]
mov byte [eax + edx + 3], bl
add edx, 4
cmp ecx, edx
jne 0x6c4900
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
nop
mov eax, dword [ebp - 0x34]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edi, dword [ebp + 8]
cmp ecx, edi
je 0x6c4bb0
cmp eax, edi
nop
mov esi, dword [ebp - 0x28]
je 0x6c4a7b
nop
test byte [0x889bde], 1
jne 0x6c4a7b
xor ecx, ecx
nop dword [eax]
mov dword [esi + ecx + 0x10], 0
mov dword [esi + ecx + 0x14], 0
movzx edx, byte [eax + ecx]
mov byte [esi + ecx], dl
movzx edx, byte [eax + ecx + 1]
mov byte [esi + ecx + 1], dl
movzx edx, byte [eax + ecx + 2]
mov byte [esi + ecx + 2], dl
movzx edx, byte [eax + ecx + 3]
mov byte [esi + ecx + 3], dl
movzx edx, byte [eax + ecx + 4]
mov byte [esi + ecx + 4], dl
movzx edx, byte [eax + ecx + 5]
mov byte [esi + ecx + 5], dl
movzx edx, byte [eax + ecx + 6]
mov byte [esi + ecx + 6], dl
movzx edx, byte [eax + ecx + 7]
mov byte [esi + ecx + 7], dl
movzx edx, byte [eax + ecx + 8]
mov byte [esi + ecx + 8], dl
movzx edx, byte [eax + ecx + 9]
mov byte [esi + ecx + 9], dl
movzx edx, byte [eax + ecx + 0xa]
mov byte [esi + ecx + 0xa], dl
movzx edx, byte [eax + ecx + 0xb]
mov byte [esi + ecx + 0xb], dl
movzx edx, byte [eax + ecx + 0xc]
mov byte [esi + ecx + 0xc], dl
movzx edx, byte [eax + ecx + 0xd]
mov byte [esi + ecx + 0xd], dl
movzx edx, byte [eax + ecx + 0xe]
mov byte [esi + ecx + 0xe], dl
movzx edx, byte [eax + ecx + 0xf]
mov byte [esi + ecx + 0xf], dl
movzx edx, byte [eax + ecx + 0x10]
mov byte [esi + ecx + 0x10], dl
movzx edx, byte [eax + ecx + 0x11]
mov byte [esi + ecx + 0x11], dl
movzx edx, byte [eax + ecx + 0x12]
mov byte [esi + ecx + 0x12], dl
movzx edx, byte [eax + ecx + 0x13]
mov byte [esi + ecx + 0x13], dl
movzx edx, byte [eax + ecx + 0x14]
mov byte [esi + ecx + 0x14], dl
movzx edx, byte [eax + ecx + 0x15]
mov byte [esi + ecx + 0x15], dl
movzx edx, byte [eax + ecx + 0x16]
mov byte [esi + ecx + 0x16], dl
movzx edx, byte [eax + ecx + 0x17]
mov byte [esi + ecx + 0x17], dl
mov dword [eax + ecx + 0x10], 0
mov dword [eax + ecx + 0x14], 0xf
mov byte [eax + ecx], 0
lea edx, [eax + ecx]
add edx, 0x18
add ecx, 0x18
cmp edx, edi
jne 0x6c4970
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 4]
cmp eax, edi
je 0x6c4cce
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x40]
add ecx, edx
add ecx, 0x2f
xor edx, edx
nop word cs:[eax + eax]
mov dword [ecx + edx - 7], 0
mov dword [ecx + edx - 3], 0
movzx ebx, byte [edi + edx]
mov byte [ecx + edx - 0x17], bl
movzx ebx, byte [edi + edx + 1]
mov byte [ecx + edx - 0x16], bl
movzx ebx, byte [edi + edx + 2]
mov byte [ecx + edx - 0x15], bl
movzx ebx, byte [edi + edx + 3]
mov byte [ecx + edx - 0x14], bl
movzx ebx, byte [edi + edx + 4]
mov byte [ecx + edx - 0x13], bl
movzx ebx, byte [edi + edx + 5]
mov byte [ecx + edx - 0x12], bl
movzx ebx, byte [edi + edx + 6]
mov byte [ecx + edx - 0x11], bl
movzx ebx, byte [edi + edx + 7]
mov byte [ecx + edx - 0x10], bl
movzx ebx, byte [edi + edx + 8]
mov byte [ecx + edx - 0xf], bl
movzx ebx, byte [edi + edx + 9]
mov byte [ecx + edx - 0xe], bl
movzx ebx, byte [edi + edx + 0xa]
mov byte [ecx + edx - 0xd], bl
movzx ebx, byte [edi + edx + 0xb]
mov byte [ecx + edx - 0xc], bl
movzx ebx, byte [edi + edx + 0xc]
mov byte [ecx + edx - 0xb], bl
movzx ebx, byte [edi + edx + 0xd]
mov byte [ecx + edx - 0xa], bl
movzx ebx, byte [edi + edx + 0xe]
mov byte [ecx + edx - 9], bl
movzx ebx, byte [edi + edx + 0xf]
mov byte [ecx + edx - 8], bl
movzx ebx, byte [edi + edx + 0x10]
mov byte [ecx + edx - 7], bl
movzx ebx, byte [edi + edx + 0x11]
mov byte [ecx + edx - 6], bl
movzx ebx, byte [edi + edx + 0x12]
mov byte [ecx + edx - 5], bl
movzx ebx, byte [edi + edx + 0x13]
mov byte [ecx + edx - 4], bl
movzx ebx, byte [edi + edx + 0x14]
mov byte [ecx + edx - 3], bl
movzx ebx, byte [edi + edx + 0x15]
mov byte [ecx + edx - 2], bl
movzx ebx, byte [edi + edx + 0x16]
mov byte [ecx + edx - 1], bl
movzx ebx, byte [edi + edx + 0x17]
mov byte [ecx + edx], bl
mov dword [edi + edx + 0x10], 0
mov dword [edi + edx + 0x14], 0xf
mov byte [edi + edx], 0
lea esi, [edi + edx]
add esi, 0x18
add edx, 0x18
cmp esi, eax
jne 0x6c4aa0
jmp 0x6c4cce
cmp eax, ecx
je 0x6c4cce
xor edx, edx
nop word [eax + eax]
mov esi, dword [ebp - 0x28]
mov dword [esi + edx + 0x10], 0
mov dword [esi + edx + 0x14], 0
movzx ebx, byte [eax + edx]
mov byte [esi + edx], bl
movzx ebx, byte [eax + edx + 1]
mov byte [esi + edx + 1], bl
movzx ebx, byte [eax + edx + 2]
mov byte [esi + edx + 2], bl
movzx ebx, byte [eax + edx + 3]
mov byte [esi + edx + 3], bl
movzx ebx, byte [eax + edx + 4]
mov byte [esi + edx + 4], bl
movzx ebx, byte [eax + edx + 5]
mov byte [esi + edx + 5], bl
movzx ebx, byte [eax + edx + 6]
mov byte [esi + edx + 6], bl
movzx ebx, byte [eax + edx + 7]
mov byte [esi + edx + 7], bl
movzx ebx, byte [eax + edx + 8]
mov byte [esi + edx + 8], bl
movzx ebx, byte [eax + edx + 9]
mov byte [esi + edx + 9], bl
movzx ebx, byte [eax + edx + 0xa]
mov byte [esi + edx + 0xa], bl
movzx ebx, byte [eax + edx + 0xb]
mov byte [esi + edx + 0xb], bl
movzx ebx, byte [eax + edx + 0xc]
mov byte [esi + edx + 0xc], bl
movzx ebx, byte [eax + edx + 0xd]
mov byte [esi + edx + 0xd], bl
movzx ebx, byte [eax + edx + 0xe]
mov byte [esi + edx + 0xe], bl
movzx ebx, byte [eax + edx + 0xf]
mov byte [esi + edx + 0xf], bl
movzx ebx, byte [eax + edx + 0x10]
mov byte [esi + edx + 0x10], bl
movzx ebx, byte [eax + edx + 0x11]
mov byte [esi + edx + 0x11], bl
movzx ebx, byte [eax + edx + 0x12]
mov byte [esi + edx + 0x12], bl
movzx ebx, byte [eax + edx + 0x13]
mov byte [esi + edx + 0x13], bl
movzx ebx, byte [eax + edx + 0x14]
mov byte [esi + edx + 0x14], bl
movzx ebx, byte [eax + edx + 0x15]
mov byte [esi + edx + 0x15], bl
movzx ebx, byte [eax + edx + 0x16]
mov byte [esi + edx + 0x16], bl
movzx ebx, byte [eax + edx + 0x17]
mov byte [esi + edx + 0x17], bl
mov dword [eax + edx + 0x10], 0
mov dword [eax + edx + 0x14], 0xf
mov byte [eax + edx], 0
lea esi, [eax + edx]
add esi, 0x18
add edx, 0x18
cmp esi, ecx
jne 0x6c4bc0
nop
mov ecx, dword [ebp - 0x30]
push dword [ebp - 0x3c]
push dword [ebp - 0x44]
push dword [ebp - 0x28]
call fcn.006c43c0
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, dword [ebp - 0x24]
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
ret 8
call fcn.00455870
call fcn.00455870
push ebp
sub esp, 0xc
add ebp, 0xc
mov dword [ebp - 0x1c], esp
nop
mov esi, dword [ebp - 0x30]
mov ecx, esi
mov eax, dword [ebp - 0x38]
push eax
push eax
call fcn.006c4250
mov ecx, esi
push dword [ebp - 0x3c]
push dword [ebp - 0x28]
call fcn.006c4320
mov dword [ebp - 0x10], 1
push 0
push 0
call fcn.0073147b
int3