Function at 0x69add4
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff8c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov byte [ebp - 6], cl
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x69b689
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x69b66e
mov eax, dword [ebp - 4]
call fcn.0069cbe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00413fa4
xor eax, eax
push ebp
push 0x69b667
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00412f7c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, 0x68ee50
call fcn.004069d4
mov eax, dword [ebp - 0x54]
push eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403300
xor eax, eax
push ebp
push 0x69b647
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.006931bc
add eax, eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0x69af58
mov eax, dword [ebp - 4]
call fcn.0069c5fc
cmp dword [eax + 8], 0
jle 0x69aec8
mov eax, dword [ebp - 4]
call fcn.0069c5fc
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.006931bc
mov edi, eax
dec edi
test edi, edi
jl 0x69af58
inc edi
xor esi, esi
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0x69af54
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x20]
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.00408024
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00412f7c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, 0x68ee50
call fcn.004069d4
mov eax, dword [ebp - 0x58]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403300
inc esi
dec edi
jne 0x69aedd
test byte [ebp - 5], 4
je 0x69b166
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.006931bc
mov edi, eax
dec edi
test edi, edi
jl 0x69b03f
inc edi
xor esi, esi
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
cmp byte [eax + 0x34], 0
je 0x69b037
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x38]
call fcn.00698c68
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call fcn.0069adbc
test al, al
jne 0x69b037
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.00698c54
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.00408024
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00412f7c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, 0x68ee50
call fcn.004069d4
mov eax, dword [ebp - 0x5c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403300
inc esi
dec edi
jne 0x69af7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.006931bc
mov edi, eax
sub edi, 2
test edi, edi
jl 0x69b176
inc edi
xor esi, esi
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
cmp dword [eax + 0x38], 0
je 0x69b15c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x38]
call fcn.00698d00
add al, 0xfe
sub al, 2
jae 0x69b15c
lea edx, [esi + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00699778
cmp byte [eax + 0x34], 0
jne 0x69b15c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
lea edx, [ebp - 0x20]
call fcn.00696670
lea edx, [esi + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00699778
lea edx, [ebp - 0x30]
call fcn.00696670
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00408874
test eax, eax
je 0x69b15c
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00408674
test eax, eax
je 0x69b113
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.00698d10
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.00408024
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00412f7c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, 0x68ee50
call fcn.004069d4
mov eax, dword [ebp - 0x60]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403300
inc esi
dec edi
jne 0x69b05a
jmp 0x69b176
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.006931bc
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0x69b245
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.006931bc
mov esi, eax
dec esi
cmp esi, 1
jl 0x69b253
inc dword [ebp - 0xc]
mov ebx, esi
dec ebx
jmp 0x69b1a0
dec ebx
test ebx, ebx
jle 0x69b1d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, ebx
call fcn.00699778
cmp dword [eax + 0x38], 0
je 0x69b1d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, ebx
call fcn.00699778
mov eax, dword [eax + 0x38]
call fcn.00698d00
cmp al, 3
je 0x69b19f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, ebx
call fcn.00699778
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
pop edx
call fcn.0069852c
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.00408024
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00412f7c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x64]
mov eax, 0x68ee50
call fcn.004069d4
mov eax, dword [ebp - 0x64]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403300
dec esi
test esi, esi
jne 0x69b197
jmp 0x69b253
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.006931bc
add dword [ebp - 0xc], eax
test byte [ebp - 5], 1
je 0x69b394
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.006931bc
mov esi, eax
dec esi
cmp esi, 0
jl 0x69b3a2
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
call fcn.0069580c
test al, al
jne 0x69b388
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
cmp byte [eax + 0x34], 0
je 0x69b388
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x38]
call fcn.00698ce8
movzx ebx, ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
call fcn.006981cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
call fcn.0069580c
test al, al
je 0x69b33f
test esi, esi
jle 0x69b332
mov edx, esi
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00699778
cmp byte [eax + 0x34], 0
je 0x69b332
mov edi, esi
dec edi
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00699778
mov eax, dword [eax + 0x38]
call fcn.00698ce8
add ax, bx
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00699778
mov eax, dword [eax + 0x38]
pop edx
call fcn.00698cf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.006931ec
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.00408024
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00412f7c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x68]
mov eax, 0x68ee50
call fcn.004069d4
mov eax, dword [ebp - 0x68]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403300
dec esi
cmp esi, 0xffffffff
jne 0x69b274
jmp 0x69b3a2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.006931bc
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.006931bc
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x69b5ca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.006931bc
mov esi, eax
dec esi
cmp esi, 0
jl 0x69b57f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x30]
call fcn.006931bc
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x69b4c1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00695554
mov edx, dword [0x68e7b0]
call fcn.0040329c
test al, al
jne 0x69b4a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00695554
mov edx, dword [0x68e6f0]
call fcn.0040329c
test al, al
jne 0x69b4a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00695554
mov edx, dword [0x68e9a8]
call fcn.0040329c
test al, al
jne 0x69b4a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00695554
mov edx, dword [0x68ea7c]
call fcn.0040329c
test al, al
je 0x69b4b7
test esi, esi
jg 0x69b4a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.006931bc
dec eax
jne 0x69b4b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006931ec
dec ebx
cmp ebx, 0xffffffff
jne 0x69b3f2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
cmp dword [eax + 0x38], 0
je 0x69b534
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov ebx, dword [eax + 0x38]
mov eax, ebx
call fcn.00698ce8
test ax, ax
je 0x69b4fe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.006931bc
dec eax
jne 0x69b534
mov eax, ebx
call fcn.00698c4c
test al, al
jne 0x69b534
mov eax, ebx
call fcn.00698cf8
test al, al
jne 0x69b534
mov eax, ebx
call fcn.00698d00
sub al, 2
jb 0x69b52d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.006931bc
dec eax
jne 0x69b534
mov eax, ebx
call fcn.00403124
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
call fcn.0069580c
test al, al
je 0x69b575
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
mov eax, dword [eax + 0x30]
call fcn.006931bc
test eax, eax
jne 0x69b575
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00699778
call fcn.00403124
dec esi
cmp esi, 0xffffffff
jne 0x69b3d1
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.00408024
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00412f7c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
mov eax, 0x68ee50
call fcn.004069d4
mov eax, dword [ebp - 0x6c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403300
jmp 0x69b5eb
test byte [ebp - 5], 0x10
je 0x69b5eb
cmp byte [ebp - 6], 9
jne 0x69b5eb
lea edx, [ebp - 0x70]
mov eax, 0x68ee18
call fcn.004069d4
mov eax, dword [ebp - 0x70]
call fcn.0068f000
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x69b64e
call fcn.0040d9c8
test eax, eax
jne 0x69b608
mov esi, 0x64
jmp 0x69b60a
xor esi, esi
mov eax, esi
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00412f7c
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x74]
mov eax, 0x68ee50
call fcn.004069d4
mov eax, dword [ebp - 0x74]
push eax
mov cl, 2
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403300
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x69b690
lea eax, [ebp - 0x74]
mov edx, 9
call fcn.00403ee8
ret