Function at 0x736170
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 0x736ad6
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 0x736abb
mov eax, dword [ebp - 4]
call fcn.007375c0
xor eax, eax
push ebp
push 0x736aa9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00737590
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445160
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, dword [0x78e2d0]
call fcn.0040b49c
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.00405b24
xor eax, eax
push ebp
push 0x736a8c
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.007259b4
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0x7362ef
mov eax, dword [ebp - 4]
call fcn.00737d8c
cmp dword [eax + 8], 0
jle 0x73625f
mov eax, dword [ebp - 4]
call fcn.00737d8c
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
mov edi, eax
dec edi
test edi, edi
jl 0x7362ef
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0x7362eb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
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.0040d2b4
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445160
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, dword [0x78e2d0]
call fcn.0040b49c
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.00405b24
inc ebx
dec edi
jne 0x736274
test byte [ebp - 5], 4
je 0x736503
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
mov edi, eax
dec edi
test edi, edi
jl 0x7363d9
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
call fcn.00730284
test al, al
je 0x7363d1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x34]
call fcn.00732a50
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call fcn.00736158
test al, al
jne 0x7363d1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.007329f0
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040d2b4
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445160
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, dword [0x78e2d0]
call fcn.0040b49c
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.00405b24
inc ebx
dec edi
jne 0x736312
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
mov edi, eax
sub edi, 2
test edi, edi
jl 0x736513
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
cmp dword [eax + 0x34], 0
je 0x7364f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x34]
call fcn.00732b58
add al, 0xfe
sub al, 2
jae 0x7364f9
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00733900
call fcn.00730284
test al, al
jne 0x7364f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
lea edx, [ebp - 0x20]
call fcn.0072ff44
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00733900
lea edx, [ebp - 0x30]
call fcn.0072ff44
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0040da5c
test eax, eax
je 0x7364f9
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0040d87c
test eax, eax
je 0x7364b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.00732b68
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040d2b4
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445160
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, dword [0x78e2d0]
call fcn.0040b49c
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.00405b24
inc ebx
dec edi
jne 0x7363f4
jmp 0x736513
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0x7365e6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x7365f4
inc dword [ebp - 0xc]
mov esi, ebx
dec esi
jmp 0x73653d
dec esi
test esi, esi
jle 0x73656d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.00733900
cmp dword [eax + 0x34], 0
je 0x73656d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.00733900
mov eax, dword [eax + 0x34]
call fcn.00732b58
cmp al, 3
je 0x73653c
test esi, esi
jl 0x736592
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.00733900
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
pop edx
call fcn.00732004
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040d2b4
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445160
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x64]
mov eax, dword [0x78e2d0]
call fcn.0040b49c
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.00405b24
dec ebx
test ebx, ebx
jne 0x736534
jmp 0x7365f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x7367a7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x73675e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x30]
call fcn.007259b4
mov esi, eax
dec esi
cmp esi, 0
jl 0x736713
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0072eefc
mov edx, dword [0x7226d4]
call fcn.00405aa0
test al, al
jne 0x7366f2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0072eefc
mov edx, dword [0x722230]
call fcn.00405aa0
test al, al
jne 0x7366f2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0072eefc
mov edx, dword [0x722eec]
call fcn.00405aa0
test al, al
jne 0x7366f2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0072eefc
mov edx, dword [0x723078]
call fcn.00405aa0
test al, al
je 0x736709
test ebx, ebx
jg 0x7366f2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
dec eax
jne 0x736709
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.007259fc
dec esi
cmp esi, 0xffffffff
jne 0x736644
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
call fcn.0072f218
test al, al
je 0x736754
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x30]
call fcn.007259b4
test eax, eax
jne 0x736754
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
call fcn.00405888
dec ebx
cmp ebx, 0xffffffff
jne 0x736623
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040d2b4
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445160
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x68]
mov eax, dword [0x78e2d0]
call fcn.0040b49c
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.00405b24
test byte [ebp - 5], 1
je 0x7368ee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x7368fc
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
call fcn.0072f218
test al, al
jne 0x7368e2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
call fcn.00730284
test al, al
je 0x7368e2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x34]
call fcn.00732b2c
movzx esi, ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
call fcn.00731c4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
call fcn.0072f218
test al, al
je 0x736899
test ebx, ebx
jle 0x73688c
mov edx, ebx
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00733900
call fcn.00730284
test al, al
je 0x73688c
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00733900
mov eax, dword [eax + 0x34]
call fcn.00732b2c
add ax, si
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00733900
mov eax, dword [eax + 0x34]
pop edx
call fcn.00732b34
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.007259fc
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040d2b4
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445160
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
mov eax, dword [0x78e2d0]
call fcn.0040b49c
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.00405b24
dec ebx
cmp ebx, 0xffffffff
jne 0x7367c8
jmp 0x7368fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x736a32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x7369e9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
cmp dword [eax + 0x34], 0
je 0x73699e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov esi, dword [eax + 0x34]
mov eax, esi
call fcn.00732b2c
test ax, ax
je 0x736968
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
dec eax
jne 0x73699e
mov eax, esi
call fcn.007329e4
test al, al
jne 0x73699e
mov eax, esi
call fcn.00732b3c
test al, al
jne 0x73699e
mov eax, esi
call fcn.00732b58
sub al, 2
jb 0x736997
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.007259b4
dec eax
jne 0x73699e
mov eax, esi
call fcn.00405888
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
call fcn.0072f218
test al, al
je 0x7369df
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
mov eax, dword [eax + 0x30]
call fcn.007259b4
test eax, eax
jne 0x7369df
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00733900
call fcn.00405888
dec ebx
cmp ebx, 0xffffffff
jne 0x73692b
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call fcn.0040d2b4
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00445160
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x70]
mov eax, dword [0x78e2d0]
call fcn.0040b49c
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.00405b24
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x736a93
call fcn.00404828
test eax, eax
jne 0x736a4f
mov ebx, 0x64
jmp 0x736a51
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.00445160
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x74]
mov eax, dword [0x78e2d0]
call fcn.0040b49c
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.00405b24
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x736add
lea eax, [ebp - 0x74]
mov edx, 9
call fcn.004074b4
ret