Function at 0x1001d690
Capabilities:
Get number of processors

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1015f708
push eax
mov al, byte [0x101c7b14]
mov dword fs:[0], esp
sub esp, 0x10
test al, 1
push ebx
push ebp
push esi
mov ebp, ecx
jne 0x1001d6de
or dword [0x101c7b14], 1
call fcn.10152999
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
push 0x10166960
mov dword [0x101c7b10], eax
call fcn.10101b18
add esp, 4
mov al, byte [0x101c7b14]
mov ebx, 2
test bl, al
jne 0x1001d713
or dword [0x101c7b14], ebx
call fcn.10152999
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
push 0x10166950
mov dword [0x101c7b0c], eax
call fcn.10101b18
add esp, 4
mov eax, dword [0x101c7b08]
cmp eax, 1
jne 0x1001d764
mov esi, dword [esp + 0x2c]
xor ebx, ebx
cmp esi, ebx
jne 0x1001d72b
xor eax, eax
jmp 0x1001d739
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x1001d730
sub eax, edx
push eax
push esi
mov ecx, 0x101c7b0c
call fcn.1000e320
mov eax, dword [0x101c7b08]
pop esi
inc eax
pop ebp
mov dword [0x101c7b08], eax
pop ebx
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
add esp, 0x1c
ret 4
cmp eax, ebx
push edi
jne 0x1001d806
mov edx, dword [esp + 0x30]
mov edi, 0x101684c4
mov esi, edx
mov ecx, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1001d785
sbb eax, eax
sbb eax, 0xffffffff
xor ebx, ebx
cmp eax, ebx
jne 0x1001d7b6
push edx
mov ecx, 0x101c7b0c
call fcn.10015380
mov eax, dword [0x101c7b08]
pop edi
pop esi
inc eax
pop ebp
mov dword [0x101c7b08], eax
pop ebx
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
add esp, 0x1c
ret 4
push 0x101c7b0c
mov ecx, 0x101c7b10
call fcn.10002a40
mov ecx, 0x101c7b0c
mov dword [0x101c7b08], ebx
call fcn.10001f40
mov edi, dword [esp + 0x30]
mov ecx, dword [ebp + 0x54]
cmp ecx, ebx
je 0x1001d7f7
mov edx, dword [0x101c7b10]
mov eax, dword [edx - 0xc]
cmp eax, ebx
je 0x1001d7f7
push eax
push edx
add ecx, 0x60
call fcn.1000e320
cmp edi, ebx
jne 0x1001da21
xor eax, eax
jmp 0x1001da2f
cmp eax, 3
jne 0x1001d9c1
mov edi, dword [esp + 0x30]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
xor ebx, ebx
push str.__d:_d:_d
push edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [0x101c7b08], ebx
call fcn.10102fdb
mov eax, dword [esp + 0x24]
add esp, 0x14
cmp eax, 0xffffffff
jle 0x1001d9a3
cmp eax, 0x18
jge 0x1001d9a3
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
jle 0x1001d9a3
cmp eax, 0x3c
jge 0x1001d9a3
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
jle 0x1001d9a3
cmp eax, 0x3c
jge 0x1001d9a3
mov eax, dword [0x101c7b0c]
cmp dword [eax - 0xc], 0x40
jge 0x1001d9a3
mov ecx, ebp
call fcn.1001d480
push 0x64
call fcn.1015294a
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x1001d8c2
call fcn.10152999
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esi + 0x60], eax
mov eax, esi
jmp 0x1001d8c4
xor eax, eax
mov dword [ebp + 0x54], eax
push 0x28
mov ecx, 0x101c7b0c
mov dword [eax], 0xa
call fcn.10010b50
mov esi, eax
cmp esi, 0xffffffff
je 0x1001d94c
push 0x29
mov ecx, 0x101c7b0c
call fcn.10010b50
cmp eax, 0xffffffff
je 0x1001d94c
sub eax, esi
dec eax
push eax
lea eax, [esi + 1]
push eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x101c7b0c
call fcn.100023f0
mov edx, dword [eax]
mov eax, dword [ebp + 0x54]
add eax, 0x44
mov cl, byte [edx]
inc edx
mov byte [eax], cl
inc eax
cmp cl, bl
jne 0x1001d910
lea ecx, [esp + 0x30]
call fcn.1003efa0
push esi
push ebx
lea edx, [esp + 0x24]
push edx
mov ecx, 0x101c7b0c
call fcn.100023f0
push eax
mov ecx, 0x101c7b0c
mov dword [esp + 0x2c], ebx
call fcn.10002a40
lea ecx, [esp + 0x1c]
call fcn.1003efa0
mov eax, dword [ebp + 0x54]
mov edx, dword [0x101c7b0c]
add eax, 4
mov cl, byte [edx]
inc edx
mov byte [eax], cl
inc eax
cmp cl, bl
jne 0x1001d958
mov eax, dword [ebp + 0x54]
mov edx, edi
add eax, 0x54
lea ebx, [ebx]
mov cl, byte [edx]
inc edx
mov byte [eax], cl
inc eax
cmp cl, bl
jne 0x1001d970
mov ecx, 0x101c7b10
call fcn.10001f40
mov ecx, 0x101c7b0c
call fcn.10001f40
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
add esp, 0x1c
ret 4
push 0x101c7b0c
mov ecx, 0x101c7b10
call fcn.10002a40
mov ecx, 0x101c7b0c
call fcn.10001f40
jmp 0x1001d7d9
mov esi, dword [esp + 0x30]
mov edi, 0x10169db8
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1001d9da
sbb eax, eax
sbb eax, 0xffffffff
xor ebx, ebx
cmp eax, ebx
jne 0x1001d7d5
push 0x101c7b10
mov ecx, 0x101c7b0c
mov dword [0x101c7b08], 1
call fcn.10002a40
mov eax, dword [esp + 0x30]
push eax
mov ecx, 0x101c7b0c
call fcn.10015380
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
add esp, 0x1c
ret 4
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x1001da26
sub eax, edx
push eax
push edi
mov ecx, 0x101c7b10
call fcn.100025e0
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1c
ret 4