Function at 0x41fa00
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x613c2a
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6963f4]
xor eax, esp
push eax
lea eax, [esp + 0xe8]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xf8]
xor esi, esi
xor edi, edi
cmp dword [esp + 0xfc], esi
mov dword [esp + 0x30], edi
je 0x41fa61
mov ecx, dword [ebp + 0x5c]
call fcn.004b6810
mov edi, eax
cmp edi, esi
mov dword [esp + 0x30], edi
je 0x41fa61
mov dword [edi + 0xc], 1
mov dword [edi + 0x10], esi
mov ecx, dword [ebp + 0x5c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x168]
call edx
mov ecx, ebp
call fcn.0041d310
mov ebx, eax
lea eax, [esp + 0x48]
push eax
mov eax, dword [ebp + 0x5c]
mov dword [esp + 0x1c], 1
call fcn.004b5b30
cmp edi, esi
je 0x41facf
push 0x480
mov dword [esp + 0x1c], esi
call fcn.0055dbcb
add esp, 4
mov dword [esp + 0x34], eax
cmp eax, esi
mov dword [esp + 0xf0], esi
je 0x41fab8
push eax
call fcn.004e31f0
jmp 0x41faba
xor eax, eax
push edi
mov dword [esp + 0xf4], 0xffffffff
mov ebx, eax
call fcn.004e3a10
jmp 0x41fafc
cmp dword [esp + 0x48], esi
jg 0x41faed
cmp dword [esp + 0x4c], esi
jg 0x41faed
mov eax, dword [ebx + 0x24]
cmp dword [esp + 0x50], eax
jl 0x41faed
mov eax, dword [ebx + 0x28]
cmp dword [esp + 0x54], eax
jge 0x41fafc
push 1
mov ecx, ebp
mov dword [esp + 0x1c], esi
call fcn.0041def0
mov ebx, eax
cmp edi, esi
movzx ecx, word [ebx + 0x2e]
mov dword [esp + 0x34], ecx
jne 0x41fc17
or edi, 0xffffffff
cmp dword [ebx + 0xc], esi
je 0x41fb1f
mov edi, dword [ebx + 0x10]
and edi, 0xffffff
jmp 0x41fb5c
cmp dword [esp + 0x18], esi
je 0x41fb3e
mov eax, dword [ebp + 0x5c]
cmp dword [eax + 0x9d8], esi
je 0x41fb3e
mov edi, dword [eax + 0x9c0]
and edi, 0xffffff
jmp 0x41fb5c
mov esi, dword [ebp + 0x5c]
call fcn.004b5460
test eax, eax
je 0x41fb5a
mov esi, dword [ebp + 0x5c]
call fcn.004b51e0
mov edi, eax
and edi, 0xffffff
xor esi, esi
movzx edx, word [ebx + 0x2c]
mov eax, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x24]
push 0x2ffffff
push esi
push 0x20
push edx
push eax
push ecx
call fcn.004e3ee0
push edi
mov esi, ebx
call fcn.004e80e0
push 0x480
call fcn.0055dbcb
add esp, 4
mov dword [esp + 0x58], eax
test eax, eax
mov dword [esp + 0xf0], 1
je 0x41fba8
push eax
call fcn.004e31f0
mov esi, eax
jmp 0x41fbaa
xor esi, esi
push 0
push 0x20
mov dword [esp + 0xf8], 0xffffffff
mov eax, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x24]
push 1
add eax, 0xc8
push eax
add ecx, 0xc8
push ecx
push esi
call fcn.004e3c50
push 0
mov ecx, esi
call fcn.004e4720
push 1
xor eax, eax
mov ecx, esi
call fcn.004e45e0
mov ecx, 0x64
mov edx, ecx
push edx
push ecx
push eax
xor eax, eax
xor edx, edx
mov ecx, ebx
call fcn.004e4270
mov ecx, ebp
call fcn.0041d310
cmp ebx, eax
je 0x41fc13
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push 1
mov ecx, ebx
call eax
mov ebx, esi
xor esi, esi
mov ecx, dword [0x6a05ac]
mov edx, dword [ebx + 0x448]
lea ebp, [esp + 0x1c]
push ebp
lea ebp, [esp + 0x28]
push ebp
push 1
mov eax, 0xb4
sub eax, dword [0x6a05b4]
mov dword [esp + 0x34], esi
push eax
mov eax, ecx
shl eax, 8
or eax, ecx
push 0xffffff
shl eax, 8
or eax, ecx
mov ecx, dword [0x6a05a8]
push eax
push ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x3c], esi
mov esi, dword [0x6a05b0]
push esi
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x50]
push ecx
xor edi, edi
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0x50], edi
mov dword [esp + 0x48], edi
mov edi, dword [ebx + 0x28]
mov eax, dword [ebx + 0x24]
push 4
push edi
push eax
push edx
call fcn.00512370
mov ebp, dword [esp + 0x6c]
mov esi, eax
mov eax, dword [esp + 0x5c]
sub eax, dword [ebx + 0x28]
add esp, 0x3c
sub eax, dword [esp + 0x1c]
test ebp, ebp
mov dword [esp + 0x1c], eax
jne 0x41fcb8
add dword [esp + 0x24], 0x64
add eax, 0x64
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0xf8]
mov ecx, edi
call fcn.0041d310
cmp ebx, eax
je 0x41fcd5
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push 1
mov ecx, ebx
call eax
test esi, esi
je 0x41fe72
mov ecx, dword [esp + 0x28]
push ecx
call dword [sym.imp.kernel32.dll_GlobalLock]
mov edx, dword [esp + 0x20]
mov ebp, eax
mov eax, dword [esp + 0x2c]
push edx
lea ecx, [eax*4]
push ecx
push ebp
call fcn.00508089
add esp, 0xc
mov ecx, edi
call fcn.0041d310
cmp dword [esp + 0x18], 0
mov ebx, eax
je 0x41fe55
mov edx, dword [ebx + 0x24]
mov esi, dword [ebx + 0x28]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [0x6a05bc]
push ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x44], edx
push eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x4c], esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], eax
movzx edx, word [ebx + 0x2e]
movzx eax, word [ebx + 0x2c]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
call fcn.004e3ee0
push 1
xor eax, eax
mov ecx, ebx
call fcn.004e45e0
cmp dword [esp + 0x18], 0
mov esi, eax
je 0x41fd8e
mov ecx, dword [ebx + 0x28]
mov eax, dword [ebx + 0x24]
push ecx
push eax
mov eax, dword [0x6a05bc]
xor edi, edi
push edi
xor edx, edx
push edx
push esi
push edi
push 1
push eax
push edi
push ebx
call fcn.004e69d0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
sub edx, dword [esp + 0x1c]
push 0
push eax
push ecx
push edx
mov edx, dword [esp + 0x48]
sub edx, dword [esp + 0x34]
push edx
push eax
mov eax, dword [esi + 4]
push ecx
push ebp
push eax
call fcn.005081d3
mov ecx, dword [esp + 0x4c]
add esp, 0x24
push ecx
call dword [sym.imp.kernel32.dll_GlobalUnlock]
mov edx, dword [esp + 0x28]
mov esi, dword [sym.imp.kernel32.dll_GlobalFree]
push edx
call esi
mov edi, ebx
call fcn.004e46b0
mov eax, dword [esp + 0x34]
movzx ecx, word [ebx + 0x2c]
mov edx, dword [ebx + 0x28]
push 0x2ffffff
push 0
push eax
mov eax, dword [ebx + 0x24]
push ecx
push edx
push eax
call fcn.004e3ee0
cmp dword [esp + 0x18], 0
je 0x41fe67
mov ecx, dword [ebx + 0x448]
push ecx
lea edx, [ebx + 0x20]
push edx
lea eax, [esp + 0x64]
push eax
call sub.ltkrn10n.dll_Ordinal_110
push 0x10
lea ecx, [esp + 0x60]
push ecx
call sub.ltimg10n.dll_Ordinal_127
lea edx, [esp + 0x5c]
push edx
call sub.ltkrn10n.dll_Ordinal_106_2
mov edi, eax
push ebx
call fcn.004e34d0
push edi
call esi
mov esi, dword [esp + 0xf8]
mov eax, dword [esi + 0x5c]
call fcn.004b1d80
mov ecx, dword [esi + 0x5c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x140]
call edx
mov edi, esi
jmp 0x41fe6e
mov eax, dword [edi + 0x5c]
lea edx, [esp + 0x38]
push edx
call fcn.004b5b30
jmp 0x41fd5b
mov edi, dword [esp + 0xf8]
mov ebp, dword [esp + 0x30]
test ebp, ebp
je 0x41fe82
mov eax, dword [ebp]
mov edx, dword [eax + 4]
push 1
mov ecx, ebp
call edx
mov esi, dword [edi + 0x5c]
call fcn.004120b0
mov ecx, dword [esp + 0xe8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret 8