Function at 0x40b120
Capabilities:
Get number of processors

Disassembly:
sub ecx, 0x14b3c
xor ecx, 0x17997
pop ecx
cmp dword [ebp - 0x150c], 0
jne 0x40afd5
mov dword [ebp - 0x2a8], 0
jmp 0x40b27c
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push ebx
add ebx, 0x35ab
jmp 0x40aff4
jmp 0x40affa
and ebx, 0x847c
pop ebx
push esi
push edi
add esp, 4
and esi, 0xa4d8
and esi, 0x17172
or esi, 0x1657
pop esi
cmp dword [ebp - 0xc4c], 0
jne 0x40b031
mov dword [ebp - 0x2a8], 0
jmp 0x40b27c
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx
push edx
push edi
add esp, 4
or edx, 0x6cb4
jmp 0x40b04e
and edx, 0x7a52
pop edx
push esi
jmp 0x40b05f
or esi, 0xffff
jmp 0x40b06e
pop esi
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc48], edx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc44], ecx
xor edx, edx
mov word [ebp - 0x204], dx
xor eax, eax
mov word [ebp - 0x38], ax
push ebx
push esi
add esp, 4
or ebx, 0x6732
pop ebx
push esi
push edi
add esp, 4
or esi, 0x1188e
pop esi
push ebx
jmp 0x40b0bb
jmp 0x40b0c4
and ebx, 0x8090
pop ebx
mov ecx, dword [ebp - 0xc44]
mov dx, word [ecx]
mov word [ebp - 0xf8a], dx
mov eax, dword [ebp - 0xc44]
add eax, 2
mov dword [ebp - 0xc44], eax
mov cx, word [ebp - 0xf8a]
mov word [ebp - 0x204], cx
mov edx, dword [ebp - 0xc48]
mov ax, word [edx]
add ah, byte [esi - 0x77]
test dword [eax + esi*8 - 1], esi
dec dword [ebx - 0xc4773]
inc dword [ebx - 0x7276fd3f]
mov eax, 0x66fffff3
mov edx, dword [ebp - 0xf8c]
mov word [ebp - 0x38], dx
push eax
or eax, 0xe29a
pop eax
push edx
push edi
add esp, 4
and edx, 0xcc80
pop edx
push eax
push ecx
add esp, 4
xor eax, 0x1563b
sub eax, 0x4f1f
sub eax, 0x1842e
add eax, 0x945c
pop eax
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x40b171
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x40b1cb
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x40b099
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x40b099
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x40b1b5
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x40b1bf
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x40b214
push edi
or edi, 0x5169
sub edi, 0xe74c
sub edi, 0xc93a
pop edi
push eax
push ebx
add esp, 4
or eax, 0xd5f1
add eax, 0x210c
add eax, 0x7314
sub eax, 0x4a1c
pop eax
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x40b27c
push edx
push esi
add esp, 4
jmp 0x40b21f
jmp 0x40b225
add edx, 0x13f3f
add edx, 0x111d1
pop edx
push esi
add esi, 0xabc4
xor esi, 0xc06e
or esi, 0x15bd4
pop esi
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [ebp - 0xc4c]
je 0x40b272
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x40b03d
mov dword [ebp - 0x2a8], 0
push ebx
push edi
add esp, 4
and ebx, 0x253d
xor ebx, 0xecb6
and ebx, 0x3541
pop ebx
push esi
or esi, 0x124eb
pop esi
push edi
push eax
add esp, 4
sub edi, 0x99b
or edi, 0x8dde
pop edi
cmp dword [ebp - 0x2a8], 0
jne 0x40bbb3
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push ebx
or ebx, 0x980c
pop ebx
push ebx
push ebx
add esp, 4
xor ebx, 0x115a7
call 0x40b376
add byte [edx], bh
dec esi
inc ebx
aaa
cmp byte [ebx + 0x37], cl
inc ecx
inc edi
add esp, 4
add ebx, 0xd24e
and ebx, 0x82bc
pop ebx
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push ecx
sub ecx, 0x1344c
sub ecx, 0x8573
or ecx, 0x5350
pop ecx
push eax
and eax, 0x1576d
pop eax
push edi
xor edi, 0xa8d9
or edi, 0x5616
pop edi
push ebx
and ebx, 0xa44d
pop ebx
cmp dword [ebp - 0x1518], 0
jne 0x40b453
mov dword [ebp - 0x710], 0
jmp 0x40b6fa
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push edi
push eax
add esp, 4
call 0x40b479
add byte [0x4d4e3e49], dh
dec esi
dec esp
aas
xor eax, dword [ebx + 0x565f04c4]
and esi, 0x82ce
or esi, 0x10487
pop esi
push edx
push eax
add esp, 4