Function at 0x6a891c
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x47
push 0
push 0
dec ecx
jne 0x6a8925
push ecx
xchg dword [ebp - 4], ecx
push ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.0040576c
mov eax, dword [ebp - 0xc]
call fcn.0040576c
lea eax, [ebp - 0x1ac]
mov edx, dword [0x408c90]
call fcn.00405ccc
xor eax, eax
push ebp
push 0x6a9262
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, 0xb
lea eax, [ebp - 0x1d8]
lea edx, [ebp - 0x1e3]
mov dword [eax], 0xffffffff
mov byte [edx], 0
inc edx
add eax, 4
dec ecx
jne 0x6a897a
xor eax, eax
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 0x1e2], 1
xor eax, eax
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.006a930c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jne 0x6a89d7
push 0
mov eax, dword [0x7a8a0c]
mov eax, dword [eax]
mov edx, dword [0x7a8c20]
mov eax, dword [edx + eax*4]
mov cx, word [0x6a9270]
mov dl, 2
call fcn.004375a0
jmp 0x6a91ee
push 0
push 0
push 0
lea eax, [ebp - 0x1f4]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0041a404
lea eax, [ebp - 0x1f4]
push eax
mov eax, dword [0x7a8a0c]
mov eax, dword [eax]
mov edx, dword [0x7a7de8]
mov edx, dword [edx + eax*4]
lea eax, [ebp - 0x1f8]
mov ecx, 0x6a927c
call fcn.004055c8
mov eax, dword [ebp - 0x1f8]
push eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
call fcn.006a643c
lea eax, [ebp - 0x1fc]
mov ecx, 0x6a9288
mov edx, dword [ebp - 8]
call fcn.004055c8
mov eax, dword [ebp - 0x1fc]
lea ecx, [ebp - 0x1ac]
mov edx, 0x10
call fcn.0040a670
test eax, eax
jne 0x6a90d7
test byte [ebp - 0x1a4], 0x10
jne 0x6a90b9
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x348]
call fcn.0040a8d8
mov eax, dword [ebp - 0x34]
call fcn.0040577c
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0x4c]
mov dl, byte [eax]
mov eax, dword [ebp - 4]
call fcn.006a860c
test al, al
je 0x6a8b68
cmp dword [ebp - 0x3c], 0
jne 0x6a8ab5
cmp dword [ebp - 0x40], 0x2faf080
jae 0x6a8b68
jmp 0x6a8abb
jge 0x6a8b68
lea eax, [ebp - 0x200]
push eax
fild qword [ebp - 0x40]
fdiv dword [0x6a928c]
fstp xword [ebp - 0x20c]
wait
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 0x1f0], 3
fild qword [ebp - 0x48]
fdiv dword [0x6a928c]
fstp xword [ebp - 0x218]
wait
lea eax, [ebp - 0x218]
mov dword [ebp - 0x1ec], eax
mov byte [ebp - 0x1e8], 3
lea edx, [ebp - 0x1f4]
mov ecx, 1
mov eax, 0x6a9298
call fcn.0040b5bc
mov eax, dword [ebp - 0x200]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
mov eax, dword [eax + 0x208]
mov edx, 2
call fcn.0044ef20
pop edx
call fcn.0044ee7c
push 0
mov eax, dword [0x7a8a0c]
mov eax, dword [eax]
mov edx, dword [0x7a8bb0]
mov eax, dword [edx + eax*4]
mov cx, word [0x6a9270]
xor edx, edx
call fcn.004375a0
jmp 0x6a91ee
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x1a0]
call fcn.00405354
lea eax, [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
call fcn.004055c8
lea edx, [ebp - 0x21c]
mov eax, dword [ebp - 0x10]
call fcn.0040a9a4
mov eax, dword [ebp - 0x21c]
lea edx, [ebp - 0x30]
call fcn.004099dc
lea eax, [ebp - 0x30]
mov ecx, 1
mov edx, 1
call fcn.0040581c
mov eax, dword [ebp - 0x30]
mov edx, 0x6a92b4
call fcn.004056c8
je 0x6a8be3
mov eax, dword [ebp - 0x30]
mov edx, 0x6a92c0
call fcn.004056c8
je 0x6a8be3
mov eax, dword [ebp - 0x30]
mov edx, 0x6a92cc
call fcn.004056c8
jne 0x6a90b9
mov eax, dword [0x7a80cc]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
call fcn.00522b88
test eax, eax
je 0x6a90b9
mov eax, dword [ebp - 0x30]
mov edx, 0x6a92b4
call fcn.004056c8
jne 0x6a8efb
push 0x20
mov ecx, dword [ebp - 0x14]
mov dl, 1
mov eax, dword [0x419978]
call fcn.0041ee50
mov dword [ebp - 0x28], eax
mov dl, 1
mov eax, dword [0x513128]
call fcn.0051371c
mov dword [ebp - 0x2c], eax
xor eax, eax
push ebp
push 0x6a8ef1
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0xc8], 0
je 0x6a8e31
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax + 0xd0]
cmp byte [ebp + ebx - 0x1e3], 0
je 0x6a8c76
cmp dword [ebp + ebx*4 - 0x1d8], 0xffffffff
jne 0x6a8cd7
cmp ebx, 1
jl 0x6a8cd7
mov eax, dword [0x7a8aac]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x2c]
call fcn.006a405c
mov eax, dword [0x7a8aac]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0xec]
dec eax
jne 0x6a8cc7
mov eax, dword [0x7a8aac]
mov eax, dword [eax]
mov eax, dword [eax + 0x324]
mov dword [ebp + ebx*4 - 0x1d8], eax
mov eax, dword [0x7a8aac]
mov eax, dword [eax]
mov al, byte [eax + 0x328]
mov byte [ebp + ebx - 0x1e3], al
mov eax, dword [0x7a8c7c]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.004913a8
cmp ebx, 1
jl 0x6a8e31
cmp dword [ebp + ebx*4 - 0x1d8], 0xffffffff
je 0x6a8e31
mov dl, 1
mov eax, dword [0x4274cc]
call fcn.0042e00c
mov dword [ebp - 0x1c], eax
mov dl, 1
mov eax, dword [0x4274cc]
call fcn.0042e00c
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x6a8e2a
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp + ebx*4 - 0x1d8]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
call fcn.005201c4
mov dl, 7
mov eax, dword [ebp - 0x1c]
call fcn.0042f724
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x31c]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x31c]
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.006a7094
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.006a7f24
mov eax, dword [ebp - 4]
add eax, 0x350
push eax
mov eax, dword [ebp - 4]
add eax, 0x356
push eax
mov eax, dword [ebp - 4]
lea ecx, [eax + 0x354]
mov eax, dword [ebp - 4]
lea edx, [eax + 0x34c]
mov eax, dword [ebp - 0x2c]
call fcn.005202b8
mov ebx, eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x358], bl
test bl, bl
je 0x6a8de0
mov eax, dword [ebp - 4]
movsx eax, word [eax + 0x356]
inc eax
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x350]
mov eax, dword [ebp - 4]
movsx edx, word [eax + 0x354]
inc edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34c]
call fcn.0069e2d4
lea ecx, [ebp - 0x34]
mov edx, 0x6a92dc
mov eax, dword [ebp - 0x10]
call fcn.0040a7bc
lea eax, [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0xc]
call fcn.004055c8
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
call fcn.0069e23c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6a8e31
lea eax, [ebp - 0x1c]
call fcn.0040ffa4
lea eax, [ebp - 0x20]
call fcn.0040ffa4
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6a90b9
lea eax, [ebp - 0x2c]
call fcn.0040ffa4
lea eax, [ebp - 0x28]
call fcn.0040ffa4
inc dword [ebp - 0x50]
imul eax, dword [ebp - 0x50], 0x64
mov dword [ebp - 0x220], eax
fild dword [ebp - 0x220]
fild dword [ebp - 0x54]
fdivp st(1)
call fcn.00402ff4
mov ebx, eax
push ebx
push 1
push 0
lea eax, [ebp - 0x1f4]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0041a404
lea eax, [ebp - 0x1f4]
push eax
mov eax, dword [0x7a8a0c]
mov eax, dword [eax]
mov edx, dword [0x7a7de8]
push dword [edx + eax*4]
lea eax, [ebp - 0x228]
push eax
mov dword [ebp - 0x230], ebx
mov byte [ebp - 0x22c], 0
lea edx, [ebp - 0x230]
xor ecx, ecx
mov eax, 0x6a92ec
call fcn.0040b5bc
push dword [ebp - 0x228]
push 0x6a92f8
lea eax, [ebp - 0x224]
mov edx, 3
call fcn.0040563c
mov eax, dword [ebp - 0x224]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
call fcn.006a643c
ret
mov eax, dword [ebp - 0x30]
mov edx, 0x6a92c0
call fcn.004056c8
jne 0x6a90b9
mov dl, 1
mov eax, dword [0x427220]
call fcn.0042baa8
mov dword [ebp - 0x24], eax
mov dl, 1
mov eax, dword [0x4274cc]
call fcn.0042e00c
mov dword [ebp - 0x1c], eax
mov dl, 1
mov eax, dword [0x4274cc]
call fcn.0042e00c
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x6a90af
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
call fcn.0042bc90
mov eax, dword [ebp - 0x24]
call fcn.0042bbb0
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 8]
mov dl, 7
mov eax, dword [ebp - 0x1c]
call fcn.0042f724
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x31c]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x31c]
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.006a7094
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.006a7f24
mov eax, dword [ebp - 4]
mov byte [eax + 0x358], 0
lea ecx, [ebp - 0x34]
mov edx, 0x6a92dc
mov eax, dword [ebp - 0x10]
call fcn.0040a7bc
lea eax, [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0xc]
call fcn.004055c8
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
call fcn.0069e23c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6a90b9
lea eax, [ebp - 0x1c]
call fcn.0040ffa4
lea eax, [ebp - 0x20]
call fcn.0040ffa4
lea eax, [ebp - 0x24]
call fcn.0040ffa4
inc dword [ebp - 0x50]
imul eax, dword [ebp - 0x50], 0x64
mov dword [ebp - 0x220], eax
fild dword [ebp - 0x220]
fild dword [ebp - 0x54]
fdivp st(1)
call fcn.00402ff4
mov ebx, eax
push ebx
push 1
push 0
lea eax, [ebp - 0x1f4]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0041a404
lea eax, [ebp - 0x1f4]
push eax
mov eax, dword [0x7a8a0c]
mov eax, dword [eax]
mov edx, dword [0x7a7de8]
push dword [edx + eax*4]
lea eax, [ebp - 0x238]
push eax
mov dword [ebp - 0x230], ebx
mov byte [ebp - 0x22c], 0
lea edx, [ebp - 0x230]
xor ecx, ecx
mov eax, 0x6a92ec
call fcn.0040b5bc
push dword [ebp - 0x238]
push 0x6a92f8
lea eax, [ebp - 0x234]
mov edx, 3
call fcn.0040563c
mov eax, dword [ebp - 0x234]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
call fcn.006a643c
ret
lea eax, [ebp - 0x1ac]
call fcn.0040a6c0
test eax, eax
je 0x6a8a5b
lea eax, [ebp - 0x1ac]
call fcn.0040a6e4
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0x4c]
mov dl, byte [eax]
mov eax, dword [ebp - 4]
call fcn.006a860c
test al, al
je 0x6a917b
lea eax, [ebp - 0x23c]
push eax
fild qword [ebp - 0x40]
fdiv dword [0x6a928c]
fstp xword [ebp - 0x20c]
wait
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 0x1f0], 3
fild qword [ebp - 0x48]
fdiv dword [0x6a928c]
fstp xword [ebp - 0x218]
wait
lea eax, [ebp - 0x218]
mov dword [ebp - 0x1ec], eax
mov byte [ebp - 0x1e8], 3
lea edx, [ebp - 0x1f4]
mov ecx, 1
mov eax, 0x6a9298
call fcn.0040b5bc
mov eax, dword [ebp - 0x23c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
mov eax, dword [eax + 0x208]
mov edx, 2
call fcn.0044ef20
pop edx
call fcn.0044ee7c
push 0x64
push 1
push 0
lea eax, [ebp - 0x1f4]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0041a404
lea eax, [ebp - 0x1f4]
push eax
mov eax, dword [0x7a8a0c]
mov eax, dword [eax]
mov edx, dword [0x7a7de8]
mov edx, dword [edx + eax*4]
lea eax, [ebp - 0x240]
mov ecx, 0x6a9304
call fcn.004055c8
mov eax, dword [ebp - 0x240]
push eax
mov cl, 2
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
call fcn.006a643c
push 0
mov eax, dword [0x7a8a0c]
mov eax, dword [eax]
mov edx, dword [0x7a8b7c]
mov eax, dword [edx + eax*4]
mov cx, word [0x6a9270]
mov dl, 2
call fcn.004375a0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6a9269
lea eax, [ebp - 0x240]
mov edx, 4
call fcn.004052e0
lea eax, [ebp - 0x228]
mov edx, 2
call fcn.004052e0
lea eax, [ebp - 0x21c]
call fcn.004052bc
lea eax, [ebp - 0x200]
mov edx, 3
call fcn.004052e0
lea eax, [ebp - 0x1ac]
mov edx, dword [0x408c90]
call fcn.00405d9c
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.004052e0
lea eax, [ebp - 0x18]
mov edx, 5
call fcn.004052e0
ret