Function at 0x66e380
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 + 0x3c], 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], 0x684480
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.0066f300
mov dword [esi + 0x108], 3
mov ecx, edi
push ebx
call fcn.0066f4c0
lea ecx, [esi + 0x64]
lea eax, [esi + 0x48]
push eax
call fcn.00677960
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 + 4], edi
jae 0x66e4b8
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], 0x954d78
jmp 0x66e641
mov dword [esi + 8], edx
mov ecx, edi
or ecx, 7
cmp ecx, 0x7ffffffe
mov eax, 0x7ffffffe
cmovb eax, ecx
mov dword [esi + 0x10], eax
add eax, eax
cmp ecx, 0x7ff
jb 0x66e50a
cmp ecx, 0x7fffffee
jae 0x66ead2
add eax, 0x25
mov dword [esi + 0x108], 4
push eax
call fcn.0091d7fd
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x66e520
add eax, 2
mov dword [esi + 0x108], 4
push eax
call fcn.0091d7fd
add esp, 4
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 4]
lea ecx, [ecx*2 + 2]
xor edx, edx
mov dword [esi + 0xc], ecx
cmp ecx, 8
jb 0x66e5b7
mov edi, eax
mov ecx, dword [esi + 8]
sub edi, ecx
cmp edi, 0x20
nop
mov ebx, dword [esi + 0xc]
jb 0x66e5b7
xor edx, edx
cmp ebx, 0x20
jb 0x66e58a
mov edx, ebx
and edx, 0xffffffe0
xor edi, edi
nop dword [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 0x66e560
mov ebx, dword [esi + 0xc]
cmp ebx, edx
je 0x66e62a
test bl, 0x18
je 0x66e5b7
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 0x66e5a0
cmp dword [esi + 0xc], edx
je 0x66e62a
mov ecx, dword [esi + 4]
lea edi, [ecx + ecx]
or edi, 1
sub edi, edx
mov dword [esi + 0x38], edi
test cl, 1
jne 0x66e806
mov ebx, 2
mov edi, dword [esi + 8]
nop word cs:[eax + eax]
nop
movzx ecx, byte [edi + edx]
mov byte [eax + edx], cl
inc edx
dec ebx
jne 0x66e5e0
cmp dword [esi + 0x38], 3
mov ebx, dword [esi + 0xc]
jb 0x66e62a
nop word cs:[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 0x66e600
nop
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov dword [esi + 0x18], 0x954d78
mov eax, dword [esi + 0x1c]
nop
mov edi, dword [esi + 0x3c]
mov ecx, dword [edi + 0x14]
mov ebx, dword [edi + 0x18]
mov edx, ebx
sub edx, ecx
cmp edx, dword [esi + 4]
lea edx, [edi + 4]
jae 0x66e689
nop
mov dword [esi + 0x108], 5
sub esp, 0x10
mov edi, edx
movzx edx, byte [esi + 0x40]
mov byte [esp + 4], dl
mov ecx, dword [esi + 4]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp], ecx
mov ecx, edi
call fcn.0066ed50
jmp 0x66e967
nop
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ecx
mov edx, dword [esi + 4]
add ecx, edx
mov dword [esi + 0x38], ecx
mov dword [edi + 0x14], ecx
cmp ebx, 8
jb 0x66e6a9
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + 4]
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
lea edx, [ecx + edx*2]
mov ecx, dword [esi + 4]
lea edi, [ecx + ecx]
mov dword [esi + 8], edi
mov edi, edx
sub edi, eax
jae 0x66e7ef
test ecx, ecx
mov ecx, dword [esi + 8]
je 0x66e95b
cmp ecx, 1
mov ebx, ecx
adc ebx, 0
mov dword [esi + 4], ebx
xor ebx, ebx
cmp ecx, 8
jb 0x66e77b
cmp edi, 0x20
mov ecx, dword [esi + 8]
jb 0x66e77b
xor ebx, ebx
cmp ecx, 0x20
jb 0x66e74b
mov ecx, dword [esi + 0x10]
lea edi, [ecx + ecx]
mov ebx, dword [esi + 4]
and ebx, 0xffffffe0
mov ecx, dword [esi + 0xc]
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 0x66e720
cmp dword [esi + 8], ecx
je 0x66e95b
mov ebx, ecx
test byte [esi + 4], 0x18
je 0x66e77b
mov edi, ebx
mov ebx, dword [esi + 4]
and ebx, 0xfffffff8
nop word cs:[eax + eax]
nop
movsd xmm0, qword [eax + edi]
movsd qword [edx + edi], xmm0
add edi, 8
cmp ebx, edi
jne 0x66e760
cmp dword [esi + 8], ebx
je 0x66e95b
mov edi, ebx
mov ebx, dword [esi + 4]
mov dword [esi + 0x14], edi
and ebx, 3
je 0x66e79c
mov edi, dword [esi + 0x14]
nop dword [eax + eax]
nop
movzx ecx, byte [eax + edi]
mov byte [edx + edi], cl
inc edi
dec ebx
jne 0x66e790
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 4]
cmp ecx, 0xfffffffc
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 8]
ja 0x66e95b
mov ecx, dword [esi + 0xc]
lea ecx, [ecx + edx*2]
add ecx, 3
nop word [eax + 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 0x66e7c0
jmp 0x66e95b
test ecx, ecx
mov ecx, dword [esi + 8]
je 0x66e95b
cmp ecx, 4
jae 0x66e81b
mov edi, ecx
jmp 0x66e8dd
mov edi, dword [esi + 8]
cmp dword [esi + 0x38], 3
mov ebx, dword [esi + 0xc]
jae 0x66e600
jmp 0x66e62a
mov ecx, eax
sub ecx, edx
cmp ecx, 0x10
jae 0x66e82c
mov edi, dword [esi + 8]
jmp 0x66e8dd
xor edx, edx
mov ecx, dword [esi + 8]
cmp ecx, 0x10
jb 0x66e88b
mov edx, dword [esi + 0x10]
lea ebx, [edx + edx]
mov edx, ecx
and edx, 0xfffffff0
add ebx, ecx
mov edi, dword [esi + 0xc]
add edi, ebx
add edi, 0xfffffff0
mov dword [esi + 0x14], edi
lea edi, [ecx + eax]
add edi, 0xfffffff0
mov dword [esi + 0x34], edi
mov ebx, ecx
and ebx, 0xfffffff0
neg ebx
xor ecx, ecx
nop
mov edi, dword [esi + 0x34]
movups xmm0, xmmword [edi + ecx]
mov edi, dword [esi + 0x14]
movups xmmword [edi + ecx], xmm0
add ecx, 0xfffffff0
cmp ebx, ecx
jne 0x66e860
mov ecx, dword [esi + 8]
cmp ecx, edx
je 0x66e95b
test byte [esi + 4], 6
je 0x66eaca
mov edi, ecx
and edi, 0xfffffffc
mov dword [esi + 0x44], edi
mov edi, ecx
and edi, 2
mov ebx, ecx
mov ecx, dword [esi + 0x10]
lea ecx, [ebx + ecx*2]
mov ebx, dword [esi + 0xc]
add ecx, ebx
add ecx, 0xfffffffc
mov dword [esi + 4], ecx
neg edx
mov ecx, dword [esi + 0x44]
neg ecx
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 8]
add ecx, eax
add ecx, 0xfffffffc
mov dword [esi + 0x34], ecx
nop
mov ecx, dword [esi + 0x34]
mov ebx, dword [ecx + edx]
mov ecx, dword [esi + 4]
mov dword [ecx + edx], ebx
add edx, 0xfffffffc
cmp dword [esi + 0x14], edx
jne 0x66e8c0
mov ecx, dword [esi + 0x44]
cmp dword [esi + 8], ecx
je 0x66e95b
lea ecx, [edi - 1]
mov dword [esi + 4], ecx
mov ebx, edi
and ebx, 2
jne 0x66e8ee
mov ecx, edi
jmp 0x66e911
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
lea edx, [ecx + edx*2]
dec edx
nop dword [eax + eax]
nop
movzx ecx, byte [eax + edi - 1]
mov byte [edx + edi], cl
lea ecx, [edi - 1]
dec ebx
mov edi, ecx
jne 0x66e900
cmp dword [esi + 4], 3
mov edi, dword [esi + 0x10]
jb 0x66e95b
mov edx, dword [esi + 0xc]
lea edx, [edx + edi*2]
dec edx
mov edi, ecx
nop word cs:[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 0x66e930
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x38]
mov word [eax + ecx*2], 0
mov eax, dword [esi + 0x30]
cmp eax, 8
jb 0x66e9a7
nop
mov ecx, dword [esi + 0x1c]
lea edi, [eax*2 + 2]
cmp edi, 0x1000
jb 0x66e99d
nop
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x66eae2
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.0091d82d
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 0x66e9fc
nop
mov ecx, dword [esi + 0x48]
lea edi, [eax*2 + 2]
cmp edi, 0x1000
jb 0x66e9f2
nop
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x66eaf2
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.0091d82d
add esp, 8
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 4]
mov dword [esi + eax + 0x60], 0x954e38
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x50]
mov dword [esi + eax + 0x5c], ecx
mov dword [esi + 0x64], 0x955594
lea ecx, [esi + 0x64]
call fcn.00672fa0
mov dword [esi + 0x64], 0x955664
mov ebx, dword [esi + 0x98]
test ebx, ebx
je 0x66ea8d
mov edi, dword [ebx + 4]
test edi, edi
je 0x66ea77
nop
mov eax, dword [edi]
mov ecx, dword [eax + 8]
mov dword [esi + 4], ecx
mov dword [esi + 0x108], 0xffffffff
call dword [0xa37360]
mov ecx, edi
call dword [esi + 4]
test eax, eax
je 0x66ea77
nop
mov ecx, dword [eax]
mov edi, dword [ecx]
mov ecx, edi
mov dword [esi + 4], eax
call dword [0xa37360]
mov ecx, dword [esi + 4]
push 1
call edi
nop
push 8
push ebx
call fcn.0091d82d
add esp, 8
mov dword [esi + 0x108], 2
mov dword [esi + 0xb0], 0x955078
mov dword [esi + 0x108], 2
lea eax, [esi + 0xb0]
push eax
call fcn.0091edff
add esp, 4
nop
mov eax, dword [esi + 0x100]
mov dword fs:[0], eax
mov eax, dword [esi + 0x3c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
and ecx, 0xe
jmp 0x66e7ff
nop
mov dword [esi + 0x108], 4
call fcn.0066aec0
nop
mov dword [esi + 0x108], 0
call fcn.00900ce1
nop
mov dword [esi + 0x108], 1
call fcn.00900ce1
nop word cs:[eax + eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0x10c]
mov ebp, dword [esi + 0xf8]
call fcn.009350a0
nop word cs:[eax + eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0x10c]
mov ebp, dword [esi + 0xf8]
call fcn.009350a0
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.0066ebd0
add esp, 0x10
pop ebp
ret