Function at 0x1000636e
Capabilities:
Get number of processors

Disassembly:
mov ecx, dword [esp + 8]
push edi
push ebx
push esi
mov dl, byte [ecx]
mov edi, dword [esp + 0x10]
test dl, dl
je 0x100039b0
mov dh, byte [ecx + 1]
test dh, dh
je 0x1000399d
mov esi, edi
mov ecx, dword [esp + 0x14]
mov al, byte [edi]
add esi, 1
cmp al, dl
je 0x1000396e
test al, al
je 0x10003968
mov al, byte [esi]
add esi, 1
cmp al, dl
je 0x1000396e
test al, al
jne 0x1000395b
pop esi
pop ebx
pop edi
xor eax, eax
ret
mov al, byte [esi]
add esi, 1
cmp al, dh
jne 0x10003960
lea edi, [esi - 1]
mov ah, byte [ecx + 2]
test ah, ah
je 0x100039a9
mov al, byte [esi]
add esi, 2
cmp al, ah
jne 0x10003948
mov al, byte [ecx + 3]
test al, al
je 0x100039a9
mov ah, byte [esi - 1]
add ecx, 2
cmp al, ah
je 0x1000397a
jmp 0x10003948
xor eax, eax
pop esi
pop ebx
pop edi
mov al, dl
jmp 0x100062b6
lea eax, [edi - 1]
pop esi
pop ebx
pop edi
ret
mov eax, edi
pop esi
pop ebx
pop edi
ret
or eax, 0
inc esi
jb 0x10006302
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
outsb dx, byte [esi]
add byte [bx + si], al
add ebp, eax
add byte [eax], al
add byte [eax], al
inc esi
push ebx
je 0x10006342
push esi
insb byte es:[edi], dx
dec esp
jae 0x100062d4
add byte [eax], al
add dword [edi + 0x62], ecx
push 0x63
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
outsb dx, byte [esi]
jne 0x10006354
insb byte es:[edi], dx
add byte [eax], al
add byte [eax + eax], al
add byte [eax], al
add byte [esi + 0x73], al
dec ecx
inc esp
insb byte es:[edi], dx
outsd dx, dword [esi]
outsb dx, byte [esi]
add byte [bx + si], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ecx
inc esi
jb 0x10006372
insb byte es:[edi], dx
outsd dx, dword [esi]
outsb dx, byte [esi]
add byte [bx + si], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc esi
jae 0x1000635a
jb 0x1000636c
insb byte es:[edi], dx
dec esp
jae 0x1000631a
add byte [eax], al
add dword [edi + ebp*2 + 0x6e], ebp
imul esp, ecx, 0xffffffb2
or eax, 0
dec esp
inc ebx
outsb dx, byte [esi]
je 0x1000639a
outsd dx, dword [esi]
outsb dx, byte [esi]
add byte [bx + si], al
add byte [ecx], al
add byte [eax], al
cmp byte [edx + 0x49], al
dec ebp
push edx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [eax], al
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp byte [edx + 0x49], al
or byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], bh
inc edx
dec ecx
dec ebp
pop fs
add byte [eax], al
add byte [eax], al
add byte [ebp*2 + 0x697266], bl
add byte [eax], al
add al, byte [eax]
add byte [eax], al
sbb al, 0x6d
jb 0x100063c4
imul eax, dword [eax], 0x20000
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add dword [eax], eax
add byte [eax], al
add byte [eax], bh
inc edx
dec ecx
add byte [eax], al
adc byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
arpl word cs:[edi + 0x6d], bp
dec ebp
xor byte [ebp + 0x70], cl