Function at 0x42f630
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4cea1d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, dword [esp + 0x14]
push esi
mov esi, ecx
push eax
mov dword [esp + 8], esi
call fcn.004421b0
mov eax, 0x64
push 0xd4
mov dword [esp + 0x14], 0
mov dword [esi], 0x4d82e8
mov dword [esi + 0x868], 0x4d82d4
mov dword [esi + 0xcd0], eax
mov dword [esi + 0xcc8], eax
mov dword [esi + 0xccc], 0
mov byte [esi + 0xcd4], 1
mov dword [esi + 0x888], 0x4d82bc
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 1
je 0x42f6d0
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_level1.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42f6d2
xor eax, eax
push 0xd4
mov byte [esp + 0x14], 0
mov dword [esi + 0xce0], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 2
je 0x42f712
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_cascade.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42f714
xor eax, eax
push 0xd4
mov byte [esp + 0x14], 0
mov dword [esi + 0xce4], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 3
je 0x42f754
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_level2.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42f756
xor eax, eax
push 0xd4
mov byte [esp + 0x14], 0
mov dword [esi + 0xce8], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 4
je 0x42f796
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_level3.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42f798
xor eax, eax
push 0xd4
mov byte [esp + 0x14], 0
mov dword [esi + 0xcec], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 5
je 0x42f7d8
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_level4.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42f7da
xor eax, eax
push 0xd4
mov byte [esp + 0x14], 0
mov dword [esi + 0xcf0], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 6
je 0x42f81a
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_up.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42f81c
xor eax, eax
push 0xd4
mov byte [esp + 0x14], 0
mov dword [esi + 0xcf4], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 7
je 0x42f85c
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_level5.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42f85e
xor eax, eax
push 0xd4
mov byte [esp + 0x14], 0
mov dword [esi + 0xcf8], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 8
je 0x42f89e
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_level6.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42f8a0
xor eax, eax
push 0xd4
mov byte [esp + 0x14], 0
mov dword [esi + 0xcfc], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 9
je 0x42f8e0
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_level7.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42f8e2
xor eax, eax
push 0xd4
mov byte [esp + 0x14], 0
mov dword [esi + 0xd00], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 0xa
je 0x42f922
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_level8.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42f924
xor eax, eax
push 0xd4
mov byte [esp + 0x14], 0
mov dword [esi + 0xd04], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 0xb
je 0x42f964
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_level9.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42f966
xor eax, eax
push 0xd4
mov byte [esp + 0x14], 0
mov dword [esi + 0xd08], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 0xc
je 0x42f9a6
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_level10.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42f9a8
xor eax, eax
push 0xd4
mov byte [esp + 0x14], 0
mov dword [esi + 0xd0c], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 0xd
je 0x42f9e8
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_neon.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42f9ea
xor eax, eax
push 0xd4
mov byte [esp + 0x14], 0
mov dword [esi + 0xd10], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 0xe
je 0x42fa2a
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_glass.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42fa2c
xor eax, eax
push 0xd4
mov byte [esp + 0x14], 0
mov dword [esi + 0xd14], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x10], 0xf
je 0x42fa6c
mov ecx, dword [esi + 0x878]
mov edx, dword [ecx + 0x174]
push str.Texturespractice_impossible.png
push edx
mov ecx, eax
call fcn.004607e0
jmp 0x42fa6e
xor eax, eax
mov dword [esi + 0xd18], eax
mov eax, dword [esi + 0xce0]
push eax
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f800000
push 0x3f400000
push 0x3f800000
mov byte [esp + 0x38], 0
call fcn.004568a0
push 0x4d80e0
push str.WARM_UP_RACE
mov ecx, esi
call fcn.00442760
mov ecx, dword [esi + 0xce4]
push ecx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3e800000
push 0x3f400000
push 0x3f800000
call fcn.004568a0
push 0x4d3a14
push str.BEGINNER_RACE
mov ecx, esi
call fcn.00442760
mov edx, dword [esi + 0xce8]
push edx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f800000
push 0x3f400000
push 0x3f400000
call fcn.004568a0
push 0x4d3a10
push str.INTERMEDIATE_RACE
mov ecx, esi
call fcn.00442760
push 0xa
mov ecx, esi
call fcn.00442380
mov eax, dword [esi + 0x878]
mov cl, byte [eax + 0xa2d]
test cl, cl
je 0x42fb70
mov eax, dword [esi + 0xcec]
push eax
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f400000
push 0x3f800000
push 0x3f400000
call fcn.004568a0
push 0x4d80dc
jmp 0x42fb9e
mov ecx, dword [eax + 0x580]
push ecx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f266666
push 0x3f266666
push 0x3f266666
call fcn.004568a0
push str.LOCKED_DIZZY
mov ecx, esi
push str.DIZZY_RACE
call fcn.00442760
mov eax, dword [esi + 0x878]
mov cl, byte [eax + 0xa2e]
test cl, cl
je 0x42fbea
mov edx, dword [esi + 0xcf0]
push edx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3ee66666
push 0x3f666666
push 0x3f800000
call fcn.004568a0
push 0x4d80c8
jmp 0x42fc18
mov eax, dword [eax + 0x580]
push eax
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f266666
push 0x3f266666
push 0x3f266666
call fcn.004568a0
push str.LOCKED_TOWER
mov ecx, esi
push str.TOWER_RACE
call fcn.00442760
mov eax, dword [esi + 0x878]
mov cl, byte [eax + 0xa2f]
test cl, cl
je 0x42fc64
mov ecx, dword [esi + 0xcf4]
push ecx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f800000
push 0x3ee66666
push 0x3f400000
call fcn.004568a0
push 0x4d80b4
jmp 0x42fc92
mov edx, dword [eax + 0x580]
push edx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f266666
push 0x3f266666
push 0x3f266666
call fcn.004568a0
push str.LOCKED_UP
mov ecx, esi
push str.UP_RACE
call fcn.00442760
push 0xa
mov ecx, esi
call fcn.00442380
mov eax, dword [esi + 0x878]
mov cl, byte [eax + 0xa3f]
test cl, cl
je 0x42fce4
mov eax, dword [esi + 0xd10]
push eax
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0
push 0x3f800000
push 0x3f800000
call fcn.004568a0
push 0x4d80a4
jmp 0x42fd12
mov ecx, dword [eax + 0x580]
push ecx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f266666
push 0x3f266666
push 0x3f266666
call fcn.004568a0
push str.LOCKED_NEON
mov ecx, esi
push str.NEON_RACE
call fcn.00442760
mov eax, dword [esi + 0x878]
mov cl, byte [eax + 0xa30]
test cl, cl
je 0x42fd5e
mov edx, dword [esi + 0xcf8]
push edx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3e800000
push 0x3e800000
push 0x3f800000
call fcn.004568a0
push 0x4d8094
jmp 0x42fd8c
mov eax, dword [eax + 0x580]
push eax
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f266666
push 0x3f266666
push 0x3f266666
call fcn.004568a0
push str.LOCKED_EXPERT
mov ecx, esi
push str.EXPERT_RACE
call fcn.00442760
mov eax, dword [esi + 0x878]
mov cl, byte [eax + 0xa31]
test cl, cl
je 0x42fdd5
mov ecx, dword [esi + 0xcfc]
push ecx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0
push 0x3f400000
push 0x3f800000
call fcn.004568a0
push 0x4d8080
jmp 0x42fe03
mov edx, dword [eax + 0x580]
push edx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f266666
push 0x3f266666
push 0x3f266666
call fcn.004568a0
push str.LOCKED_ODD
mov ecx, esi
push str.ODD_RACE
call fcn.00442760
push 0xa
mov ecx, esi
call fcn.00442380
mov eax, dword [esi + 0x878]
mov cl, byte [eax + 0xa32]
test cl, cl
je 0x42fe58
mov eax, dword [esi + 0xd04]
push eax
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f800000
push 0x3f400000
push 0x3f400000
call fcn.004568a0
push 0x4d8070
jmp 0x42fe86
mov ecx, dword [eax + 0x580]
push ecx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f266666
push 0x3f266666
push 0x3f266666
call fcn.004568a0
push str.LOCKED_TOOB
mov ecx, esi
push str.TOOB_RACE
call fcn.00442760
mov eax, dword [esi + 0x878]
mov cl, byte [eax + 0xa33]
test cl, cl
je 0x42fed2
mov edx, dword [esi + 0xd00]
push edx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3e947ae1
push 0x3f70a3d7
push 0x3f1c28f6
call fcn.004568a0
push 0x4d8060
jmp 0x42ff00
mov eax, dword [eax + 0x580]
push eax
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f266666
push 0x3f266666
push 0x3f266666
call fcn.004568a0
push str.LOCKED_WOBBLY
mov ecx, esi
push str.WOBBLY_RACE
call fcn.00442760
mov eax, dword [esi + 0x878]
mov cl, byte [eax + 0xa40]
test cl, cl
je 0x42ff4c
mov ecx, dword [esi + 0xd14]
push ecx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f800000
push 0x3f400000
push 0x3f800000
call fcn.004568a0
push 0x4d804c
jmp 0x42ff7a
mov edx, dword [eax + 0x580]
push edx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f266666
push 0x3f266666
push 0x3f266666
call fcn.004568a0
push str.LOCKED_GLASS
mov ecx, esi
push str.GLASS_RACE
call fcn.00442760
push 0xa
mov ecx, esi
call fcn.00442380
mov eax, dword [esi + 0x878]
mov cl, byte [eax + 0xa34]
test cl, cl
je 0x42ffcf
mov eax, dword [esi + 0xd08]
push eax
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f800000
push 0x3f400000
push 0x3e800000
call fcn.004568a0
push 0x4d8038
jmp 0x42fffd
mov ecx, dword [eax + 0x580]
push ecx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f266666
push 0x3f266666
push 0x3f266666
call fcn.004568a0
push str.LOCKED_SKY
mov ecx, esi
push str.SKY_RACE
call fcn.00442760
mov eax, dword [esi + 0x878]
mov cl, byte [eax + 0xa35]
test cl, cl
je 0x430049
mov edx, dword [esi + 0xd0c]
push edx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3e8a3d71
push 0x3f3851ec
push 0x3f59999a
call fcn.004568a0
push 0x4d8028
jmp 0x430077
mov eax, dword [eax + 0x580]
push eax
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f266666
push 0x3f266666
push 0x3f266666
call fcn.004568a0
push str.LOCKED_MASTER
mov ecx, esi
push str.MASTER_RACE
call fcn.00442760
mov eax, dword [esi + 0x878]
mov cl, byte [eax + 0xa41]
test cl, cl
je 0x4300bd
mov ecx, dword [esi + 0xd18]
push ecx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0
push 0
push 0x3f800000
call fcn.004568a0
push 0x4d8014
jmp 0x4300eb
mov edx, dword [eax + 0x580]
push edx
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f266666
push 0x3f266666
push 0x3f266666
call fcn.004568a0
push str.LOCKED_IMPOSSIBLE
mov ecx, esi
push str.IMPOSSIBLE_RACE
call fcn.00442760
push 0xa
mov ecx, esi
call fcn.00442380
push 0
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x3f800000
push 0x3f400000
push 0x3f400000
push 0x3f800000
call fcn.004568a0
push str.BACK
push str.PREVIOUS_MENU
mov ecx, esi
call fcn.00442760
mov ecx, dword [esp + 8]
mov eax, esi
mov dword fs:[0], ecx
pop esi
add esp, 0x10
ret 4