Function at 0x5a06d0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x6cda5f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov esi, ecx
mov dword [esp + 0x1c], ebp
mov al, byte [esp + 0x5c]
mov dword [esp + 0x50], 1
mov byte [esp + 0x24], al
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
push 6
push 0x7147a4
lea ecx, [esp + 0x28]
mov byte [esp + 0x58], 2
call fcn.0061d820
push 4
lea ecx, [esp + 0x60]
mov byte [esp + 0x54], 3
call fcn.0061daa0
push 5
lea ecx, [esp + 0x60]
mov byte [esp + 0x18], al
call fcn.0061daa0
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x14]
and eax, 0xff
sub eax, ebp
je 0x5a0a81
dec eax
je 0x5a09bf
dec eax
jne case.default.0x5a09d2
mov ecx, dword [esp + 0x10]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 0x12
ja case.default.0x5a09d2
jmp dword [eax*4 + 0x5a0e88]
lea edx, [esp + 0x24]
push edx
push 0x64
push 0x63
push 8
jmp 0x5a09a8
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x64
push 0x63
push 8
call fcn.0061daa0
and al, 0x40
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
lea ecx, [esp + 0x24]
push ecx
push 0x64
push 0x63
push 8
lea ecx, [esi + 8]
call fcn.0061daa0
and al, 0x20
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 7
call fcn.0061daa0
and al, 0x40
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
lea eax, [esp + 0x24]
push eax
push 0x64
push 0x63
push 7
jmp 0x5a09a8
lea ecx, [esp + 0x24]
push ecx
push 0x6a
push 0x69
push 7
lea ecx, [esi + 8]
call fcn.0061daa0
and al, 2
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x6a
push 0x69
push 7
call fcn.0061daa0
and al, 4
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x6a
push 0x69
push 7
call fcn.0061daa0
and al, 8
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
lea ecx, [esp + 0x24]
push ecx
push 0x6a
push 0x69
push 7
lea ecx, [esi + 8]
call fcn.0061daa0
and al, 0x10
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
lea edx, [esp + 0x24]
push edx
push 0x64
push 0x63
push 7
jmp 0x5a0964
lea eax, [esp + 0x24]
push eax
push 0x64
push 0x63
push 6
jmp 0x5a08fe
lea ecx, [esp + 0x24]
push ecx
push 0x66
push 0x65
push 5
lea ecx, [esi + 8]
call fcn.0061daa0
and al, 1
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 5
call fcn.0061daa0
and al, 2
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
lea eax, [esp + 0x24]
push eax
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.0061daa0
and al, 4
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
lea ecx, [esp + 0x24]
push ecx
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.0061daa0
and al, 8
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 5
call fcn.0061daa0
and al, 0x10
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
lea eax, [esp + 0x24]
push eax
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.0061daa0
and al, 0x20
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
lea ecx, [esp + 0x24]
push ecx
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.0061daa0
and al, 0x40
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
lea edx, [esp + 0x24]
push edx
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.0061daa0
and al, 0x80
mov ecx, esi
push eax
call fcn.00539920
jmp case.default.0x5a09d2
mov eax, dword [esp + 0x10]
and eax, 0xff
dec eax
cmp eax, 4
ja case.default.0x5a09d2
jmp dword [eax*4 + 0x5a0ed4]
push 5
lea ecx, [esi + 8]
call fcn.0061daa0
movsx ecx, al
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul qword [0x6e2640]
jmp 0x5a0a2e
push 5
lea ecx, [esi + 8]
call fcn.0061daa0
movsx edx, al
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul qword [0x6e2640]
jmp 0x5a0a2e
push 7
lea ecx, [esi + 8]
call fcn.0061daa0
movsx eax, al
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul qword [0x6e2638]
fstp qword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
push edx
lea eax, [esp + 0x3c]
push str._.2f
push eax
call fcn.006a6fa5
add esp, 0x10
jmp 0x5a0caa
push 6
lea ecx, [esi + 8]
call fcn.0061daa0
movsx ecx, al
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x5a0a28
push 5
lea ecx, [esi + 8]
call fcn.0061daa0
movsx edx, al
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
jmp 0x5a0a28
mov eax, dword [esp + 0x10]
and eax, 0xff
dec eax
je 0x5a0bf5
dec eax
je 0x5a0b2d
dec eax
jne case.default.0x5a09d2
add esi, 8
push 6
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov ecx, esi
push eax
push 5
call fcn.0061daa0
and eax, 0xff
push eax
lea eax, [esp + 0x3c]
push str._02x_02x
push eax
call fcn.006a6fa5
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x24]
call fcn.00414a50
cmp eax, ebx
jae 0x5a0af4
call fcn.006a64db
mov edi, dword [esp + 0x28]
cmp edi, ebp
je 0x5a0b0b
mov al, byte [edi - 1]
test al, al
je 0x5a0b0b
cmp al, 0xff
jne 0x5a0b95
cmp ebx, ebp
je 0x5a0c8c
mov eax, dword [esp + 0x30]
cmp eax, 0x1f
ja 0x5a0bb9
cmp eax, ebx
jae 0x5a0bd2
jmp 0x5a0bb9
add esi, 8
push 6
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov ecx, esi
push eax
push 5
call fcn.0061daa0
and eax, 0xff
push eax
lea eax, [esp + 0x3c]
push str._02x_02x
push eax
call fcn.006a6fa5
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x24]
call fcn.00414a50
cmp eax, ebx
jae 0x5a0b82
call fcn.006a64db
mov edi, dword [esp + 0x28]
cmp edi, ebp
je 0x5a0ba4
mov al, byte [edi - 1]
test al, al
je 0x5a0ba4
cmp al, 0xff
je 0x5a0ba4
cmp ebx, ebp
jne 0x5a0bc4
dec al
push ebp
mov byte [edi - 1], al
jmp 0x5a0c8e
cmp ebx, ebp
je 0x5a0c8c
mov eax, dword [esp + 0x30]
cmp eax, 0x1f
ja 0x5a0bb9
cmp eax, ebx
jae 0x5a0bd2
push 1
lea ecx, [esp + 0x28]
call fcn.004138c0
push ebx
lea ecx, [esp + 0x28]
call fcn.00414a60
mov edi, dword [esp + 0x28]
mov ecx, ebx
lea esi, [esp + 0x34]
mov edx, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x28]
call fcn.00414210
jmp case.default.0x5a09d2
add esi, 8
push 8
mov ecx, esi
call fcn.0061daa0
and eax, 0xff
mov ecx, esi
push eax
push 7
call fcn.0061daa0
and eax, 0xff
mov ecx, esi
push eax
push 6
call fcn.0061daa0
and eax, 0xff
mov ecx, esi
push eax
push 5
call fcn.0061daa0
and eax, 0xff
push eax
lea eax, [esp + 0x44]
push str._02x_02x_02x_02x
push eax
call fcn.006a6fa5
lea edi, [esp + 0x4c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [esp + 0x28]
push ebx
call fcn.00414230
test al, al
je case.default.0x5a09d2
mov edi, dword [esp + 0x28]
mov ecx, ebx
mov edx, ecx
lea esi, [esp + 0x34]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], ebx
mov byte [eax + ebx], 0
jmp case.default.0x5a09d2
push 1
lea ecx, [esp + 0x28]
call fcn.004138c0
push ebp
lea ecx, [esp + 0x38]
push 0x713498
push ecx
call fcn.006a6fa5
add esp, 0xc
cmp dword [esp + 0x2c], ebp
jne 0x5a0d4d
lea edi, [esp + 0x34]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x5a0cce
call fcn.006a64db
mov edi, dword [esp + 0x28]
cmp edi, ebp
je 0x5a0cf6
mov al, byte [edi - 1]
test al, al
je 0x5a0cf6
cmp al, 0xff
je 0x5a0cf6
cmp ebx, ebp
jne 0x5a0d1f
dec al
push ebp
lea ecx, [esp + 0x28]
mov byte [edi - 1], al
call fcn.004138c0
jmp 0x5a0d4d
cmp ebx, ebp
jne 0x5a0d07
push 1
lea ecx, [esp + 0x28]
call fcn.004138c0
jmp 0x5a0d4d
mov eax, dword [esp + 0x30]
cmp eax, 0x1f
ja 0x5a0d14
cmp eax, ebx
jae 0x5a0d2d
push 1
lea ecx, [esp + 0x28]
call fcn.004138c0
push ebx
lea ecx, [esp + 0x28]
call fcn.00414a60
mov edi, dword [esp + 0x28]
mov ecx, ebx
lea esi, [esp + 0x34]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], ebx
mov byte [eax + ebx], 0
mov ebx, dword [esp + 0x58]
mov cl, byte [esp + 0x24]
xor edi, edi
mov byte [ebx], cl
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 4], edi
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edi
mov eax, dword [0x6dd1fc]
mov ebp, ecx
cmp eax, ebp
jae 0x5a0d73
mov ebp, eax
lea edx, [esp + 0x24]
cmp ebx, edx
jne 0x5a0d92
push eax
push ebp
mov ecx, ebx
call fcn.004140f0
push edi
push edi
mov ecx, ebx
call fcn.004140f0
jmp 0x5a0e1a
cmp ebp, edi
jbe 0x5a0dde
cmp ebp, ecx
jne 0x5a0dde
mov eax, dword [esp + 0x28]
cmp eax, edi
jne 0x5a0da7
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5a0dde
push 1
mov ecx, ebx
call fcn.004138c0
mov eax, dword [esp + 0x28]
cmp eax, edi
jne 0x5a0dc3
mov eax, 0x6dd1f8
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5a0e1a
push 1
push ebp
mov ecx, ebx
call fcn.00414230
test al, al
je 0x5a0e1a
mov esi, dword [esp + 0x28]
cmp esi, edi
jne 0x5a0df9
mov esi, 0x6dd1f8
mov edi, dword [ebx + 4]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 4]
mov dword [ebx + 8], ebp
add ebp, eax
xor edi, edi
mov byte [ebp], 0
mov dword [esp + 0x1c], 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 2
call fcn.0061d8c0
mov eax, dword [esp + 0x28]
cmp eax, edi
je 0x5a0e55
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5a0e4c
cmp al, 0xff
je 0x5a0e4c
dec al
mov byte [ecx], al
jmp 0x5a0e55
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0x5c]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov byte [esp + 0x50], 0
call fcn.0061d8c0
mov ecx, dword [esp + 0x48]
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x44
ret 8