Function at 0x761cfc
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 - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x76265d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x762642
mov eax, dword [ebp - 4]
call fcn.0076315c
xor eax, eax
push ebp
push 0x762630
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00763124
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411ca4
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, dword [0x84dcc4]
call fcn.0040e4ac
mov eax, dword [ebp - 0x54]
push eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040855c
xor eax, eax
push ebp
push 0x762613
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 + 0x30]
call fcn.00751e2c
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0x761e7b
mov eax, dword [ebp - 4]
call fcn.00763928
cmp dword [eax + 8], 0
jle 0x761deb
mov eax, dword [ebp - 4]
call fcn.00763928
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
mov edi, eax
dec edi
test edi, edi
jl 0x761e7b
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0x761e77
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
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 sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411ca4
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, dword [0x84dcc4]
call fcn.0040e4ac
mov eax, dword [ebp - 0x58]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040855c
inc ebx
dec edi
jne 0x761e00
test byte [ebp - 5], 4
je 0x76208a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
mov edi, eax
dec edi
test edi, edi
jl 0x761f65
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
call fcn.0075c360
test al, al
je 0x761f5d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x34]
call fcn.0075eb24
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call fcn.00761ce4
test al, al
jne 0x761f5d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.0075eac4
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411ca4
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, dword [0x84dcc4]
call fcn.0040e4ac
mov eax, dword [ebp - 0x5c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040855c
inc ebx
dec edi
jne 0x761e9e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
mov edi, eax
sub edi, 2
test edi, edi
jl 0x76209a
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
cmp dword [eax + 0x34], 0
je 0x762080
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x34]
call fcn.0075ec2c
add al, 0xfe
sub al, 2
jae 0x762080
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0075f9d8
call fcn.0075c360
test al, al
jne 0x762080
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
lea edx, [ebp - 0x20]
call fcn.0075bf68
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0075f9d8
lea edx, [ebp - 0x30]
call fcn.0075bf68
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x40]
call fcn.00411d84
test al, al
je 0x762080
lea edx, [ebp - 0x30]
lea eax, [ebp - 0x40]
call fcn.00411c80
test al, al
je 0x762037
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.0075ec3c
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411ca4
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, dword [0x84dcc4]
call fcn.0040e4ac
mov eax, dword [ebp - 0x60]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040855c
inc ebx
dec edi
jne 0x761f80
jmp 0x76209a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0x76216d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x76217b
inc dword [ebp - 0xc]
mov esi, ebx
dec esi
jmp 0x7620c4
dec esi
test esi, esi
jle 0x7620f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0075f9d8
cmp dword [eax + 0x34], 0
je 0x7620f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0075f9d8
mov eax, dword [eax + 0x34]
call fcn.0075ec2c
cmp al, 3
je 0x7620c3
test esi, esi
jl 0x762119
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0075f9d8
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
pop edx
call fcn.0075e0cc
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411ca4
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x64]
mov eax, dword [0x84dcc4]
call fcn.0040e4ac
mov eax, dword [ebp - 0x64]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040855c
dec ebx
test ebx, ebx
jne 0x7620bb
jmp 0x76217b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x76232e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x7622e5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x30]
call fcn.00751e2c
mov esi, eax
dec esi
cmp esi, 0
jl 0x76229a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0075af18
mov edx, dword [0x74e97c]
call fcn.00408470
test al, al
jne 0x762279
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0075af18
mov edx, dword [0x74e584]
call fcn.00408470
test al, al
jne 0x762279
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0075af18
mov edx, dword [0x74f1c0]
call fcn.00408470
test al, al
jne 0x762279
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0075af18
mov edx, dword [0x74f360]
call fcn.00408470
test al, al
je 0x762290
test ebx, ebx
jg 0x762279
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
dec eax
jne 0x762290
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.00751e74
dec esi
cmp esi, 0xffffffff
jne 0x7621cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
call fcn.0075b23c
test al, al
je 0x7622db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x30]
call fcn.00751e2c
test eax, eax
jne 0x7622db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
call fcn.004081a0
dec ebx
cmp ebx, 0xffffffff
jne 0x7621aa
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411ca4
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x68]
mov eax, dword [0x84dcc4]
call fcn.0040e4ac
mov eax, dword [ebp - 0x68]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040855c
test byte [ebp - 5], 1
je 0x762475
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x762483
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
call fcn.0075b23c
test al, al
jne 0x762469
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
call fcn.0075c360
test al, al
je 0x762469
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x34]
call fcn.0075ec00
movzx esi, ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
call fcn.0075dd18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
call fcn.0075b23c
test al, al
je 0x762420
test ebx, ebx
jle 0x762413
mov edx, ebx
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0075f9d8
call fcn.0075c360
test al, al
je 0x762413
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0075f9d8
mov eax, dword [eax + 0x34]
call fcn.0075ec00
add ax, si
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0075f9d8
mov eax, dword [eax + 0x34]
pop edx
call fcn.0075ec08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00751e74
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411ca4
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
mov eax, dword [0x84dcc4]
call fcn.0040e4ac
mov eax, dword [ebp - 0x6c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040855c
dec ebx
cmp ebx, 0xffffffff
jne 0x76234f
jmp 0x762483
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x7625b9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x762570
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
cmp dword [eax + 0x34], 0
je 0x762525
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov esi, dword [eax + 0x34]
mov eax, esi
call fcn.0075ec00
test ax, ax
je 0x7624ef
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
dec eax
jne 0x762525
mov eax, esi
call fcn.0075eab8
test al, al
jne 0x762525
mov eax, esi
call fcn.0075ec10
test al, al
jne 0x762525
mov eax, esi
call fcn.0075ec2c
sub al, 2
jb 0x76251e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00751e2c
dec eax
jne 0x762525
mov eax, esi
call fcn.004081a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
call fcn.0075b23c
test al, al
je 0x762566
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
mov eax, dword [eax + 0x30]
call fcn.00751e2c
test eax, eax
jne 0x762566
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0075f9d8
call fcn.004081a0
dec ebx
cmp ebx, 0xffffffff
jne 0x7624b2
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411ca4
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x70]
mov eax, dword [0x84dcc4]
call fcn.0040e4ac
mov eax, dword [ebp - 0x70]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040855c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x76261a
call fcn.00406c28
test eax, eax
jne 0x7625d6
mov ebx, 0x64
jmp 0x7625d8
xor ebx, ebx
push ebx
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411ca4
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x74]
mov eax, dword [0x84dcc4]
call fcn.0040e4ac
mov eax, dword [ebp - 0x74]
push eax
mov cl, 2
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040855c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x762664
lea eax, [ebp - 0x74]
mov edx, 9
call fcn.00409fbc
ret