Function at 0x52b270
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x6b7bd7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov esi, ecx
mov dword [esp + 0x24], ebp
mov al, byte [esp + 0x70]
mov dword [esp + 0x64], 1
mov byte [esp + 0x28], al
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
push 6
push 0x704698
lea ecx, [esp + 0x18]
mov byte [esp + 0x6c], 2
call fcn.0060ff10
push 4
lea ecx, [esp + 0x74]
mov byte [esp + 0x68], 3
call fcn.00610190
push 5
lea ecx, [esp + 0x74]
mov byte [esp + 0x20], al
call fcn.00610190
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x1c]
and eax, 0xff
mov dword [esp + 0x18], ebp
sub eax, ebp
je 0x52b78f
dec eax
je 0x52b58e
dec eax
jne case.default.0x52b7a5
mov ecx, dword [esp + 0x14]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 0x13
ja case.default.0x52b7a5
jmp dword [eax*4 + 0x52bcfc]
lea edx, [esp + 0x28]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 5
call fcn.00610190
and al, 1
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea eax, [esp + 0x28]
lea ecx, [esi + 8]
push eax
push 0x64
push 0x63
push 5
call fcn.00610190
and al, 2
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea ecx, [esp + 0x28]
push ecx
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.0x52b7a5
lea edx, [esp + 0x28]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 5
call fcn.00610190
and al, 8
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea eax, [esp + 0x28]
lea ecx, [esi + 8]
push eax
push 0x64
push 0x63
push 5
call fcn.00610190
and al, 0x10
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea ecx, [esp + 0x28]
push ecx
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.0x52b7a5
lea edx, [esp + 0x28]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 5
call fcn.00610190
and al, 0x40
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea eax, [esp + 0x28]
push eax
push 0x64
push 0x63
push 5
jmp 0x52b71d
lea ecx, [esp + 0x28]
push ecx
push 0x64
push 0x63
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 1
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea edx, [esp + 0x28]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 6
call fcn.00610190
and al, 2
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea eax, [esp + 0x28]
lea ecx, [esi + 8]
push eax
push 0x64
push 0x63
push 6
call fcn.00610190
and al, 4
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea ecx, [esp + 0x28]
push ecx
push 0x64
push 0x63
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 8
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea edx, [esp + 0x28]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 6
call fcn.00610190
and al, 0x10
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea eax, [esp + 0x28]
lea ecx, [esi + 8]
push eax
push 0x64
push 0x63
push 6
call fcn.00610190
and al, 0x20
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea ecx, [esp + 0x28]
push ecx
push 0x64
push 0x63
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x40
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea edx, [esp + 0x28]
push edx
push 0x64
push 0x63
jmp 0x52b71b
lea eax, [esp + 0x28]
lea ecx, [esi + 8]
push eax
push 0x64
push 0x63
push 7
call fcn.00610190
and al, 0x20
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea ecx, [esp + 0x28]
push ecx
push 0x64
push 0x63
push 7
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x40
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea edx, [esp + 0x28]
push edx
push 0x64
push 0x63
push 7
jmp 0x52b71d
push 8
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x18], eax
jmp case.default.0x52b7a5
mov eax, dword [esp + 0x14]
and eax, 0xff
dec eax
cmp eax, 0xd
ja case.default.0x52b7a5
jmp dword [eax*4 + 0x52bd4c]
lea ecx, [esp + 0x28]
push ecx
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.00610190
and al, 1
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea edx, [esp + 0x28]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 5
call fcn.00610190
and al, 4
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea eax, [esp + 0x28]
lea ecx, [esi + 8]
push eax
push 0x64
push 0x63
push 5
call fcn.00610190
and al, 8
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea ecx, [esp + 0x28]
push ecx
push 0x64
push 0x63
push 5
jmp 0x52b6b7
lea edx, [esp + 0x28]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 6
call fcn.00610190
and al, 1
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea eax, [esp + 0x28]
lea ecx, [esi + 8]
push eax
push 0x64
push 0x63
push 6
call fcn.00610190
and al, 2
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea ecx, [esp + 0x28]
push ecx
push 0xca
push 0xc9
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 4
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea edx, [esp + 0x28]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 6
call fcn.00610190
and al, 8
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea eax, [esp + 0x28]
push eax
push 0x64
push 0x63
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x10
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea ecx, [esp + 0x28]
push ecx
push 0x64
push 0x63
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x20
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea edx, [esp + 0x28]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 6
call fcn.00610190
and al, 0x40
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
lea eax, [esp + 0x28]
push eax
push 0x6a
push 0x69
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x80
mov ecx, esi
push eax
call fcn.0052bf30
jmp case.default.0x52b7a5
push 9
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul qword [0x6d1910]
lea ecx, [esp + 0x48]
fstp qword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
push eax
push str._.2f
push ecx
call fcn.00698355
add esp, 0x10
jmp 0x52bb1d
push 0xa
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jmp 0x52b74b
mov ecx, dword [esp + 0x14]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 7
ja case.default.0x52b7a5
jmp dword [eax*4 + 0x52bd84]
push 5
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
lea edx, [esp + 0x48]
push eax
push str._02x
push edx
call fcn.00698355
add esp, 0xc
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x2c]
push ebx
call fcn.00414210
test al, al
je case.default.0x52b7a5
mov edi, dword [esp + 0x2c]
mov ecx, ebx
lea esi, [esp + 0x48]
jmp 0x52badf
push 6
jmp 0x52b7ae
push 7
jmp 0x52b7ae
push 8
jmp 0x52b7ae
add esi, 8
push 0xa
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, esi
push eax
push 9
call fcn.00610190
and eax, 0xff
lea edx, [esp + 0x4c]
push eax
push str._02x_02x
push edx
call fcn.00698355
add esp, 0x10
jmp 0x52b7ce
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
lea edx, [esp + 0x4c]
push eax
push str._02x_02x
push edx
call fcn.00698355
lea edi, [esp + 0x58]
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 + 0x28]
call fcn.00414860
cmp eax, ebx
jae 0x52b897
call fcn.0069788b
mov edi, dword [esp + 0x2c]
cmp edi, ebp
je 0x52b8b9
mov al, byte [edi - 1]
test al, al
je 0x52b8b9
cmp al, 0xff
je 0x52b8b9
cmp ebx, ebp
jne 0x52b8d9
dec al
push ebp
mov byte [edi - 1], al
jmp 0x52bafd
cmp ebx, ebp
je 0x52bafb
mov eax, dword [esp + 0x34]
cmp eax, 0x1f
ja 0x52b8ce
cmp eax, ebx
jae 0x52b8e7
push 1
lea ecx, [esp + 0x2c]
call fcn.004138a0
push ebx
lea ecx, [esp + 0x2c]
call fcn.00414870
mov edi, dword [esp + 0x2c]
mov ecx, ebx
lea esi, [esp + 0x48]
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x2c]
call fcn.004141f0
jmp case.default.0x52b7a5
push 7
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xf
jl 0x52b925
cmp eax, 3
jg 0x52b925
push 0xf8
jmp 0x52b92a
push 0xea
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x3c]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x6ce1fc]
mov ebx, ecx
mov byte [esp + 0x64], 4
cmp eax, ebx
jae 0x52b96a
mov ebx, eax
lea edx, [esp + 0x28]
cmp edx, esi
jne 0x52b98d
push eax
push ebx
lea ecx, [esp + 0x30]
call fcn.004140d0
push ebp
push ebp
lea ecx, [esp + 0x30]
call fcn.004140d0
jmp 0x52ba16
cmp ebx, ebp
jbe 0x52b9da
cmp ebx, ecx
jne 0x52b9da
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x52b9a1
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x52b9da
push 1
lea ecx, [esp + 0x2c]
call fcn.004138a0
mov eax, dword [esi + 4]
cmp eax, ebp
jne 0x52b9be
mov eax, 0x6ce1f8
mov dword [esp + 0x2c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x30], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x34], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x52ba16
push 1
push ebx
lea ecx, [esp + 0x30]
call fcn.00414210
test al, al
je 0x52ba16
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x52b9f6
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x2c]
mov ecx, ebx
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 ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], ebx
mov byte [ecx + ebx], 0
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x64], 3
cmp eax, ebp
je case.default.0x52b7a5
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x52ba3e
cmp al, 0xff
je 0x52ba3e
dec al
mov byte [ecx], al
jmp case.default.0x52b7a5
push ecx
call fcn.00697880
add esp, 4
jmp case.default.0x52b7a5
push 5
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
lea edx, [esp + 0x48]
push eax
push str._02x
push edx
call fcn.00698355
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x28]
call fcn.00414860
cmp eax, ebx
jae 0x52ba90
call fcn.0069788b
mov edi, dword [esp + 0x2c]
cmp edi, ebp
je 0x52baaf
mov al, byte [edi - 1]
test al, al
je 0x52baaf
cmp al, 0xff
je 0x52baaf
cmp ebx, ebp
jne 0x52bacb
dec al
push ebp
mov byte [edi - 1], al
jmp 0x52bafd
cmp ebx, ebp
je 0x52bafb
mov eax, dword [esp + 0x34]
cmp eax, 0x1f
ja 0x52bac0
cmp eax, ebx
jae 0x52bad9
push 1
lea ecx, [esp + 0x2c]
call fcn.004138a0
push ebx
lea ecx, [esp + 0x2c]
call fcn.00414870
mov edi, dword [esp + 0x2c]
mov ecx, ebx
lea esi, [esp + 0x48]
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 ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], ebx
mov byte [ecx + ebx], 0
jmp case.default.0x52b7a5
push 1
lea ecx, [esp + 0x2c]
call fcn.004138a0
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x48]
push edx
push 0x703498
push eax
call fcn.00698355
add esp, 0xc
cmp dword [esp + 0x30], ebp
jne 0x52bbc0
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x52bb41
call fcn.0069788b
mov edi, dword [esp + 0x2c]
cmp edi, ebp
je 0x52bb69
mov al, byte [edi - 1]
test al, al
je 0x52bb69
cmp al, 0xff
je 0x52bb69
cmp ebx, ebp
jne 0x52bb92
dec al
push ebp
lea ecx, [esp + 0x2c]
mov byte [edi - 1], al
call fcn.004138a0
jmp 0x52bbc0
cmp ebx, ebp
jne 0x52bb7a
push 1
lea ecx, [esp + 0x2c]
call fcn.004138a0
jmp 0x52bbc0
mov eax, dword [esp + 0x34]
cmp eax, 0x1f
ja 0x52bb87
cmp eax, ebx
jae 0x52bba0
push 1
lea ecx, [esp + 0x2c]
call fcn.004138a0
push ebx
lea ecx, [esp + 0x2c]
call fcn.00414870
mov edi, dword [esp + 0x2c]
mov ecx, ebx
lea esi, [esp + 0x48]
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 + 0x2c]
mov dword [esp + 0x30], ebx
mov byte [eax + ebx], 0
mov ebx, dword [esp + 0x6c]
mov cl, byte [esp + 0x28]
xor edi, edi
mov byte [ebx], cl
mov ecx, dword [esp + 0x30]
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 0x52bbe6
mov ebp, eax
lea edx, [esp + 0x28]
cmp ebx, edx
jne 0x52bc05
push eax
push ebp
mov ecx, ebx
call fcn.004140d0
push edi
push edi
mov ecx, ebx
call fcn.004140d0
jmp 0x52bc8d
cmp ebp, edi
jbe 0x52bc51
cmp ebp, ecx
jne 0x52bc51
mov eax, dword [esp + 0x2c]
cmp eax, edi
jne 0x52bc1a
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x52bc51
push 1
mov ecx, ebx
call fcn.004138a0
mov eax, dword [esp + 0x2c]
cmp eax, edi
jne 0x52bc36
mov eax, 0x6ce1f8
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
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 0x52bc8d
push 1
push ebp
mov ecx, ebx
call fcn.00414210
test al, al
je 0x52bc8d
mov esi, dword [esp + 0x2c]
cmp esi, edi
jne 0x52bc6c
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 + 0x24], 1
lea ecx, [esp + 0x10]
mov byte [esp + 0x64], 2
call fcn.0060ffb0
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x52bcc8
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x52bcbf
cmp al, 0xff
je 0x52bcbf
dec al
mov byte [ecx], al
jmp 0x52bcc8
push ecx
call fcn.00697880
add esp, 4
lea ecx, [esp + 0x70]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov byte [esp + 0x64], 0
call fcn.0060ffb0
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
mov eax, ebx
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x58
ret 8