Function at 0x40eb00
Capabilities:
Get number of processors
Get session user name

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d3f98
mov eax, dword fs:[0]
push eax
sub esp, 0x31c
mov eax, dword [0x4f3070]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x2f8]
call fcn.004041c0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x2f8]
add ecx, 0x18
call fcn.004041c0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x2f8]
add ecx, 0x30
call fcn.004041c0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2f8]
mov dword [eax + 0x4c], 0
mov ecx, dword [ebp - 0x2f8]
mov dword [ecx + 0x50], 0
mov dword [ebp - 0x308], 0x64
lea edx, [ebp - 0x308]
push edx
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
lea ecx, [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x2f8]
add ecx, 0x30
call fcn.0040f170
push 0x104
lea edx, [ebp - 0x27c]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x300], eax
cmp dword [ebp - 0x300], 0
jne 0x40ebe9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_get_local_path__error___d__n
call fcn.004012b0
add esp, 8
mov eax, dword [ebp - 0x300]
sub eax, 1
mov dword [ebp - 0x2fc], eax
jmp 0x40ec09
mov ecx, dword [ebp - 0x2fc]
sub ecx, 1
mov dword [ebp - 0x2fc], ecx
cmp dword [ebp - 0x2fc], 0
jl 0x40ec5c
mov edx, dword [ebp - 0x2fc]
movzx eax, word [ebp + edx*2 - 0x27c]
cmp eax, 0x5c
jne 0x40ec5a
mov ecx, dword [ebp - 0x2fc]
lea edx, [ecx + ecx + 2]
mov dword [ebp - 0x304], edx
cmp dword [ebp - 0x304], 0x208
jae 0x40ec43
jmp 0x40ec48
call fcn.004b448a
xor eax, eax
mov ecx, dword [ebp - 0x304]
mov word [ebp + ecx - 0x27c], ax
jmp 0x40ec5c
jmp 0x40ebfa
mov edx, dword [ebp - 0x2f8]
add edx, 0x30
push edx
push str.C:Users_
lea eax, [ebp - 0x2ac]
push eax
call fcn.00407660
add esp, 0xc
mov dword [ebp - 0x30c], eax
mov ecx, dword [ebp - 0x30c]
mov dword [ebp - 0x310], ecx
mov byte [ebp - 4], 5
lea edx, [ebp + 8]
push edx
mov eax, dword [ebp - 0x310]
push eax
lea ecx, [ebp - 0x294]
push ecx
call fcn.00408100
add esp, 0xc
mov dword [ebp - 0x314], eax
mov edx, dword [ebp - 0x314]
push edx
mov ecx, dword [ebp - 0x2f8]
add ecx, 0x18
call fcn.00403f70
lea ecx, [ebp - 0x294]
call fcn.00403f20
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2ac]
call fcn.00403f20
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea eax, [ebp - 0x2f4]
push eax
call fcn.0040ead0
add esp, 8
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x318]
mov dword [ebp - 0x320], ecx
mov byte [ebp - 4], 6
lea edx, [ebp + 0x20]
push edx
push str.C:WindowsTemp_
lea eax, [ebp - 0x2dc]
push eax
call fcn.00407660
add esp, 0xc
mov dword [ebp - 0x31c], eax
mov ecx, dword [ebp - 0x31c]
mov dword [ebp - 0x324], ecx
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x320]
push edx
mov eax, dword [ebp - 0x324]
push eax
lea ecx, [ebp - 0x2c4]
push ecx
call fcn.00407720
add esp, 0xc
mov dword [ebp - 0x328], eax
mov edx, dword [ebp - 0x328]
push edx
mov ecx, dword [ebp - 0x2f8]
call fcn.00403f70
lea ecx, [ebp - 0x2c4]
call fcn.00403f20
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2dc]
call fcn.00403f20
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2f4]
call fcn.00403f20
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [ebp + 0x38]
mov dword [eax + 0x48], ecx
push 0x40d330
mov ecx, dword [ebp - 0x2f8]
call fcn.00403e10
push eax
push str.tmpFilepath_is_:
mov edx, dword [ebp - 0x2f8]
mov eax, dword [edx + 0x48]
push eax
call fcn.0040d010
add esp, 8
push eax
call fcn.0040d010
add esp, 8
mov ecx, eax
call fcn.0040be70
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00403f20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x20]
call fcn.00403f20
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b4119
mov esp, ebp
pop ebp
ret 0x34