Function at 0x464540
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x73bf46
mov eax, dword fs:[0]
push eax
sub esp, 0x92c
mov eax, dword [0x8312b0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x914], edi
push 0x13
xor eax, eax
mov dword [ebp - 0x898], 0
push 0x7e6ea8
lea ecx, [ebp - 0x8a8]
mov dword [ebp - 0x894], 7
mov word [ebp - 0x8a8], ax
call fcn.0044bdc0
mov dword [ebp - 4], 0
xor eax, eax
mov dword [ebp - 0x87c], 0
mov dword [ebp - 0x878], 7
mov word [ebp - 0x88c], ax
mov dword [ebp - 0x864], eax
mov dword [ebp - 0x860], 7
mov word [ebp - 0x874], ax
mov dword [ebp - 0x84c], eax
mov dword [ebp - 0x848], 7
mov word [ebp - 0x85c], ax
mov dword [ebp - 0x83c], eax
mov dword [ebp - 0x838], eax
mov byte [ebp - 0x834], al
mov dword [ebp - 0x830], eax
mov dword [ebp - 0x82c], eax
mov dword [ebp - 0x818], eax
mov dword [ebp - 0x814], 7
mov word [ebp - 0x828], ax
mov byte [ebp - 4], 1
xor edx, edx
mov esi, dword [edi + 0x30]
xorps xmm0, xmm0
mov dword [ebp - 0x844], eax
mov dword [ebp - 0x840], eax
mov eax, dword [edi + 0x34]
xor edi, edi
mov ecx, eax
mov dword [ebp - 0x890], 3
sub ecx, esi
movss dword [ebp - 0x920], xmm0
add ecx, 3
shr ecx, 2
cmp esi, eax
cmova ecx, edx
mov dword [ebp - 0x924], ecx
test ecx, ecx
je 0x464694
mov eax, ecx
mov ecx, dword [esi]
test ecx, ecx
je 0x46468c
mov eax, dword [ecx]
lea edx, [ebp - 0x890]
push edx
call dword [eax]
mov eax, dword [ebp - 0x924]
inc edi
add esi, 4
cmp edi, eax
jne 0x464675
movss xmm0, dword [0x809b90]
mov esi, 0x64
mov edi, dword [0x83ce70]
movss dword [ebp - 0x924], xmm0
mov dword [ebp - 0x930], 0
mov dword [ebp - 0x92c], 0
test edi, edi
jne 0x4646ff
push 0x7e6ccc
push 0x7e6cdc
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
mov edi, eax
mov dword [0x83ce70], edi
test edi, edi
je 0x4646ff
push 0x83ce6c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call edi
mov edi, dword [0x83ce70]
cmp dword [0x83ce6c], 1
mov eax, 0x32
mov edx, dword [ebp - 0x914]
cmove esi, eax
mov dword [ebp - 0x938], esi
mov eax, dword [edx + 0x78]
test eax, eax
je 0x46474d
movsd xmm0, qword [0x809b78]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x809bd0]
divsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x924], xmm0
mov eax, dword [edx + 0x74]
mov esi, dword [eax]
cmp esi, eax
je 0x464a4d
nop word [eax + eax]
mov al, byte [edx + 0x2c]
test al, al
jne 0x464a47
mov edi, dword [esi + 0x14]
mov dword [ebp - 0x928], edi
test edi, edi
je 0x464a02
cmp byte [edi + 4], al
jne 0x464a02
mov dword [ebp - 0x890], 3
lea ecx, [ebp - 0x8d8]
mov edx, dword [edi]
call fcn.004b5d50
lea ecx, [ebp - 0x88c]
mov dword [ebp - 0x918], eax
cmp ecx, eax
je 0x4647e1
call fcn.0044bf40
mov eax, dword [ebp - 0x918]
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x88c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x87c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x8d8]
call fcn.0044bf40
lea edx, [edi + 8]
push 0x7e6ed0
lea ecx, [ebp - 0x8f0]
mov dword [ebp - 0x91c], edx
call fcn.0045b670
mov edi, eax
add esp, 4
lea eax, [ebp - 0x874]
cmp eax, edi
je 0x464845
mov ecx, eax
call fcn.0044bf40
movups xmm0, xmmword [edi]
xor eax, eax
movups xmmword [ebp - 0x874], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x864], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov word [edi], ax
lea ecx, [ebp - 0x8f0]
call fcn.0044bf40
mov eax, dword [ebp - 0x914]
xor edx, edx
movss xmm0, dword [ebp - 0x920]
mov dword [ebp - 0x844], 1
movss dword [ebp - 0x840], xmm0
mov edi, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov ecx, eax
sub ecx, edi
mov dword [ebp - 0x910], edx
add ecx, 3
shr ecx, 2
cmp edi, eax
cmova ecx, edx
mov dword [ebp - 0x90c], ecx
test ecx, ecx
je 0x4648cb
mov eax, ecx
nop dword [eax]
mov ecx, dword [edi]
test ecx, ecx
je 0x4648bd
mov eax, dword [ecx]
lea edx, [ebp - 0x890]
push edx
call dword [eax]
mov edx, dword [ebp - 0x910]
mov eax, dword [ebp - 0x90c]
inc edx
add edi, 4
mov dword [ebp - 0x910], edx
cmp edx, eax
jne 0x4648a0
mov eax, dword [ebp - 0x928]
cmp dword [eax + 0x48], 0
mov cl, byte [eax + 4]
mov dword [ebp - 0x928], ecx
jne 0x4648e4
xor edx, edx
jmp 0x4648ef
cmp dword [eax + 0x4c], 8
lea edx, [eax + 0x38]
jb 0x4648ef
mov edx, dword [edx]
cmp byte [eax + 5], 0
je 0x464902
cmp dword [eax + 0x34], 8
lea ecx, [eax + 0x20]
jb 0x464904
mov ecx, dword [ecx]
jmp 0x464904
xor ecx, ecx
mov edi, dword [ebp - 0x91c]
cmp dword [edi + 0x14], 8
jb 0x464912
mov edi, dword [edi]
push dword [ebp - 0x928]
cmp dword [ebp - 0x894], 8
lea eax, [ebp - 0x8a8]
push edx
cmovae eax, dword [ebp - 0x8a8]
push ecx
push edi
push eax
call fcn.004657e0
cmp eax, 1
jne 0x464946
mov dword [ebp - 0x844], 2
jmp 0x464963
mov eax, dword [ebp - 0x92c]
inc eax
mov dword [ebp - 0x844], 3
mov dword [ebp - 0x92c], eax
mov dword [ebp - 0x838], eax
mov eax, dword [ebp - 0x930]
xor edx, edx
movss xmm0, dword [ebp - 0x920]
inc eax
addss xmm0, dword [ebp - 0x924]
mov dword [ebp - 0x930], eax
mov dword [ebp - 0x83c], eax
mov eax, dword [ebp - 0x914]
mov dword [ebp - 0x90c], edx
movss dword [ebp - 0x920], xmm0
movss dword [ebp - 0x840], xmm0
mov edi, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov ecx, eax
sub ecx, edi
add ecx, 3
shr ecx, 2
cmp edi, eax
cmova ecx, edx
mov dword [ebp - 0x910], ecx
test ecx, ecx
je 0x4649f0
mov eax, ecx
mov ecx, dword [edi]
test ecx, ecx
je 0x4649e2
mov eax, dword [ecx]
lea edx, [ebp - 0x890]
push edx
call dword [eax]
mov edx, dword [ebp - 0x90c]
mov eax, dword [ebp - 0x910]
inc edx
add edi, 4
mov dword [ebp - 0x90c], edx
cmp edx, eax
jne 0x4649c5
push dword [ebp - 0x938]
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x914]
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x464a28
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x464a24
cmp esi, dword [eax + 8]
jne 0x464a24
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x464a14
mov esi, eax
jmp 0x464a3e
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x464a3e
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x464a32
cmp esi, dword [edx + 0x74]
jne 0x464760
mov edi, dword [0x83ce70]
test edi, edi
jne 0x464a86
push 0x7e6ccc
push 0x7e6cdc
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
mov esi, eax
mov dword [0x83ce70], esi
test esi, esi
je 0x464a8c
push 0x83ce6c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
jmp 0x464a8c
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [0x83ce6c], 1
jne 0x464e68
mov eax, dword [0x83ce68]
mov dword [ebp - 0x918], 0
test eax, eax
jne 0x464ac8
push str.Wow64DisableWow64FsRedirection
push 0x7e6d10
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call edi
mov dword [0x83ce68], eax
test eax, eax
je 0x464ad1
lea ecx, [ebp - 0x918]
push ecx
call eax
mov edx, dword [ebp - 0x914]
mov eax, dword [edx + 0x74]
mov esi, dword [eax]
cmp esi, eax
je 0x464e35
mov al, byte [edx + 0x2c]
test al, al
jne 0x464e35
mov edi, dword [esi + 0x14]
mov dword [ebp - 0x928], edi
test edi, edi
je 0x464ded
cmp byte [edi + 4], al
je 0x464ded
push 0x800
lea eax, [ebp - 0x810]
mov dword [ebp - 0x890], 3
push 0
push eax
call fcn.0070dcd0
push 0xa
push 0x400
lea eax, [ebp - 0x810]
push eax
push dword [edi]
call fcn.0071c4e1
add esp, 0x1c
mov dword [ebp - 0x8b0], 0
xor eax, eax
mov dword [ebp - 0x8ac], 7
lea ecx, [ebp - 0x810]
mov word [ebp - 0x8c0], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x464b64
sub ecx, edx
lea eax, [ebp - 0x810]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x8c0]
call fcn.0044bdc0
lea ecx, [ebp - 0x88c]
call fcn.0044bf40
movups xmm0, xmmword [ebp - 0x8c0]
xor eax, eax
lea ecx, [ebp - 0x8c0]
mov word [ebp - 0x8c0], ax
movups xmmword [ebp - 0x88c], xmm0
movq xmm0, qword [ebp - 0x8b0]
movq qword [ebp - 0x87c], xmm0
mov dword [ebp - 0x8b0], 0
mov dword [ebp - 0x8ac], 7
call fcn.0044bf40
lea edx, [edi + 8]
push 0x7e6edc
lea ecx, [ebp - 0x908]
mov dword [ebp - 0x934], edx
call fcn.0045b670
mov edi, eax
add esp, 4
lea eax, [ebp - 0x874]
cmp eax, edi
je 0x464c30
mov ecx, eax
call fcn.0044bf40
movups xmm0, xmmword [edi]
xor eax, eax
movups xmmword [ebp - 0x874], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x864], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov word [edi], ax
lea ecx, [ebp - 0x908]
call fcn.0044bf40
mov eax, dword [ebp - 0x914]
xor edx, edx
movss xmm0, dword [ebp - 0x920]
mov dword [ebp - 0x844], 1
movss dword [ebp - 0x840], xmm0
mov edi, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov ecx, eax
sub ecx, edi
mov dword [ebp - 0x90c], edx
add ecx, 3
shr ecx, 2
cmp edi, eax
cmova ecx, edx
mov dword [ebp - 0x910], ecx
test ecx, ecx
je 0x464caf
mov eax, ecx
mov ecx, dword [edi]
test ecx, ecx
je 0x464ca1
mov eax, dword [ecx]
lea edx, [ebp - 0x890]
push edx
call dword [eax]
mov edx, dword [ebp - 0x90c]
mov eax, dword [ebp - 0x910]
inc edx
add edi, 4
mov dword [ebp - 0x90c], edx
cmp edx, eax
jne 0x464c84
mov eax, dword [ebp - 0x928]
cmp dword [eax + 0x48], 0
mov cl, byte [eax + 4]
mov dword [ebp - 0x91c], ecx
jne 0x464cc8
xor edx, edx
jmp 0x464cd3
cmp dword [eax + 0x4c], 8
lea edx, [eax + 0x38]
jb 0x464cd3
mov edx, dword [edx]
cmp byte [eax + 5], 0
je 0x464ce6
cmp dword [eax + 0x34], 8
lea ecx, [eax + 0x20]
jb 0x464ce8
mov ecx, dword [ecx]
jmp 0x464ce8
xor ecx, ecx
mov edi, dword [ebp - 0x934]
cmp dword [edi + 0x14], 8
jb 0x464cf6
mov edi, dword [edi]
push dword [ebp - 0x91c]
cmp dword [ebp - 0x894], 8
lea eax, [ebp - 0x8a8]
push edx
cmovae eax, dword [ebp - 0x8a8]
push ecx
push edi
push eax
call fcn.004657e0
cmp eax, 1
jne 0x464d2a
mov dword [ebp - 0x844], 2
jmp 0x464d47
mov eax, dword [ebp - 0x92c]
inc eax
mov dword [ebp - 0x844], 3
mov dword [ebp - 0x92c], eax
mov dword [ebp - 0x838], eax
mov eax, dword [ebp - 0x930]
xor edx, edx
movss xmm0, dword [ebp - 0x920]
inc eax
addss xmm0, dword [ebp - 0x924]
mov dword [ebp - 0x930], eax
mov dword [ebp - 0x83c], eax
mov eax, dword [ebp - 0x914]
mov dword [ebp - 0x90c], edx
movss dword [ebp - 0x920], xmm0
movss dword [ebp - 0x840], xmm0
mov edi, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov ecx, eax
sub ecx, edi
add ecx, 3
shr ecx, 2
cmp edi, eax
cmova ecx, edx
mov dword [ebp - 0x910], ecx
test ecx, ecx
je 0x464ddb
mov eax, ecx
nop dword [eax]
mov ecx, dword [edi]
test ecx, ecx
je 0x464dcd
mov eax, dword [ecx]
lea edx, [ebp - 0x890]
push edx
call dword [eax]
mov edx, dword [ebp - 0x90c]
mov eax, dword [ebp - 0x910]
inc edx
add edi, 4
mov dword [ebp - 0x90c], edx
cmp edx, eax
jne 0x464db0
push dword [ebp - 0x938]
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x914]
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x464e14
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x464e10
nop
cmp esi, dword [eax + 8]
jne 0x464e10
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x464e00
mov esi, eax
jmp 0x464e2c
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x464e2c
nop
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x464e20
cmp esi, dword [edx + 0x74]
jne 0x464ae4
mov eax, dword [0x83ce64]
mov esi, dword [ebp - 0x918]
test eax, eax
jne 0x464e65
push str.Wow64RevertWow64FsRedirection
push 0x7e6d44
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
mov dword [0x83ce64], eax
test eax, eax
je 0x464e68
push esi
call eax
mov edi, dword [ebp - 0x914]
xor edx, edx
mov dword [ebp - 0x844], 5
mov dword [ebp - 0x840], 0x42c80000
mov eax, dword [edi + 0x34]
mov ecx, eax
mov esi, dword [edi + 0x30]
sub ecx, esi
add ecx, 3
xor edi, edi
shr ecx, 2
cmp esi, eax
cmova ecx, edx
mov dword [ebp - 0x918], ecx
test ecx, ecx
je 0x464ec6
mov eax, ecx
mov ecx, dword [esi]
test ecx, ecx
je 0x464ebe
mov eax, dword [ecx]
lea edx, [ebp - 0x890]
push edx
call dword [eax]
mov eax, dword [ebp - 0x918]
inc edi
add esi, 4
cmp edi, eax
jne 0x464ea7
lea ecx, [ebp - 0x828]
call fcn.0044bf40
lea ecx, [ebp - 0x85c]
call fcn.0044bf40
lea ecx, [ebp - 0x874]
call fcn.0044bf40
lea ecx, [ebp - 0x88c]
call fcn.0044bf40
lea ecx, [ebp - 0x8a8]
call fcn.0044bf40
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.006f4f1e
mov esp, ebp
pop ebp
ret