Function at 0x18d060
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1c], ecx
test dl, dl
je 0x18d086
add esp, 0xfffffff0
call fcn.00013304
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x18d87e
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00012fd4
mov eax, dword [ebp - 4]
add eax, 0x60
mov edx, 0x18d8b0
call fcn.00013d80
mov eax, dword [ebp - 4]
add eax, 0x64
mov edx, 0x18d8ec
call fcn.00013d80
mov eax, dword [ebp - 4]
mov byte [eax + 0x36], 1
mov eax, dword [0x1c4e58]
mov byte [eax], 1
mov dl, 1
mov eax, dword [0x1f874]
call fcn.00012fd4
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov dl, 1
mov eax, dword [0x73790]
call fcn.00012fd4
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x3c], 0xffffffff
mov eax, dword [ebp - 4]
mov dword [eax + 0x40], 0xffffffff
mov eax, dword [ebp - 4]
mov byte [eax + 0x2c], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x2d], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e], 1
mov eax, dword [ebp - 4]
add eax, 0x30
mov edx, 0x18d900
call fcn.00013d80
mov eax, dword [ebp - 4]
mov byte [eax + 0x34], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x35], 0
mov eax, dword [ebp - 4]
add eax, 8
mov edx, 0x18d914
call fcn.00013d80
call fcn.00012970
test eax, eax
je 0x18d175
lea edx, [ebp - 0x28]
mov eax, 1
call fcn.000129d0
mov eax, dword [ebp - 0x28]
mov edx, 0x18d924
call fcn.0001898c
test eax, eax
jne 0x18d195
mov eax, dword [ebp - 4]
call fcn.0018e7bc
test al, al
jne 0x18d195
mov eax, dword [0x1c4e58]
mov byte [eax], 1
mov byte [0x1c48d8], 1
jmp 0x18d85b
mov dl, 1
mov eax, dword [0x18a760]
call fcn.0018ca40
mov dword [ebp - 0xc], eax
xor edx, edx
push ebp
push 0x18d7df
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 1
mov eax, dword [0xc5418]
call fcn.00012fd4
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x18d434
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x18d1fb
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x1c4c6c]
mov eax, dword [eax]
mov ecx, 0x18d934
mov edx, dword [ebp - 0x20]
call fcn.00197960
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x18d219
mov eax, dword [ebp - 0x20]
call fcn.0002303c
test eax, eax
jne 0x18d25f
push 0x30
push 0x18d940
push 0x18d948
mov eax, dword [0x1c4f0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
push eax
call fcn.00017430
mov eax, dword [0x1c4e58]
mov byte [eax], 1
mov byte [0x1c48d8], 1
call fcn.000137fc
call fcn.000137fc
jmp 0x18d85b
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
call fcn.0018cab4
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 4]
mov edx, dword [0x1c5068]
cmp eax, dword [edx]
jle 0x18d289
call fcn.000137fc
call fcn.000137fc
jmp 0x18d85b
mov eax, dword [ebp - 4]
add eax, 8
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 8]
call fcn.00013d80
mov eax, dword [ebp - 4]
mov edx, dword [eax + 8]
mov eax, dword [0x1c4f0c]
mov eax, dword [eax]
call fcn.0005ce84
mov eax, dword [ebp - 4]
mov edx, dword [eax + 8]
mov eax, dword [0x1c4e00]
mov eax, dword [eax]
call fcn.0003ec44
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0xc]
mov dword [eax + 0xc], ecx
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
sar eax, 1
jns 0x18d2dd
adc eax, 0
mov edx, dword [0x1c4cf4]
mov dword [edx + 0xf0], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
sar eax, 1
jns 0x18d2f6
adc eax, 0
mov edx, dword [0x1c4cf4]
mov dword [edx + 0xf4], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x14]
mov dword [eax + 0x14], ecx
mov ecx, dword [edx + 0x18]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 4]
add eax, 0x1c
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x1c]
call fcn.00013d80
mov eax, dword [ebp - 4]
add eax, 0x20
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x20]
call fcn.00013d80
mov eax, dword [ebp - 4]
add eax, 0x24
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x24]
call fcn.00013d80
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x28]
mov edx, dword [ebp - 4]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0x2c]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2d], al
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0x2d]
mov edx, dword [ebp - 4]
mov byte [edx + 0x2e], al
mov eax, dword [ebp - 4]
add eax, 0x30
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x30]
call fcn.00013d80
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0x34]
mov edx, dword [ebp - 4]
mov byte [edx + 0x34], al
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0x35]
mov edx, dword [ebp - 4]
mov byte [edx + 0x35], al
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0x36]
mov edx, dword [ebp - 4]
mov byte [edx + 0x36], al
xor ebx, ebx
mov esi, ebx
and esi, 0x7f
mov eax, dword [ebp - 4]
lea eax, [eax + esi*4 + 0x60]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + esi*4 + 0x38]
call fcn.00013d80
inc ebx
cmp bl, 2
jne 0x18d3a2
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x35], 0
je 0x18d41e
jmp 0x18d413
push 0x41
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
call fcn.00014170
push eax
push 0x18d964
mov eax, dword [0x1c4f0c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
push eax
call fcn.00017430
cmp eax, 2
jne 0x18d413
call fcn.000137fc
call fcn.000137fc
jmp 0x18d85b
push ebp
call fcn.0018cec4
pop ecx
test al, al
je 0x18d3dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x18d43b
mov eax, dword [ebp - 0x20]
call fcn.00013004
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x18d885
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.00013d50
lea eax, [ebp - 0x1c]
call fcn.00013d2c
ret