Function at 0x1003689
Capabilities:
Get number of processors

Disassembly:
test byte [ebp - 0x3c], 1
jne 0x1004368
push 0xa
pop eax
push eax
push esi
push 0
push 0x1000000
call fcn.01001405
mov dword [0x100c070], eax
cmp dword [0x100c064], 0
jne 0x1006c97
push eax
call dword [0x1001314]
nop
nop
nop
nop
nop
call fcn.01003053
push 0x58
push 0x10037a0
call fcn.01003b0c
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x68]
push eax
call dword [0x10010fc]
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 1
mov eax, dword fs:[0x18]
mov esi, dword [eax + 4]
mov edi, 0x100c25c
push 0
push esi
push edi
call dword [0x1001100]
test eax, eax
jne 0x1006c10
xor esi, esi
inc esi
mov eax, dword [0x100c0a4]
cmp eax, esi
je 0x1006c2e
mov eax, dword [0x100c0a4]
test eax, eax
jne 0x1004371
mov dword [0x100c0a4], esi
push 0x100379c
push 0x1003790
call fcn.01003660
pop ecx
pop ecx
test eax, eax
jne 0x1006cbb
mov eax, dword [0x100c0a4]
cmp eax, esi
jne 0x100373a
push 0x100378c
push 0x1003784
call fcn.01003040
pop ecx
pop ecx
mov dword [0x100c0a4], 2
test ebx, ebx
jne 0x1003746
push ebx
push edi
call dword [0x100105c]
cmp dword [0x100cd0c], 0
jne 0x1006c3b
mov eax, dword [0x1001310]
mov esi, dword [eax]
mov dword [ebp - 0x20], esi
mov al, byte [esi]
cmp al, 0x20
jbe 0x10037c8
cmp al, 0x22
je 0x100437c
movzx eax, al
push eax
call dword [0x1001318]
pop ecx
test eax, eax
jne 0x1006c5f
inc esi
jmp 0x100375a
test al, al
je 0x10037d2
cmp dword [ebp - 0x1c], 0
jne 0x1003763
mov al, byte [esi]
test al, al
je 0x10016d1
cmp al, 0x20
ja 0x10016d1
inc esi
mov dword [ebp - 0x20], esi
jmp 0x10037d2
movzx eax, word [ebp - 0x38]
jmp 0x10016de
mov dword [0x100d7a8], esi
jmp 0x1003716
xor ecx, ecx
cmp dword [ebp - 0x1c], ecx
sete cl
mov dword [ebp - 0x1c], ecx
jmp 0x100376b
xor byte [ecx], dh
xor byte [eax], dh
xor byte [edx], ah
sub al, 0x22
insb byte es:[edi], dx
push eax
jb 0x1006c8c
je 0x1006c84
arpl word [ebp + ebp + 0x3e], si
xor byte [eax + 0x30], bh
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax + esi], dh
and cl, byte [0x3032220a]
or eax, 0x3032220a
xor dh, byte [eax]
xor byte [ecx], bh
xor dword [eax], esi
xor byte [ecx], bh
xor byte [0x382e3730], dh
xor dh, byte [esi]
and ch, byte [edx]
xor dword [eax], edi
xor al, 0x30
and ch, byte [edx]
cmp byte fs:[ecx], bh
xor dh, byte [ecx]
xor byte [ebx], dh
cmp byte [eax], bh
cmp byte [ebx + esi], dh
cmp dword [eax], edi
arpl word [edi], si
arpl word [eax], si
arpl word [esi + 0x34], sp
xor esi, dword fs:[esi]
xor al, 0x31
aaa
popal
xor eax, 0x31323531
aaa
xor byte [eax], dh
xor esi, dword [eax]
cmp byte [eax], bh
cmp byte [ecx], bh
popal
aaa
arpl word [ecx + 0x38], sp
aaa
aaa
xor al, 0x35
xor byte [edx], dh
arpl word [ecx], di
xor ah, byte [ebx + 0x39]
aaa
xor word [edx + 0x61], sp
and ch, byte [edx]
cmp dword [ecx], edi
and ch, byte ss:[edx]
jbe 0x1006d03
jbe 0x1006d03
arpl word [ebp + 0x22], sp
sub al, 0x22
inc esp
jbe 0x1006d0c
arpl word [ebp + 0x49], sp
outsd dx, dword [esi]
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x1006d1e
outsd dx, dword [esi]
insb byte es:[edi], dx
and ch, byte [edx]
push ebx
push ebp
inc ebx
inc ebx
inc ebp
push ebx
push ebx
and ch, byte [edx]
and ch, byte [edx]
push 0x69766544
arpl word [ebp + 0x2d], sp
xor byte ds:[eax + 0x30], bh
xor byte [eax], dh
xor byte [eax], dh
xor byte [ebx], dh
xor al, 0x22
sub al, 0x22
ja 0x1006d20
outsd dx, dword [esi]
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x1006d4f
outsd dx, dword [esi]
insb byte es:[edi], dx
inc ebx
outsd dx, dword [esi]
sub eax, 0x3078303e
xor byte [ebx], dh
cmp dword [eax], esi
xor byte [eax], dh
cmp byte [edx], ah
sub al, 0x22
insb byte es:[edi], dx
jo 0x1006d3e
outsb dx, byte [esi]
inc edx
jne 0x1006d5f
jb 0x1006d2a
xor byte ds:[eax + 0x37], bh
aaa
xor al, 0x36
xor al, 0x36
xor esi, dword [ecx]
cmp byte [edx], ah
sub al, 0x22
outsb dx, byte [esi]
dec ecx
outsb dx, byte [esi]
inc edx
jne 0x1006d77
jb 0x1006d68
imul edi, dword [edx + 0x65], 0x78303e2d
xor byte [eax], dh
xor byte [eax], dh
xor byte [ecx], dh
xor byte [eax], dh
and ch, byte [edx]
insb byte es:[edi], dx
jo 0x1006d79
jne 0x1006da0
inc edx
jne 0x1006d95
jb 0x1006d60
xor byte ds:[eax + 0x30], bh
xor byte [ecx], dh
xor ah, byte [esi + 0x63]
xor esi, dword [edx]
sub al, 0x22
and ch, byte [edx]
outsb dx, byte [esi]
dec edi
jne 0x1006db9
inc edx
jne 0x1006dae
jb 0x1006d9f
imul edi, dword [edx + 0x65], 0x78303e2d
xor byte [eax], dh
xor byte [eax], dh
xor byte [ecx], dh
xor byte [eax], dh
and ch, byte [edx]
sub eax, 0x3078303e
xor byte [eax], dh
xor byte [eax], dh
xor dword [eax], esi
xor byte [edx], ah
sub al, 0x22
insb byte es:[edi], dx
jo 0x1006da3
inc edx
jns 0x1006dd7
jae 0x1006db8
je 0x1006dde
jne 0x1006ddc
jb 0x1006dd9
outsb dx, byte [esi]
sub eax, 0x3078303e
xor byte [ecx], dh
xor ah, byte [esi + 0x63]
xor ah, byte [ebx + 0x22]
sub al, 0x22
and ch, byte [edx]
insb byte es:[edi], dx
jo 0x1006dce
jbe 0x1006de6
jb 0x1006def
popal
jo 0x1006df6
sub eax, 0x3078303e
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [edx], ah
or eax, 0x3032220a
xor dh, byte [eax]
xor byte [ecx], bh
xor dword [eax], esi
xor byte [eax], dh
cmp dword [eax], esi
xor byte [ecx], bh
xor byte [0x382e3730], dh
xor eax, 0x382e3730
xor dh, byte [esi]
and ch, byte [edx]
xor dword [eax], edi
xor al, 0x30
cmp byte [eax + esi], dh
and ch, byte [edx]
cmp byte fs:[ecx], bh
xor dh, byte [ecx]
xor dword [eax], esi
xor edi, dword [eax]
cmp byte [eax], bh
xor al, 0x33
xor byte [ebx], dh
cmp byte [eax], bh
cmp byte [ebx + esi], dh
cmp dword [eax], edi
arpl word [edi], si
arpl word [eax], si
arpl word [esi + 0x34], sp
xor esi, dword fs:[esi]
xor al, 0x31
aaa
popal
xor eax, 0x31323531
aaa
aaa
xor byte [eax], dh
xor esi, dword [eax]
xor byte [ebx], dh
xor byte [eax], bh
cmp byte [eax], bh
cmp dword [ecx + 0x37], esp
cmp byte [eax], bh
cmp byte [ecx], bh
popal
aaa
arpl word [ecx + 0x38], sp
aaa
aaa
xor al, 0x35
xor byte [edx], dh
arpl word [ecx], di
aaa
xor word [edx + 0x61], sp
and ch, byte [edx]
cmp dword [ecx], edi
and ch, byte ss:[edx]
and bh, byte [ecx]
cmp dword [esi], esi
and ch, byte [edx]
jbe 0x1006e6a
arpl word [ebp + 0x22], sp
sub al, 0x22
inc esp
jbe 0x1006e73
arpl word [ebp + 0x49], sp
outsd dx, dword [esi]
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x1006e85
outsd dx, dword [esi]
insb byte es:[edi], dx
and ch, byte [edx]
push ebx
push ebp
inc ebx
inc ebx
inc ebp
push ebx
push ebx
and ch, byte [edx]
and ch, byte [edx]
push 0x69766544
arpl word [ebp + 0x2d], sp
xor byte ds:[eax + 0x30], bh
xor byte [eax], dh
xor byte [eax], dh
xor byte [ebx], dh
xor al, 0x22
sub al, 0x22
ja 0x1006e87
outsd dx, dword [esi]
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x1006eb6
outsd dx, dword [esi]
insb byte es:[edi], dx
inc ebx
outsd dx, dword [esi]
sub eax, 0x3078303e
xor byte [ebx], dh
cmp dword [eax], esi
xor byte [eax], dh
cmp byte [edx], ah
sub al, 0x22
insb byte es:[edi], dx
jo 0x1006ea5
outsb dx, byte [esi]
inc edx
jne 0x1006ec6
jb 0x1006e91
xor byte ds:[eax + 0x37], bh
aaa
xor al, 0x36
xor al, 0x36
xor esi, dword [ecx]
cmp byte [edx], ah
sub al, 0x22
outsb dx, byte [esi]
dec ecx
outsb dx, byte [esi]
inc edx
jne 0x1006ede
jb 0x1006ecf
imul edi, dword [edx + 0x65], 0x78303e2d
xor byte [eax], dh
xor byte [eax], dh
xor byte [ecx], dh
xor byte [eax], dh
and ch, byte [edx]
insb byte es:[edi], dx
jo 0x1006ee0
jne 0x1006f07
inc edx
jne 0x1006efc
jb 0x1006ec7
xor byte ds:[eax + 0x30], bh
xor byte [ecx], dh
xor ah, byte [esi + 0x63]
xor esi, dword [edx]
sub al, 0x22
and ch, byte [edx]
outsb dx, byte [esi]
dec edi
jne 0x1006f20
inc edx
jne 0x1006f15
jb 0x1006f06
imul edi, dword [edx + 0x65], 0x78303e2d
xor byte [eax], dh
xor byte [eax], dh
xor byte [ecx], dh
xor byte [eax], dh
and ch, byte [edx]
sub eax, 0x3078303e
xor byte [eax], dh
xor byte [eax], dh
xor dword [eax], esi
xor byte [edx], ah
sub al, 0x22
insb byte es:[edi], dx
jo 0x1006f0a
inc edx
jns 0x1006f3e
jae 0x1006f1f
je 0x1006f45
jne 0x1006f43
jb 0x1006f40
outsb dx, byte [esi]
sub eax, 0x3078303e
xor byte [ecx], dh
xor ah, byte [esi + 0x63]
xor ah, byte [ebx + 0x22]
sub al, 0x22
and ch, byte [edx]
insb byte es:[edi], dx
jo 0x1006f35
jbe 0x1006f4d
jb 0x1006f56
popal
jo 0x1006f5d
sub eax, 0x3078303e
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
xor byte [edx], ah
or eax, 0x3032220a
xor dh, byte [eax]
xor byte [ecx], bh
xor dword [eax], esi
xor byte [eax], dh
cmp dword [eax], esi
xor byte [ecx], bh
xor byte [0x382e3730], dh
xor eax, 0x382e3730
xor dh, byte [esi]
and ch, byte [edx]
xor dword [eax], edi
xor al, 0x30
cmp byte [eax + esi], dh
and ch, byte [edx]
cmp byte fs:[ecx], bh
xor dh, byte [ecx]
xor dword [eax], esi
xor edi, dword [eax]
cmp byte [eax], bh
xor al, 0x33
xor byte [ebx], dh
cmp byte [eax], bh
cmp byte [ebx + esi], dh
cmp dword [eax], edi
arpl word [edi], si
arpl word [eax], si
arpl word [esi + 0x34], sp
xor esi, dword fs:[esi]
xor al, 0x31
aaa
popal
xor eax, 0x31323531
aaa
aaa
xor byte [eax], dh
xor esi, dword [eax]
xor byte [ebx], dh
xor byte [eax], bh
cmp byte [eax], bh
cmp dword [ecx + 0x37], esp
cmp byte [eax], bh
cmp byte [ecx], bh
popal
aaa
arpl word [ecx + 0x38], sp
aaa
aaa
xor al, 0x35
xor byte [edx], dh
arpl word [ecx], di
aaa
xor word [edx + 0x61], sp
and ch, byte [edx]
cmp dword [ecx], edi
and ch, byte ss:[edx]
and bh, byte [ecx]
cmp dword [esi], esi
and ch, byte [edx]
jbe 0x1006fd1
arpl word [ebp + 0x22], sp
sub al, 0x22
inc esp
jbe 0x1006fda
arpl word [ebp + 0x49], sp
outsd dx, dword [esi]
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x1006fec
outsd dx, dword [esi]
insb byte es:[edi], dx
and ch, byte [edx]
push ebx
push ebp
inc ebx
inc ebx
inc ebp
push ebx
push ebx
and ch, byte [edx]
and ch, byte [edx]
push 0x69766544
arpl word [ebp + 0x2d], sp
xor byte ds:[eax + 0x30], bh
xor byte [eax], dh
xor byte [eax], dh
xor byte [ebx], dh
xor al, 0x22
sub al, 0x22
ja 0x1006fee
outsd dx, dword [esi]
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x100701d
outsd dx, dword [esi]
insb byte es:[edi], dx
inc ebx
outsd dx, dword [esi]
sub eax, 0x3078303e
xor byte [ebx], dh
cmp dword [eax], esi
xor byte [eax], dh
xor byte [eax], bh
and ch, byte [edx]
insb byte es:[edi], dx
jo 0x100700c
outsb dx, byte [esi]
inc edx
jne 0x100702d
jb 0x1006ff8
xor byte ds:[eax + 0x37], bh
aaa
xor al, 0x36
xor al, 0x36
xor esi, dword [ecx]
cmp byte [edx], ah
sub al, 0x22
outsb dx, byte [esi]
dec ecx
outsb dx, byte [esi]
inc edx
jne 0x1007045
jb 0x1007036
imul edi, dword [edx + 0x65], 0x78303e2d
xor byte [eax], dh
xor byte [eax], dh
xor byte [ecx], dh
xor byte [eax], dh
and ch, byte [edx]
insb byte es:[edi], dx
jo 0x1007047
jne 0x100706e
inc edx
jne 0x1007063
jb 0x100702e
xor byte ds:[eax + 0x30], bh
xor byte [ecx], dh
xor ah, byte [esi + 0x63]
xor esi, dword [edx]
sub al, 0x22
and ch, byte [edx]
outsb dx, byte [esi]
dec edi
jne 0x1007087
inc edx
jne 0x100707c
jb 0x100706d
imul edi, dword [edx + 0x65], 0x78303e2d
xor byte [eax], dh
xor byte [eax], dh
xor byte [ecx], dh
xor byte [eax], dh
and ch, byte [edx]
sub eax, 0x3078303e
xor byte [eax], dh
xor byte [eax], dh
xor dword [eax], esi
xor byte [edx], ah
sub al, 0x22
insb byte es:[edi], dx
jo 0x1007071
inc edx
jns 0x10070a5
jae 0x1007086
je 0x10070ac
jne 0x10070aa
jb 0x10070a7
outsb dx, byte [esi]
sub eax, 0x3078303e
xor byte [ecx], dh
xor ah, byte [esi + 0x63]
xor ah, byte [ebx + 0x22]
sub al, 0x22
and ch, byte [edx]
insb byte es:[edi], dx
jo 0x100709c
jbe 0x10070b4
jb 0x10070bd
xor byte [eax], dh
cmp dword [eax], esi
xor eax, 0x382e3730
cmp byte [eax + esi], dh
xor dword [eax], esi
xor edi, dword [eax]
cmp byte [eax], bh
xor al, 0x33
aaa
xor byte [ebx], dh
xor byte [eax], bh
cmp byte [eax], bh
cmp dword [ecx + 0x37], esp