Function at 0x66ac20
Capabilities:
Enumerate pe sections
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x110
mov esi, esp
mov dword [esi + 0xf8], ebp
mov dword [esi + 0x38], ecx
nop
mov ebx, dword [ebp + 8]
mov dword [esi + 0xfc], esp
mov dword [esi + 0x108], 0xffffffff
lea eax, [esi + 0x100]
mov dword [esi + 0x104], 0x681c90
mov ecx, dword fs:[0]
mov dword [esi + 0x100], ecx
mov dword fs:[0], eax
lea edi, [esi + 0x60]
mov ecx, edi
push 1
call fcn.0066ba80
mov dword [esi + 0x108], 2
mov ecx, edi
push ebx
call fcn.0066bc40
lea ecx, [esi + 0x64]
lea eax, [esi + 0x48]
push eax
call fcn.00673fc0
nop
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x48]
mov edi, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
cmp ecx, 8
lea ebx, [esi + 0x48]
mov edx, ebx
cmovae edx, eax
cmp edi, 8
nop
mov dword [esi], edi
jae 0x66ad58
cmp ecx, 8
cmovae ebx, eax
movzx eax, byte [edx]
mov byte [esi + 0x1c], al
movzx eax, byte [ebx + 1]
mov byte [esi + 0x1d], al
movzx eax, byte [ebx + 2]
mov byte [esi + 0x1e], al
movzx eax, byte [ebx + 3]
mov byte [esi + 0x1f], al
movzx eax, byte [ebx + 4]
mov byte [esi + 0x20], al
movzx eax, byte [ebx + 5]
mov byte [esi + 0x21], al
movzx eax, byte [ebx + 6]
mov byte [esi + 0x22], al
movzx eax, byte [ebx + 7]
mov byte [esi + 0x23], al
movzx eax, byte [ebx + 8]
mov byte [esi + 0x24], al
movzx eax, byte [ebx + 9]
mov byte [esi + 0x25], al
movzx eax, byte [ebx + 0xa]
mov byte [esi + 0x26], al
movzx eax, byte [ebx + 0xb]
mov byte [esi + 0x27], al
movzx eax, byte [ebx + 0xc]
mov byte [esi + 0x28], al
movzx eax, byte [ebx + 0xd]
mov byte [esi + 0x29], al
movzx eax, byte [ebx + 0xe]
mov byte [esi + 0x2a], al
movzx eax, byte [ebx + 0xf]
mov byte [esi + 0x2b], al
lea eax, [esi + 0x1c]
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], 7
mov dword [esi + 0x18], 0x9211dc
jmp 0x66aed0
nop
mov dword [esi + 8], edx
mov ecx, edi
or ecx, 7
cmp ecx, 0x7ffffffe
mov eax, 0x7ffffffe
cmovb eax, ecx
mov dword [esi + 4], eax
add eax, eax
cmp ecx, 0x7ff
jb 0x66adab
cmp ecx, 0x7fffffee
jae 0x66b27d
add eax, 0x25
mov dword [esi + 0x108], 3
push eax
call fcn.008ea17d
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x66adc1
add eax, 2
mov dword [esi + 0x108], 3
push eax
call fcn.008ea17d
add esp, 4
nop
mov dword [esi + 0x1c], eax
mov ecx, dword [esi]
lea ecx, [ecx*2 + 2]
xor edx, edx
mov dword [esi + 0x14], ecx
cmp ecx, 8
jb 0x66ae57
mov edi, eax
mov ecx, dword [esi + 8]
sub edi, ecx
cmp edi, 0x20
nop
mov ebx, dword [esi + 0x14]
jb 0x66ae57
xor edx, edx
cmp ebx, 0x20
jb 0x66ae2a
mov edx, ebx
and edx, 0xffffffe0
xor edi, edi
nop word cs:[eax + eax]
nop
movups xmm0, xmmword [ecx + edi]
movups xmm1, xmmword [ecx + edi + 0x10]
movups xmmword [eax + edi], xmm0
movups xmmword [eax + edi + 0x10], xmm1
add edi, 0x20
cmp edx, edi
jne 0x66ae00
mov ebx, dword [esi + 0x14]
cmp ebx, edx
je 0x66aeba
test bl, 0x18
je 0x66ae57
mov edi, edx
mov edx, ebx
and edx, 0xfffffff8
nop word cs:[eax + eax]
nop
movsd xmm0, qword [ecx + edi]
movsd qword [eax + edi], xmm0
add edi, 8
cmp edx, edi
jne 0x66ae40
cmp dword [esi + 0x14], edx
je 0x66aeba
mov ecx, dword [esi]
add ecx, ecx
mov ebx, ecx
not ebx
or ecx, 1
sub ecx, edx
mov dword [esi + 0xc], ecx
and ebx, 2
je 0x66ae7e
mov edi, dword [esi + 8]
nop
nop
movzx ecx, byte [edi + edx]
mov byte [eax + edx], cl
inc edx
dec ebx
jne 0x66ae70
jmp 0x66ae81
mov edi, dword [esi + 8]
cmp dword [esi + 0xc], 3
mov ebx, dword [esi + 0x14]
jb 0x66aeba
nop word [eax + eax]
nop
movzx ecx, byte [edi + edx]
mov byte [eax + edx], cl
movzx ecx, byte [edi + edx + 1]
mov byte [eax + edx + 1], cl
movzx ecx, byte [edi + edx + 2]
mov byte [eax + edx + 2], cl
movzx ecx, byte [edi + edx + 3]
mov byte [eax + edx + 3], cl
add edx, 4
cmp ebx, edx
jne 0x66ae90
nop
mov eax, dword [esi]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x30], eax
mov dword [esi + 0x18], 0x9211dc
mov eax, dword [esi + 0x1c]
nop
mov edi, dword [esi + 0x38]
mov ebx, dword [edi + 0x14]
mov edx, dword [edi + 0x18]
mov dword [esi + 4], edx
sub edx, ebx
cmp edx, dword [esi]
lea ecx, [edi + 4]
jae 0x66af13
nop
mov dword [esi + 0x108], 4
sub esp, 0x10
movzx edx, byte [esi + 0x3c]
mov byte [esp + 4], dl
mov edx, dword [esi]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp], edx
call fcn.0066b4d0
jmp 0x66b1c8
nop
mov dword [esi + 8], ecx
mov ecx, ebx
mov dword [esi + 0xc], ebx
mov ecx, dword [esi]
lea edx, [ebx + ecx]
mov ecx, edx
mov dword [esi + 0x44], edx
mov dword [edi + 0x14], edx
cmp dword [esi + 4], 8
jb 0x66af38
mov ecx, dword [esi + 0x38]
mov ecx, dword [ecx + 4]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea edx, [ecx + edx*2]
mov ecx, dword [esi]
lea edi, [ecx + ecx]
mov dword [esi + 4], edi
mov edi, edx
sub edi, eax
jae 0x66b05f
test ecx, ecx
mov ecx, dword [esi + 4]
je 0x66b1bb
cmp ecx, 1
mov ebx, ecx
adc ebx, 0
mov dword [esi], ebx
xor ebx, ebx
cmp ecx, 8
jb 0x66afea
cmp edi, 0x20
mov ecx, dword [esi + 4]
jb 0x66afea
xor ebx, ebx
cmp ecx, 0x20
jb 0x66afc9
mov ecx, dword [esi + 0xc]
lea edi, [ecx + ecx]
mov ebx, dword [esi]
and ebx, 0xffffffe0
mov ecx, dword [esi + 8]
add edi, ecx
add edi, 0x10
mov ecx, ebx
xor ebx, ebx
nop word cs:[eax + eax]
nop
movups xmm0, xmmword [eax + ebx]
movups xmm1, xmmword [eax + ebx + 0x10]
movups xmmword [edi + ebx - 0x10], xmm0
movups xmmword [edi + ebx], xmm1
add ebx, 0x20
cmp ecx, ebx
jne 0x66afa0
cmp dword [esi], ecx
je 0x66b1bb
mov ebx, ecx
test byte [esi], 0x18
je 0x66afea
mov edi, ebx
mov ebx, dword [esi]
and ebx, 0xfffffff8
nop
movsd xmm0, qword [eax + edi]
movsd qword [edx + edi], xmm0
add edi, 8
cmp ebx, edi
jne 0x66afd0
cmp dword [esi], ebx
je 0x66b1bb
mov edi, ebx
mov ebx, dword [esi]
mov dword [esi + 0x10], edi
and ebx, 3
je 0x66b00c
mov edi, dword [esi + 0x10]
nop dword [eax]
nop
movzx ecx, byte [eax + edi]
mov byte [edx + edi], cl
inc edi
dec ebx
jne 0x66b000
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi]
cmp ecx, 0xfffffffc
mov edx, dword [esi + 0xc]
mov ebx, dword [esi + 4]
ja 0x66b1bb
mov ecx, dword [esi + 8]
lea ecx, [ecx + edx*2]
add ecx, 3
nop dword [eax]
nop
movzx edx, byte [eax + edi]
mov byte [ecx + edi - 3], dl
movzx edx, byte [eax + edi + 1]
mov byte [ecx + edi - 2], dl
movzx edx, byte [eax + edi + 2]
mov byte [ecx + edi - 1], dl
movzx edx, byte [eax + edi + 3]
mov byte [ecx + edi], dl
add edi, 4
cmp ebx, edi
jne 0x66b030
jmp 0x66b1bb
test ecx, ecx
mov edi, dword [esi + 4]
je 0x66b1bb
cmp edi, 4
jb 0x66b134
mov ecx, eax
sub ecx, edx
cmp ecx, 0x10
jb 0x66b134
xor edx, edx
cmp edi, 0x10
jb 0x66b0d6
mov ecx, dword [esi + 0xc]
add ecx, ecx
mov edx, edi
and edx, 0xfffffff0
add ecx, edi
mov ebx, edi
mov edi, dword [esi + 8]
add ecx, edi
add ecx, 0xfffffff0
mov dword [esi + 0x10], ecx
lea ecx, [ebx + eax]
add ecx, 0xfffffff0
mov dword [esi + 0x34], ecx
and ebx, 0xfffffff0
neg ebx
xor ecx, ecx
nop
mov edi, dword [esi + 0x34]
movups xmm0, xmmword [edi + ecx]
mov edi, dword [esi + 0x10]
movups xmmword [edi + ecx], xmm0
add ecx, 0xfffffff0
cmp ebx, ecx
jne 0x66b0b0
mov edi, dword [esi + 4]
cmp edi, edx
je 0x66b1bb
test byte [esi], 6
je 0x66b131
mov ecx, edi
and ecx, 0xfffffffc
mov dword [esi + 0x40], ecx
mov ebx, edi
and edi, 2
mov ecx, dword [esi + 0xc]
lea ecx, [ebx + ecx*2]
mov ebx, dword [esi + 8]
add ecx, ebx
add ecx, 0xfffffffc
mov dword [esi], ecx
neg edx
mov ecx, dword [esi + 0x40]
neg ecx
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 4]
add ecx, eax
add ecx, 0xfffffffc
mov dword [esi + 0x34], ecx
nop dword [eax + eax]
nop
mov ecx, dword [esi + 0x34]
mov ebx, dword [ecx + edx]
mov ecx, dword [esi]
mov dword [ecx + edx], ebx
add edx, 0xfffffffc
cmp dword [esi + 0x10], edx
jne 0x66b110
mov ecx, dword [esi + 0x40]
cmp dword [esi + 4], ecx
jne 0x66b134
jmp 0x66b1bb
and edi, 0xe
lea ecx, [edi - 1]
mov dword [esi + 4], ecx
mov ebx, edi
and ebx, 2
jne 0x66b145
mov ecx, edi
jmp 0x66b175
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
lea ecx, [ecx + edx*2]
dec ecx
mov dword [esi], ecx
mov dword [esi + 0x14], eax
nop word cs:[eax + eax]
lea ecx, [edi - 1]
movzx edx, byte [eax + edi - 1]
mov eax, dword [esi]
mov byte [eax + edi], dl
mov eax, dword [esi + 0x14]
dec ebx
mov edi, ecx
jne 0x66b160
cmp dword [esi + 4], 3
mov edi, dword [esi + 0xc]
jb 0x66b1bb
mov edx, dword [esi + 8]
lea edx, [edx + edi*2]
dec edx
mov edi, ecx
nop word [eax + eax]
nop
movzx ebx, byte [eax + ecx - 1]
mov byte [edx + ecx], bl
movzx ebx, byte [eax + ecx - 2]
mov byte [edx + ecx - 1], bl
movzx ebx, byte [eax + ecx - 3]
mov byte [edx + ecx - 2], bl
movzx ebx, byte [eax + ecx - 4]
mov byte [edx + ecx - 3], bl
add edi, 0xfffffffc
mov ecx, edi
jne 0x66b190
nop
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x44]
mov word [eax + ecx*2], 0
nop
mov eax, dword [esi + 0x30]
cmp eax, 8
jb 0x66b20a
nop
mov ecx, dword [esi + 0x1c]
lea edi, [eax*2 + 2]
cmp edi, 0x1000
jb 0x66b1ff
nop
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x66b28d
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
nop
push edi
push ecx
call fcn.008ea1ad
add esp, 8
nop
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 7
mov word [esi + 0x1c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 8
jb 0x66b25c
nop
mov ecx, dword [esi + 0x48]
lea edi, [eax*2 + 2]
cmp edi, 0x1000
jb 0x66b251
nop
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x66b29d
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
nop
push edi
push ecx
call fcn.008ea1ad
add esp, 8
lea ecx, [esi + 0x60]
call fcn.0066bfd0
mov eax, dword [esi + 0x100]
mov dword fs:[0], eax
mov eax, dword [esi + 0x38]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
nop
mov dword [esi + 0x108], 3
call fcn.00667720
nop
mov dword [esi + 0x108], 0
call fcn.008cd651
nop
mov dword [esi + 0x108], 1
call fcn.008cd651
nop dword [eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0x10c]
mov ebp, dword [esi + 0xf8]
call fcn.00901a00
nop word cs:[eax + eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0x10c]
mov ebp, dword [esi + 0xf8]
call fcn.00901a00
nop word cs:[eax + eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0x10c]
mov ebp, dword [esi + 0xf8]
lea ecx, [esi + 0x18]
call fcn.0066b350
add esp, 0x10
pop ebp
ret