Function at 0x4aa260
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x616268
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
push ebp
mov ebx, ecx
push esi
push edi
mov dword [esp + 0x14], ebx
lea eax, [esp + 0x44]
push 0x6a2558
push eax
mov dword [esp + 0x40], 1
call fcn.004bb560
add esp, 8
test al, al
je 0x4aa2b6
lea ecx, [esp + 0x50]
call fcn.004fde70
mov ecx, dword [esp + 0x40]
mov word [ecx + 0x3c], ax
jmp 0x4aa961
lea edx, [esp + 0x44]
push str.team
push edx
call fcn.004bb560
add esp, 8
test al, al
je 0x4aa31c
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x50]
push ecx
lea esi, [eax + 0x64]
mov ecx, esi
call fcn.004044c0
push 0x6a254c
push esi
call fcn.004bb560
add esp, 8
test al, al
je 0x4aa961
mov edi, str.SPEC
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, str.SPEC
push ecx
push str.SPEC
mov ecx, esi
call fcn.00401aa0
jmp 0x4aa961
lea edx, [esp + 0x44]
push str.teamname
push edx
call fcn.004bb560
add esp, 8
test al, al
jne 0x4aa961
lea eax, [esp + 0x44]
push str.mesh
push eax
call fcn.004bb560
add esp, 8
test al, al
jne 0x4aa961
lea ecx, [esp + 0x44]
push str.skin
push ecx
call fcn.004bb560
add esp, 8
test al, al
je 0x4aa377
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x50]
push edx
lea ecx, [eax + 0x70]
jmp 0x4aa95c
lea ecx, [esp + 0x44]
push str.face
push ecx
call fcn.004bb560
add esp, 8
test al, al
jne 0x4aa961
lea edx, [esp + 0x44]
push str.ngsecret
push edx
call fcn.004bb560
add esp, 8
test al, al
jne 0x4aa961
lea eax, [esp + 0x44]
push str.deaths
push eax
call fcn.004bb560
add esp, 8
test al, al
je 0x4aa3d6
lea ecx, [esp + 0x50]
call fcn.004fde70
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x30], eax
jmp 0x4aa961
lea edx, [esp + 0x44]
push str.score
push edx
call fcn.004bb560
add esp, 8
test al, al
je 0x4aa401
lea ecx, [esp + 0x50]
call fcn.004fde70
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x34], eax
jmp 0x4aa961
lea edx, [esp + 0x44]
push str.frags
push edx
call fcn.004bb560
add esp, 8
test al, al
je 0x4aa42c
lea ecx, [esp + 0x50]
call fcn.004fde70
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x2c], eax
jmp 0x4aa961
mov edi, str.player
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x48]
repne scasb al, byte es:[edi]
mov ebp, dword [esp + 0x44]
not ecx
dec ecx
sub edx, ebp
cmp edx, ecx
jne 0x4aa45a
mov edi, str.player
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa950
mov edi, str.playername
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa47e
mov edi, str.playername
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa950
mov edi, 0x6a24f4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa4a2
mov edi, 0x6a24f4
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa3c1
mov edi, str.enemy
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa4c6
mov edi, str.enemy
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa417
mov edi, 0x6a24e8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa4ea
mov edi, 0x6a24e8
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa961
mov edi, str.race
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa536
mov edi, str.race
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4aa536
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x50]
add ecx, 0x64
cmp edx, ecx
je 0x4aa961
lea eax, [esp + 0x40]
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x54]
push edx
push eax
call fcn.0041cfd0
jmp 0x4aa961
mov edi, str.playertype
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa56f
mov edi, str.playertype
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4aa56f
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x50]
add ecx, 0x64
cmp edx, ecx
je 0x4aa961
lea eax, [esp + 0x40]
jmp 0x4aa521
mov edi, str.charactername
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa5ab
mov edi, str.charactername
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4aa5ab
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x50]
add ecx, 0x70
cmp edx, ecx
je 0x4aa961
lea eax, [esp + 0x40]
jmp 0x4aa521
mov edi, str.characterlevel
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa63d
mov edi, str.characterlevel
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4aa63d
lea ecx, [esp + 0x50]
lea edx, [esp + 0x24]
push ecx
push 0x698220
push edx
call fcn.00467490
push 0x6a0eec
push eax
lea eax, [esp + 0x2c]
mov bl, 2
push eax
mov byte [esp + 0x50], bl
call fcn.00467580
add esp, 0x18
mov dl, byte [esp + 0x40]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov byte [esp + 0x13], dl
lea edx, [esp + 0x13]
mov byte [esp + 0x38], 3
push edx
push ecx
push eax
mov eax, dword [esp + 0x4c]
lea ecx, [eax + 0x70]
call fcn.00404c60
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], bl
call fcn.00402ab0
lea ecx, [esp + 0x24]
mov byte [esp + 0x38], 1
call fcn.00402ab0
jmp 0x4aa961
mov edi, str.honor
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa675
mov edi, str.honor
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4aa675
lea ecx, [esp + 0x50]
call fcn.004fde70
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x84], eax
jmp 0x4aa961
mov edi, str.goal
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa699
mov edi, str.goal
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa961
mov edi, str.leader
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa6bd
mov edi, str.leader
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa961
mov edi, str.keyhash
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa701
mov edi, str.keyhash
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4aa701
sub esp, 0xc
lea edx, [esp + 0x5c]
mov dword [esp + 0x20], esp
mov ecx, esp
push edx
call fcn.00420b60
mov eax, dword [esp + 0x4c]
lea ecx, [eax + 0x44]
call fcn.004dab20
jmp 0x4aa961
mov edi, str.character
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa73d
mov edi, str.character
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4aa73d
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x50]
add ecx, 0x70
cmp edx, ecx
je 0x4aa961
lea eax, [esp + 0x40]
jmp 0x4aa521
mov edi, str.scored
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa761
mov edi, str.scored
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa961
mov edi, str.carries
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa785
mov edi, str.carries
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa961
mov edi, str.lives
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa7a9
mov edi, str.lives
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa961
mov edi, str.playtime
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa7cd
mov edi, str.playtime
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa961
mov edi, str.kills
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa802
mov edi, str.kills
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4aa802
lea ecx, [esp + 0x50]
call fcn.004fde70
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x38], eax
jmp 0x4aa961
mov edi, str.topstatus
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa826
mov edi, str.topstatus
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa961
mov edi, 0x6a2454
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa84a
mov edi, 0x6a2454
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4aa961
mov edi, 0x6a2450
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa88e
mov edi, 0x6a2450
mov esi, ebp
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4aa88e
sub esp, 0xc
lea edx, [esp + 0x5c]
mov dword [esp + 0x20], esp
mov ecx, esp
push edx
call fcn.00420b60
mov eax, dword [esp + 0x4c]
lea ecx, [eax + 0x44]
call fcn.004daa60
jmp 0x4aa961
mov edi, str.skill
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4aa8c6
mov edi, str.skill
mov esi, ebp
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4aa8c6
lea ecx, [esp + 0x50]
call fcn.004fde70
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x88], eax
jmp 0x4aa961
lea edx, [esp + 0x24]
lea ecx, [ebx + 4]
push edx
call fcn.004fa420
mov esi, dword [eax]
mov bl, 4
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], bl
call fcn.004047a0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
push eax
push ecx
push esi
lea edx, [esp + 0x24]
push str.CServerQuery::Query_GS_PlayerKey:___s__Invalid_player_key:__s_s
push edx
mov byte [esp + 0x4c], 5
call fcn.004fda00
mov ecx, dword [esp + 0x28]
mov eax, dword [eax]
add esp, 0x14
mov edx, dword [ecx]
push eax
call dword [edx + 0x1c]
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], bl
call fcn.00402ab0
lea ecx, [esp + 0x24]
mov byte [esp + 0x38], 6
call fcn.0041fc40
lea ecx, [esp + 0x44]
mov byte [esp + 0x38], 7
call fcn.0041fc40
lea ecx, [esp + 0x50]
mov dword [esp + 0x38], 8
call fcn.0041fc40
xor al, al
jmp 0x4aa982
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x50]
push eax
add ecx, 0x14
call fcn.004044c0
lea ecx, [esp + 0x44]
mov byte [esp + 0x38], 9
call fcn.0041fc40
lea ecx, [esp + 0x50]
mov dword [esp + 0x38], 0xa
call fcn.0041fc40
mov al, 1
mov ecx, dword [esp + 0x30]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x2c
ret 0x1c