Function at 0x592ed0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x6be1cf
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 0x704698
lea ecx, [esp + 0x28]
mov byte [esp + 0x58], 2
call fcn.0060ff10
push 4
lea ecx, [esp + 0x60]
mov byte [esp + 0x54], 3
call fcn.00610190
push 5
lea ecx, [esp + 0x60]
mov byte [esp + 0x18], al
call fcn.00610190
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x14]
and eax, 0xff
sub eax, ebp
je 0x593281
dec eax
je 0x5931bf
dec eax
jne case.default.0x5931d2
mov ecx, dword [esp + 0x10]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 0x12
ja case.default.0x5931d2
jmp dword [eax*4 + 0x593688]
lea edx, [esp + 0x24]
push edx
push 0x64
push 0x63
push 8
jmp 0x5931a8
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x64
push 0x63
push 8
call fcn.00610190
and al, 0x40
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
lea ecx, [esp + 0x24]
push ecx
push 0x64
push 0x63
push 8
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x20
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 7
call fcn.00610190
and al, 0x40
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
lea eax, [esp + 0x24]
push eax
push 0x64
push 0x63
push 7
jmp 0x5931a8
lea ecx, [esp + 0x24]
push ecx
push 0x6a
push 0x69
push 7
lea ecx, [esi + 8]
call fcn.00610190
and al, 2
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x6a
push 0x69
push 7
call fcn.00610190
and al, 4
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x6a
push 0x69
push 7
call fcn.00610190
and al, 8
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
lea ecx, [esp + 0x24]
push ecx
push 0x6a
push 0x69
push 7
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x10
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
lea edx, [esp + 0x24]
push edx
push 0x64
push 0x63
push 7
jmp 0x593164
lea eax, [esp + 0x24]
push eax
push 0x64
push 0x63
push 6
jmp 0x5930fe
lea ecx, [esp + 0x24]
push ecx
push 0x66
push 0x65
push 5
lea ecx, [esi + 8]
call fcn.00610190
and al, 1
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 5
call fcn.00610190
and al, 2
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
lea eax, [esp + 0x24]
push eax
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.00610190
and al, 4
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
lea ecx, [esp + 0x24]
push ecx
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.00610190
and al, 8
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 5
call fcn.00610190
and al, 0x10
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
lea eax, [esp + 0x24]
push eax
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x20
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
lea ecx, [esp + 0x24]
push ecx
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x40
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
lea edx, [esp + 0x24]
push edx
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x80
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x5931d2
mov eax, dword [esp + 0x10]
and eax, 0xff
dec eax
cmp eax, 4
ja case.default.0x5931d2
jmp dword [eax*4 + 0x5936d4]
push 5
lea ecx, [esi + 8]
call fcn.00610190
movsx ecx, al
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul qword [0x6d3608]
jmp 0x59322e
push 5
lea ecx, [esi + 8]
call fcn.00610190
movsx edx, al
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul qword [0x6d3608]
jmp 0x59322e
push 7
lea ecx, [esi + 8]
call fcn.00610190
movsx eax, al
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul qword [0x6d3600]
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.00698355
add esp, 0x10
jmp 0x5934aa
push 6
lea ecx, [esi + 8]
call fcn.00610190
movsx ecx, al
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x593228
push 5
lea ecx, [esi + 8]
call fcn.00610190
movsx edx, al
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
jmp 0x593228
mov eax, dword [esp + 0x10]
and eax, 0xff
dec eax
je 0x5933f5
dec eax
je 0x59332d
dec eax
jne case.default.0x5931d2
add esi, 8
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, esi
push eax
push 5
call fcn.00610190
and eax, 0xff
push eax
lea eax, [esp + 0x3c]
push str._02x_02x
push eax
call fcn.00698355
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.00414860
cmp eax, ebx
jae 0x5932f4
call fcn.0069788b
mov edi, dword [esp + 0x28]
cmp edi, ebp
je 0x59330b
mov al, byte [edi - 1]
test al, al
je 0x59330b
cmp al, 0xff
jne 0x593395
cmp ebx, ebp
je 0x59348c
mov eax, dword [esp + 0x30]
cmp eax, 0x1f
ja 0x5933b9
cmp eax, ebx
jae 0x5933d2
jmp 0x5933b9
add esi, 8
push 6
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, esi
push eax
push 5
call fcn.00610190
and eax, 0xff
push eax
lea eax, [esp + 0x3c]
push str._02x_02x
push eax
call fcn.00698355
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.00414860
cmp eax, ebx
jae 0x593382
call fcn.0069788b
mov edi, dword [esp + 0x28]
cmp edi, ebp
je 0x5933a4
mov al, byte [edi - 1]
test al, al
je 0x5933a4
cmp al, 0xff
je 0x5933a4
cmp ebx, ebp
jne 0x5933c4
dec al
push ebp
mov byte [edi - 1], al
jmp 0x59348e
cmp ebx, ebp
je 0x59348c
mov eax, dword [esp + 0x30]
cmp eax, 0x1f
ja 0x5933b9
cmp eax, ebx
jae 0x5933d2
push 1
lea ecx, [esp + 0x28]
call fcn.004138a0
push ebx
lea ecx, [esp + 0x28]
call fcn.00414870
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.004141f0
jmp case.default.0x5931d2
add esi, 8
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, esi
push eax
push 7
call fcn.00610190
and eax, 0xff
mov ecx, esi
push eax
push 6
call fcn.00610190
and eax, 0xff
mov ecx, esi
push eax
push 5
call fcn.00610190
and eax, 0xff
push eax
lea eax, [esp + 0x44]
push str._02x_02x_02x_02x
push eax
call fcn.00698355
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.00414210
test al, al
je case.default.0x5931d2
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.0x5931d2
push 1
lea ecx, [esp + 0x28]
call fcn.004138a0
push ebp
lea ecx, [esp + 0x38]
push 0x703498
push ecx
call fcn.00698355
add esp, 0xc
cmp dword [esp + 0x2c], ebp
jne 0x59354d
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 0x5934ce
call fcn.0069788b
mov edi, dword [esp + 0x28]
cmp edi, ebp
je 0x5934f6
mov al, byte [edi - 1]
test al, al
je 0x5934f6
cmp al, 0xff
je 0x5934f6
cmp ebx, ebp
jne 0x59351f
dec al
push ebp
lea ecx, [esp + 0x28]
mov byte [edi - 1], al
call fcn.004138a0
jmp 0x59354d
cmp ebx, ebp
jne 0x593507
push 1
lea ecx, [esp + 0x28]
call fcn.004138a0
jmp 0x59354d
mov eax, dword [esp + 0x30]
cmp eax, 0x1f
ja 0x593514
cmp eax, ebx
jae 0x59352d
push 1
lea ecx, [esp + 0x28]
call fcn.004138a0
push ebx
lea ecx, [esp + 0x28]
call fcn.00414870
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 [0x6ce1fc]
mov ebp, ecx
cmp eax, ebp
jae 0x593573
mov ebp, eax
lea edx, [esp + 0x24]
cmp ebx, edx
jne 0x593592
push eax
push ebp
mov ecx, ebx
call fcn.004140d0
push edi
push edi
mov ecx, ebx
call fcn.004140d0
jmp 0x59361a
cmp ebp, edi
jbe 0x5935de
cmp ebp, ecx
jne 0x5935de
mov eax, dword [esp + 0x28]
cmp eax, edi
jne 0x5935a7
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x5935de
push 1
mov ecx, ebx
call fcn.004138a0
mov eax, dword [esp + 0x28]
cmp eax, edi
jne 0x5935c3
mov eax, 0x6ce1f8
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 0x59361a
push 1
push ebp
mov ecx, ebx
call fcn.00414210
test al, al
je 0x59361a
mov esi, dword [esp + 0x28]
cmp esi, edi
jne 0x5935f9
mov esi, 0x6ce1f8
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.0060ffb0
mov eax, dword [esp + 0x28]
cmp eax, edi
je 0x593655
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x59364c
cmp al, 0xff
je 0x59364c
dec al
mov byte [ecx], al
jmp 0x593655
push ecx
call fcn.00697880
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.0060ffb0
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