Function at 0x5d3f90
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffac
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
test dl, dl
je 0x5d3fc5
add esp, 0xfffffff0
call fcn.00404254
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
call fcn.00405130
mov eax, dword [ebp + 8]
call fcn.00405130
xor eax, eax
push ebp
push 0x5d47f4
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0043df8c
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0043e430
mov edx, 0xff0000
mov eax, dword [ebp - 4]
call fcn.0047f4a8
mov eax, dword [ebp - 0xc]
mov edx, dword [0x47b06c]
call fcn.004040a0
mov edx, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, dword [0x494cc4]
call fcn.004040a0
mov eax, dword [eax + 0x20c]
xor edx, edx
call fcn.00497bcc
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x228], edx
mov edx, 0x160
mov eax, dword [ebp - 4]
call fcn.0047ea9c
mov edx, 0x120
mov eax, dword [ebp - 4]
call fcn.0047eac0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 4]
sub edx, dword [eax + 0x48]
sar edx, 1
jns 0x5d4081
adc edx, 0
mov eax, dword [ebp - 4]
call fcn.0047ea50
mov edx, 0xb4
mov eax, dword [ebp - 4]
call fcn.0047ea74
mov eax, dword [ebp - 4]
add eax, 0x23c
call fcn.00404c80
mov eax, dword [ebp - 4]
add eax, 0x240
call fcn.00404c80
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov dword [eax + 0x12c], edx
mov dword [eax + 0x128], 0x5d373c
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0043e3dc
mov eax, dword [ebp - 4]
add eax, 0x238
mov edx, dword [ebp + 0xc]
call fcn.00404cd4
mov edx, dword [ebp + 0xc]
mov eax, 0x5d4828
call fcn.00405284
dec eax
je 0x5d439a
mov eax, dword [ebp + 0xc]
mov edx, 0x5d483c
call fcn.0040508c
je 0x5d439a
lea edx, [ebp - 0x10]
mov eax, dword [ebp + 0xc]
call fcn.004094f8
mov edx, dword [ebp - 0x10]
mov eax, 0x5d4850
call fcn.00405284
dec eax
jg 0x5d439a
lea edx, [ebp - 0x14]
mov eax, dword [ebp + 0xc]
call fcn.004094f8
mov edx, dword [ebp - 0x14]
mov eax, 0x5d485c
call fcn.00405284
dec eax
jg 0x5d439a
lea edx, [ebp - 0x18]
mov eax, dword [ebp + 0xc]
call fcn.004094f8
mov edx, dword [ebp - 0x18]
mov eax, 0x5d486c
call fcn.00405284
dec eax
jg 0x5d439a
lea edx, [ebp - 0x1c]
mov eax, dword [ebp + 0xc]
call fcn.004094f8
mov edx, dword [ebp - 0x1c]
mov eax, 0x5d487c
call fcn.00405284
dec eax
jg 0x5d439a
mov edx, dword [ebp + 0xc]
mov eax, 0x5d4850
call fcn.00405284
test eax, eax
jg 0x5d41b6
mov edx, dword [ebp + 0xc]
mov eax, 0x5d488c
call fcn.00405284
test eax, eax
jg 0x5d41b6
mov edx, dword [ebp + 0xc]
mov eax, 0x5d489c
call fcn.00405284
test eax, eax
jle 0x5d41c0
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0047f228
mov ecx, dword [ebp - 0xc]
mov dl, 1
mov eax, dword [0x5c1518]
call fcn.005c1ab8
mov edx, dword [ebp - 4]
mov dword [edx + 0x244], eax
mov eax, dword [0x67da58]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.0049e248
xor eax, eax
push ebp
push 0x5d4369
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x244]
mov dx, word [0x5d48a4]
mov eax, ebx
call fcn.005c1ea8
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0043e430
mov eax, dword [ebp - 0xc]
mov edx, dword [0x47b06c]
call fcn.004040a0
mov edx, eax
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov edx, 0x28
mov eax, ebx
call fcn.0047eac0
mov byte [ebx + 0x31d], 1
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.005c397c
lea eax, [ebx + 0x318]
mov edx, dword [ebp + 0xc]
call fcn.00404cd4
mov eax, dword [ebp + 0xc]
call fcn.0040a15c
test al, al
je 0x5d426c
mov eax, ebx
call fcn.005c2afc
lea edx, [ebp - 0x2c]
mov eax, ebx
call fcn.005c3b2c
mov eax, dword [ebp - 0x24]
push eax
lea edx, [ebp - 0x3c]
mov eax, ebx
call fcn.005c3b2c
pop edx
sub edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.0047ea9c
lea edx, [ebp - 0x2c]
mov eax, ebx
call fcn.005c3b2c
mov eax, dword [ebp - 0x20]
push eax
lea edx, [ebp - 0x3c]
mov eax, ebx
call fcn.005c3b2c
pop edx
sub edx, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
call fcn.0047eac0
mov eax, dword [0x67da58]
mov eax, dword [eax]
call fcn.0049dce0
sub eax, 0x64
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x48]
jl 0x5d42d4
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0
jne 0x5d42ee
mov edx, 0x190
mov eax, dword [ebp - 4]
call fcn.0047ea9c
mov edx, 0x12c
mov eax, dword [ebp - 4]
call fcn.0047eac0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x48]
mov eax, ebx
call fcn.0047ea9c
mov eax, dword [ebx + 0x30]
mov edx, dword [eax + 0x48]
sub edx, dword [ebx + 0x48]
sar edx, 1
jns 0x5d430b
adc edx, 0
add edx, 0x14
mov eax, ebx
call fcn.0047ea50
mov eax, dword [ebp - 4]
cmp byte [eax + 0x57], 0
jne 0x5d432d
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x44]
mov eax, ebx
call fcn.0047ea74
jmp 0x5d4343
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x4c]
add edx, 0x50
mov eax, ebx
call fcn.0047ea74
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x244]
mov edx, dword [ebp - 4]
mov dword [eax + 0x2cc], edx
mov dword [eax + 0x2c8], 0x5d3e1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5d438c
mov eax, dword [0x67da58]
mov eax, dword [eax]
xor edx, edx
call fcn.0049e248
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x248], edx
mov ecx, dword [ebp - 0xc]
mov dl, 1
mov eax, dword [0x43b98c]
call fcn.0043df8c
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x22c], ebx
mov eax, dword [ebp - 0xc]
mov edx, dword [0x47b06c]
call fcn.004040a0
mov edx, eax
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
lea edx, [ebp - 0x40]
mov eax, dword [ebp + 8]
call fcn.0040972c
mov edx, dword [ebp - 0x40]
mov eax, ebx
call fcn.0047f338
xor edx, edx
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov dl, 2
mov eax, ebx
call fcn.0043e3b4
mov eax, dword [ebx + 0x68]
mov edx, 0x10
call fcn.0042a5c0
mov eax, dword [ebx + 0x68]
mov edx, 0x5d48b0
call fcn.0042a548
mov edx, 0xffffff
mov eax, ebx
call fcn.0047f4a8
mov eax, dword [ebx + 0x68]
mov dl, byte [0x5d48bc]
call fcn.0042a5ec
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x48]
add edx, 0xdc
mov eax, ebx
call fcn.0047ea9c
mov edx, 0x32
mov eax, ebx
call fcn.0047eac0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x244]
test eax, eax
jne 0x5d4476
mov eax, dword [ebx + 0x30]
mov edx, dword [eax + 0x48]
sub edx, dword [ebx + 0x48]
sar edx, 1
jns 0x5d446d
adc edx, 0
mov eax, ebx
call fcn.0047ea50
jmp 0x5d4491
mov edx, dword [ebx + 0x48]
sub edx, dword [eax + 0x48]
sar edx, 1
jns 0x5d4483
adc edx, 0
push edx
mov edx, dword [eax + 0x40]
pop eax
sub edx, eax
mov eax, ebx
call fcn.0047ea50
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x44]
sub edx, 0x6e
mov eax, ebx
call fcn.0047ea74
xor edx, edx
mov eax, ebx
call fcn.0043e3dc
mov eax, dword [ebp - 0xc]
mov edx, dword [0x494cc4]
call fcn.004040a0
mov edx, dword [eax + 0xe0]
mov dword [ebx + 0xe0], edx
mov edx, dword [eax + 0xe4]
mov dword [ebx + 0xe4], edx
mov edx, dword [ebp + 0xc]
mov eax, 0x5d4828
call fcn.00405284
dec eax
je 0x5d456f
mov eax, dword [ebp + 0xc]
mov edx, 0x5d483c
call fcn.0040508c
je 0x5d456f
lea edx, [ebp - 0x44]
mov eax, dword [ebp + 0xc]
call fcn.004094f8
mov edx, dword [ebp - 0x44]
mov eax, 0x5d4850
call fcn.00405284
dec eax
jg 0x5d456f
lea edx, [ebp - 0x48]
mov eax, dword [ebp + 0xc]
call fcn.004094f8
mov edx, dword [ebp - 0x48]
mov eax, 0x5d485c
call fcn.00405284
dec eax
jg 0x5d456f
lea edx, [ebp - 0x4c]
mov eax, dword [ebp + 0xc]
call fcn.004094f8
mov edx, dword [ebp - 0x4c]
mov eax, 0x5d486c
call fcn.00405284
dec eax
jg 0x5d456f
lea edx, [ebp - 0x50]
mov eax, dword [ebp + 0xc]
call fcn.004094f8
mov edx, dword [ebp - 0x50]
mov eax, 0x5d487c
call fcn.00405284
dec eax
jg 0x5d456f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x244], 0
jne 0x5d47bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x244]
test eax, eax
je 0x5d4583
xor edx, edx
call fcn.0047f228
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov edx, 0x190
call fcn.0047eac0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x22c]
mov dl, 1
mov eax, dword [0x4407cc]
call fcn.00442580
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x230], ebx
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x22c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov dl, 1
mov eax, ebx
call fcn.00442e60
mov eax, dword [ebx + 0x68]
mov edx, 0x10
call fcn.0042a5c0
mov eax, dword [ebx + 0x68]
mov edx, 0xff0000
call fcn.0042a320
mov edx, 0x5d48c8
mov eax, ebx
call fcn.0047f338
mov edx, 0xc8
mov eax, ebx
call fcn.0047ea9c
mov edx, 0x32
mov eax, ebx
call fcn.0047eac0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov edx, dword [eax + 0x48]
sub edx, dword [ebx + 0x48]
sar edx, 1
jns 0x5d4623
adc edx, 0
mov eax, ebx
call fcn.0047ea50
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov edx, dword [eax + 0x4c]
sub edx, 0x78
mov eax, ebx
call fcn.0047ea74
mov eax, dword [ebp - 4]
mov dword [ebx + 0x124], eax
mov dword [ebx + 0x120], fcn.005d3994
lea edx, [ebp - 0x54]
mov eax, dword [ebp + 0xc]
call fcn.004094f8
mov edx, dword [ebp - 0x54]
mov eax, 0x5d4850
call fcn.00405284
dec eax
jle 0x5d4687
mov dl, 1
mov eax, ebx
call fcn.0047f458
lea eax, [ebx + 0x80]
mov edx, 0x5d48d8
call fcn.00404cd4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x22c]
mov dl, 1
mov eax, dword [0x43aeb4]
call fcn.0043d288
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x234], ebx
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x22c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov edx, 0xc8
mov eax, ebx
call fcn.0047ea9c
mov edx, 0x32
mov eax, ebx
call fcn.0047eac0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov edx, dword [eax + 0x48]
sub edx, dword [ebx + 0x48]
sar edx, 1
jns 0x5d46e5
adc edx, 0
mov eax, ebx
call fcn.0047ea50
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov edx, dword [eax + 0x4c]
sub edx, 0x78
mov eax, ebx
call fcn.0047ea74
mov eax, dword [ebx + 0x168]
call fcn.0042da78
mov edx, dword [ebx + 0x48]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebx + 0x168]
call fcn.0042da78
mov edx, dword [ebx + 0x4c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x168]
call fcn.0042da78
call fcn.00430738
push eax
mov eax, dword [ebx + 0x4c]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebx + 0x48]
sar ecx, 1
jns 0x5d474b
adc ecx, 0
xor edx, edx
xor eax, eax
call fcn.0041cd1c
lea eax, [ebp - 0x2c]
push eax
mov cl, 0xe6
mov dl, 0xe6
mov al, 0xe6
call fcn.00408188
mov edx, eax
mov eax, 0x808080
pop ecx
call fcn.005d2550
mov eax, dword [ebx + 0x168]
call fcn.0042da78
call fcn.00430738
push eax
mov eax, dword [ebx + 0x4c]
push eax
lea eax, [ebp - 0x2c]
push eax
mov esi, dword [ebx + 0x48]
mov ecx, esi
mov eax, esi
sar eax, 1
jns 0x5d4797
adc eax, 0
xor edx, edx
call fcn.0041cd1c
lea eax, [ebp - 0x2c]
push eax
mov cl, 0xe6
mov dl, 0xe6
mov al, 0xe6
call fcn.00408188
mov edx, 0x808080
pop ecx
call fcn.005d2550
mov eax, ebx
call fcn.0047f578
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5d47fb
lea eax, [ebp - 0x54]
mov edx, 6
call fcn.00404ca4
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.00404ca4
lea eax, [ebp + 8]
mov edx, 2
call fcn.00404ca4
ret