Function at 0x4154c9
Capabilities:
Get number of processors

Disassembly:
cmp ecx, edx
jge 0x4153e0
mov dword [ebp - 0x1618], 0xffffffff
jmp 0x4153ea
mov dword [ebp - 0x1618], 1
mov eax, dword [ebp - 0x1618]
mov dword [ebp - 0x161c], eax
cmp dword [ebp - 0x161c], 0
jne 0x41543f
push esi
push esi
add esp, 4
or esi, 0x16228
or esi, 0xea65
or esi, 0x160e0
xor esi, 0x5069
pop esi
push edx
sub edx, 0x18041
sub edx, 0xf341
add edx, 0x15214
pop edx
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x2fc], ecx
jmp 0x4154a7
push edi
or edi, 0x9bd2
pop edi
push edi
call 0x415458
add byte [ebx + 0x42], cl
inc ebp
cmp bh, byte [edi]
cmp eax, 0x3e4f3b4b
add esp, 4
and edi, 0x3a6
or edi, 0x16b34
jmp 0x415470
pop edi
mov edx, dword [ebp - 0x514]
mov eax, dword [edx]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
cmp ecx, dword [ebp - 0xcc4]
je 0x41549d
mov edx, dword [ebp - 0x514]
cmp dword [edx + 0x30], 0
jne 0x415268
mov dword [ebp - 0x2fc], 0
push edi
and edi, 0x4662
add edi, 0x2044
pop edi
push edx
or edx, 0x14a7c
call 0x4154c9
add byte [edx], bh
inc edx
dec edx
inc ebx
aas
inc eax
dec ebx
add esp, 4
sub edx, 0xd545
sub edx, 0x15a03
pop edx
cmp dword [ebp - 0x2fc], 0
jne 0x415dde
mov eax, 0x6b
mov word [ebp - 0x1790], ax
mov ecx, 0x65
mov word [ebp - 0x178e], cx
mov edx, 0x72
mov word [ebp - 0x178c], dx
mov eax, 0x6e
mov word [ebp - 0x178a], ax
mov ecx, 0x65
mov word [ebp - 0x1788], cx
mov edx, 0x6c
mov word [ebp - 0x1786], dx
mov eax, 0x33
mov word [ebp - 0x1784], ax
mov ecx, 0x32
mov word [ebp - 0x1782], cx
mov edx, 0x2e
mov word [ebp - 0x1780], dx
mov eax, 0x64
mov word [ebp - 0x177e], ax
mov ecx, 0x6c
mov word [ebp - 0x177c], cx
mov edx, 0x6c
mov word [ebp - 0x177a], dx
xor eax, eax
mov word [ebp - 0x1778], ax
push edi
push ebx
add esp, 4
jmp 0x41558b
pop edi
push edx
call 0x41559b
add byte [edi + 0x46], al
xor edi, dword [esi]
aas
cmp cl, byte [ebx + 0x49]
add esp, 4
and edx, 0x4f65
or edx, 0x1605f
sub edx, 0xe8c1
pop edx
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x6f
mov byte [ebp - 0x8a2], 0x61
test dword [esi - 9], ebx
invalid
jmp dword [ecx - 0x3a]
test dword [edi - 9], ebx
invalid
jmp dword [esi + eax*8 - 0x7b]
pushal
idiv edi
dec dword [esi + eax*8 - 0x7b]
popal
idiv edi
jmp [ecx - 0x3a]
test dword [edx - 9], esp
invalid
jmp dword [edx - 0x3a]
test dword [ebx - 9], esp
invalid
push dword [edx - 0x3a]
test dword [edi + esi*8 - 1], esp
jmp dword [ecx - 0x3a]
test dword [ebp - 9], esp
invalid
push dword [edx - 0x3a]
test dword [esi - 9], esp
invalid
invalid
jns 0x4155c5
test dword [edi - 9], esp
invalid
call dword [edi - 0x3a]
test dword [eax - 9], ebp
invalid
inc dword [eax]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x199c], ecx
mov edx, dword [ebp - 0x199c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19a0], eax
mov ecx, dword [ebp - 0x19a0]
mov dword [ebp - 0x1620], ecx
push eax
push edx
add esp, 4
xor eax, 0x4c08
xor eax, 0x38e9
invalid
jmp 0x8141567e
sar byte [ebx], 0x65
add byte [eax], al
pop eax
push ebx
or ebx, 0x3e69
xor ebx, 0x163fa
jmp 0x41565f
sub ebx, 0x183ff
pop ebx
cmp dword [ebp - 0x1620], 0
jne 0x41567e
mov dword [ebp - 0x774], 0
jmp 0x415925
mov edx, dword [ebp - 0x1620]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd0], ecx
push edi
sub edi, 0x15ea1
pop edi
push eax
jmp 0x4156a2
and eax, 0xddb0
pop eax
push edx
push ebx
add esp, 4
call 0x4156be
add byte [eax], al
add byte [eax], al
cmp byte [eax + 0x50], dl
cmp al, byte [edx + 0x4a]
xor al, 0x48
inc ecx
xor al, 0x83
les eax, [edx + ebx*2]
cmp dword [ebp - 0xcd0], 0
jne 0x4156da
mov dword [ebp - 0x774], 0
jmp 0x415925
mov edx, dword [ebp - 0xcd0]
mov dword [ebp - 0x518], edx
push eax
push edx
add esp, 4
add eax, 0x39b0
or eax, 0x15f78
xor eax, 0x13509
pop eax
push esi
sub esi, 0x2fe2
jmp 0x41570b
xor esi, 0x12329
sub esi, 0x3c
pop esi
lea eax, [ebp - 0x1790]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcc8], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push ecx
push ecx
add esp, 4
or ecx, 0x995f
or ecx, 0x40ac
inc eax
add byte [eax], al
sub ecx, 0x62a0
pop ecx
push ebx
xor ebx, 0x16102
add byte [ecx + 0x16a6feb], al
add byte [ecx + 0x1448beb], al
add byte [ecx + 0x1706beb], al
add byte [ebx - 0x75], bl
xchg ebp, eax
cmp bl, dh
invalid
jmp dword [esi - 0x75]
add ah, byte [esi - 0x77]
test dword [esi - 0x74000011], edi
lea edi, [eax]
invalid
invalid
inc dword [ebx - 0x7276fd3f]
cmp bl, dh
invalid
jmp dword [esi - 0x75]
xchg ebp, eax
mov esi, 0x66ffffef
mov dword [ebp - 0x220], edx
mov eax, dword [ebp - 0xccc]
mov cx, word [eax]
mov word [ebp - 0x1044], cx
mov edx, dword [ebp - 0xccc]
add edx, 2
mov dword [ebp - 0xccc], edx
push ebx
jmp 0x41592b
add ebx, 0xde4f
add ebx, 0xaca3
pop ebx
push edx