Function at 0x405b52
Capabilities:
Get number of processors

Disassembly:
add esp, 4
pop esi
push edx
and edx, 0x7370
pop edx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1890], edx
mov eax, dword [ebp - 0x1890]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1894], ecx
mov edx, dword [ebp - 0x1894]
mov dword [ebp - 0x14d4], edx
push ecx
push ecx
add esp, 4
call 0x405adc
add byte [esi], bh
cmp al, 0x4c
inc esp
inc ecx
dec esp
cmp dword [edx], esi
add esp, 4
add ecx, 0xf770
pop ecx
push ecx
and ecx, 0xc45e
add ecx, 0x1322f
and ecx, 0x14b78
pop ecx
cmp dword [ebp - 0x14d4], 0
jne 0x405b12
mov dword [ebp - 0x2e0], 0
jmp 0x405dce
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push edx
and edx, 0xdfcd
pop edx
push ecx
push ebx
add esp, 4
or ecx, 0x1553a
add ecx, 0xee52
jmp 0x405b42
call fcn.00405b52
add byte [edi + 0x49], cl
dec ebp
aaa
xor cl, byte [esp + ecx*2 + 0x3a]
dec ebx
cmp al, byte [ebx - 0x7ca6fb3c]
add esp, 4
pop ecx
cmp dword [ebp - 0xc20], 0
jne 0x405b6e
mov dword [ebp - 0x2e0], 0
jmp 0x405dce
push ebx
push edi
add esp, 4
or ebx, 0x5cd0
or ebx, 0x1481e
sub ebx, 0x9364
pop ebx
push esi
and esi, 0xd764
and esi, 0x12e1e
and esi, 0xc218
xor esi, 0x15cbd
pop esi
cmp dword [ebp - 0x2e0], 0
jne 0x406719
mov edx, 0x6b
mov word [ebp - 0x16cc], dx
mov eax, 0x65
mov word [ebp - 0x16ca], ax
mov ecx, 0x72
mov word [ebp - 0x16c8], cx
mov edx, 0x6e
mov word [ebp - 0x16c6], dx
mov eax, 0x65
mov word [ebp - 0x16c4], ax
mov ecx, 0x6c
mov word [ebp - 0x16c2], cx
mov edx, 0x33
mov word [ebp - 0x16c0], dx
mov eax, 0x32
mov word [ebp - 0x16be], ax
mov ecx, 0x2e
mov word [ebp - 0x16bc], cx
mov edx, 0x64
mov word [ebp - 0x16ba], dx
mov eax, 0x6c
mov word [ebp - 0x16b8], ax
mov ecx, 0x6c
mov word [ebp - 0x16b6], cx
xor edx, edx
mov word [ebp - 0x16b4], dx
push edx
push ebx
add esp, 4
xor edx, 0x3d2
and edx, 0x126eb
and edx, 0x967c
and edx, 0x6aba
pop edx
push esi
push esi
add esp, 4
add esi, 0x5c58
pop esi
push ecx
sub ecx, 0x8a2c
pop ecx
mov byte [ebp - 0x820], 0x4c
mov byte [ebp - 0x81f], 0x6f
mov byte [ebp - 0x81e], 0x61
mov byte [ebp - 0x81d], 0x64
mov byte [ebp - 0x81c], 0x4c
mov byte [ebp - 0x81b], 0x69
mov byte [ebp - 0x81a], 0x62
mov byte [ebp - 0x819], 0x72
mov byte [ebp - 0x818], 0x61
mov byte [ebp - 0x817], 0x72
mov byte [ebp - 0x816], 0x79
mov byte [ebp - 0x815], 0x57
mov byte [ebp - 0x814], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1898], eax
mov ecx, dword [ebp - 0x1898]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x189c], edx
mov eax, dword [ebp - 0x189c]
mov dword [ebp - 0x14dc], eax
push ebx
push edi
add esp, 4
xor ebx, 0x167b6
sub ebx, 0x13095
pop ebx
push esi
push esi
add esp, 4
call 0x405f80
add byte [esi], bh
inc ebp
cmp dword [edx + 0x37], eax
cmp byte [edx + 0x49], cl
xor eax, 0x5e04c483
push edi
xor edi, 0x9973
pop edi
cmp dword [ebp - 0x14dc], 0
jne 0x405fa4
mov dword [ebp - 0x6ec], 0
jmp 0x406260
mov ecx, dword [ebp - 0x14dc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc2c], eax
push ecx
add ecx, 0x6dd5
sub ecx, 0xf67f
sub ecx, 0x7885
pop ecx
push edx
jmp 0x405fd2
call 0x405fde
add byte [edi + esi + 0x4b], cl
xor al, 0x37
cmp dword [ebx - 0x3d7efb3c], eax
xchg ebx, eax
add dword [eax], eax
add byte [edx - 0x7d], bl
mov ebp, 0xfffff3d4
add byte [ebp + 0xf], dh
mov dword [ebp - 0x6ec], 0
jmp 0x406260
push ebx
push ecx
add esp, 4
xor ebx, 0x14fb0
or ebx, 0x13845
jmp 0x406279
pop ebx
push edx
push ecx
add esp, 4
sub edx, 0x9a45
and edx, 0x9e54
or edx, 0x164a3
pop edx
cmp dword [ebp - 0x6ec], 0
jne 0x4062dc
push ecx
push esi
add esp, 4
sub ecx, 0x13b60
and ecx, 0x14f86
or ecx, 0xac40
or ecx, 0x3be1
pop ecx
push ebx
add ebx, 0x5a60
and ebx, 0xef25
jmp 0x4062cc
pop ebx
mov dword [ebp - 0x738], 0
jmp 0x406e03
push esi
jmp 0x4062e5
pop esi
push esi
push eax
add esp, 4
xor esi, 0x10bc3
sub esi, 0x900c
call 0x406304
add byte [eax], bh
xor eax, 0x4f463d4a
inc edx
add esp, 4
add esi, 0xe799
pop esi
mov eax, dword [ebp - 0x6ec]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x6fc], 0
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x14e8], edx
cmp dword [ebp - 0x14e8], 0
jne 0x40634d
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x40663e
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x406375
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x40663e
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x14ec]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x14f0], ecx
cmp dword [ebp - 0x14f0], 0
jne 0x4063a7
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x40663e
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x4063cc
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x40663e
mov edx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18a0], eax
mov ecx, dword [ebp - 0x6f0]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18a4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18a8], ecx
mov dword [ebp - 0x6f4], 0
jmp 0x406426
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x406632
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x406496
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x406548
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x406548
push eax
push edx
add esp, 4
jmp 0x4064cd
add eax, 0x17b8f
call 0x4064e1
add byte [ebx], bh
cmp al, 0x3d
inc ecx
inc ebp
cmp dword [edi], edi
add esp, 4
call 0x4064f1
add byte [ecx + 0x44], cl
cmp eax, 0x413e334e
add esp, 4
pop eax
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x180]
invalid
invalid
invalid
invalid