Function at 0x421ee0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4cdf60
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
mov eax, dword [esp + 0x28]
push ebx
push esi
mov esi, ecx
push eax
mov dword [esp + 0xc], esi
call fcn.00419230
push fcn.00456970
push 0x40a970
push 4
push 0x418
lea ecx, [esi + 0x43e0]
push ecx
mov dword [esp + 0x3c], 0
mov dword [esi], 0x4d5380
call fcn.004be699
push 0
lea ecx, [esi + 0x546c]
mov byte [esp + 0x2c], 1
call fcn.00456930
push 0
lea ecx, [esi + 0x5890]
mov byte [esp + 0x2c], 2
call fcn.00456930
push 0
lea ecx, [esi + 0x5ca8]
mov byte [esp + 0x2c], 3
call fcn.00456930
push 0
lea ecx, [esi + 0x60c4]
mov byte [esp + 0x2c], 4
call fcn.00456930
mov bl, 5
push 0xd4
mov byte [esp + 0x2c], bl
mov dword [esi + 0x868], 0x4d536c
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 6
je 0x421fc2
mov edx, dword [esi + 0x87c]
mov ecx, dword [edx + 0x174]
push str.textures_racetext14.png
push ecx
mov ecx, eax
call fcn.004607e0
jmp 0x421fc4
xor eax, eax
push 0x3eb6b6b7
push 0x3f61e1e2
push 0x3f69e9ea
lea ecx, [esp + 0x18]
mov byte [esp + 0x34], bl
mov dword [esi + 0x29cc], eax
mov dword [esi + 0x29d0], 0x4d534c
call fcn.004568d0
mov edx, dword [eax + 4]
mov dword [esi + 0x29f0], edx
mov ecx, dword [eax + 8]
mov dword [esi + 0x29f4], ecx
mov edx, dword [eax + 0xc]
mov dword [esi + 0x29f8], edx
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0xc]
mov dword [esi + 0x29fc], eax
call fcn.00456920
push 0x3dd0d0d1
push 0x3e6ceced
push 0x3e8e8e8f
lea ecx, [esp + 0x18]
call fcn.004568d0
mov ecx, dword [eax + 4]
mov dword [esi + 0x29dc], ecx
mov edx, dword [eax + 8]
mov dword [esi + 0x29e0], edx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x29e4], ecx
mov edx, dword [eax + 0x10]
lea ecx, [esp + 0xc]
mov dword [esi + 0x29e8], edx
call fcn.00456920
push 0x3e8c8c8d
push 0x3f1f9fa0
push 0x3f40c0c1
lea ecx, [esp + 0x18]
call fcn.004568d0
mov ecx, dword [eax + 4]
mov dword [esi + 0x1520], ecx
mov edx, dword [eax + 8]
mov dword [esi + 0x1524], edx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x1528], ecx
mov edx, dword [eax + 0x10]
lea ecx, [esp + 0xc]
mov dword [esi + 0x152c], edx
call fcn.00456920
mov eax, dword [esi + 0x87c]
mov ecx, dword [eax + 0x23c]
test ecx, ecx
je 0x4220cb
mov ecx, dword [eax + 0x220]
mov dl, byte [ecx + 0x10]
test dl, dl
jne 0x4220cb
mov byte [eax + 0xa35], 1
push 0x10d0
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 7
je 0x422100
mov edx, dword [esi + 0x87c]
mov ecx, dword [edx + 0x174]
push str.LevelsLevel2_Bridge
push ecx
mov ecx, eax
call fcn.00464c30
jmp 0x422102
xor eax, eax
push 0x10d0
mov byte [esp + 0x2c], bl
mov dword [esi + 0x43b0], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 8
je 0x422136
mov edx, dword [esi + 0x43b0]
push edx
mov ecx, eax
call fcn.004687a0
jmp 0x422138
xor eax, eax
mov ecx, dword [esi + 0x43b0]
push ecx
mov ecx, eax
mov byte [esp + 0x2c], bl
mov dword [esi + 0x43b4], eax
call fcn.00468920
push 0x10d0
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 9
je 0x422185
mov edx, dword [esi + 0x87c]
mov ecx, dword [edx + 0x174]
push str.LevelsLevel10_2PBridge
push ecx
mov ecx, eax
call fcn.00464c30
jmp 0x422187
xor eax, eax
push 0x10d0
mov byte [esp + 0x2c], bl
mov dword [esi + 0x43b8], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 0xa
je 0x4221bb
mov edx, dword [esi + 0x43b8]
push edx
mov ecx, eax
call fcn.004687a0
jmp 0x4221bd
xor eax, eax
push 0x10d0
mov byte [esp + 0x2c], bl
mov dword [esi + 0x43bc], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 0xb
je 0x4221fc
mov ecx, dword [esi + 0x87c]
mov edx, dword [ecx + 0x174]
push str.LevelsLevel3_Tipper
push edx
mov ecx, eax
call fcn.00464c30
jmp 0x4221fe
xor eax, eax
push 0x10d0
mov byte [esp + 0x2c], bl
mov dword [esi + 0x43d8], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 0xc
je 0x422232
mov ecx, dword [esi + 0x43d8]
push ecx
mov ecx, eax
call fcn.004687a0
jmp 0x422234
xor eax, eax
mov edx, dword [esi + 0x43b0]
push edx
mov ecx, esi
mov byte [esp + 0x2c], bl
mov dword [esi + 0x43dc], eax
call fcn.00411da0
mov eax, dword [esi + 0x43d8]
push eax
mov ecx, esi
call fcn.00411da0
push 0x10d0
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 0xd
je 0x42228f
mov ecx, dword [esi + 0x87c]
mov edx, dword [ecx + 0x174]
push str.LevelsLevel10_Bridge1
push edx
mov ecx, eax
call fcn.00464c30
jmp 0x422291
xor eax, eax
push 0x10d0
mov byte [esp + 0x2c], bl
mov dword [esi + 0x5454], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 0xe
je 0x4222d0
mov ecx, dword [esi + 0x87c]
mov edx, dword [ecx + 0x174]
push str.LevelsLevel10_Bridge2
push edx
mov ecx, eax
call fcn.00464c30
jmp 0x4222d2
xor eax, eax
push 0x10d0
mov byte [esp + 0x2c], bl
mov dword [esi + 0x5458], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 0xf
je 0x422311
mov ecx, dword [esi + 0x87c]
mov edx, dword [ecx + 0x174]
push str.levelslevel9_popcylinder1
push edx
mov ecx, eax
call fcn.00464c30
jmp 0x422313
xor eax, eax
push 0x10d0
mov byte [esp + 0x2c], bl
mov dword [esi + 0x5464], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 0x10
je 0x422352
mov ecx, dword [esi + 0x87c]
mov edx, dword [ecx + 0x174]
push str.levelslevel9_popcylinder2
push edx
mov ecx, eax
call fcn.00464c30
jmp 0x422354
xor eax, eax
mov dword [esi + 0x5468], eax
mov eax, dword [esi + 0x5464]
push eax
mov ecx, esi
mov byte [esp + 0x2c], bl
call fcn.00411da0
mov ecx, dword [esi + 0x5468]
push ecx
mov ecx, esi
call fcn.00411da0
push 0x10d0
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 0x11
je 0x4223af
mov edx, dword [esi + 0x87c]
mov ecx, dword [edx + 0x174]
push str.LevelsLevel8_Blockdawg1
push ecx
mov ecx, eax
call fcn.00464c30
jmp 0x4223b1
xor eax, eax
push 0x10d0
mov byte [esp + 0x2c], bl
mov dword [esi + 0x5884], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 0x12
je 0x4223f0
mov edx, dword [esi + 0x87c]
mov ecx, dword [edx + 0x174]
push str.LevelsLevel8_Blockdawg2
push ecx
mov ecx, eax
call fcn.00464c30
jmp 0x4223f2
xor eax, eax
push 0x10d0
mov byte [esp + 0x2c], bl
mov dword [esi + 0x5888], eax
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 0x13
je 0x422431
mov edx, dword [esi + 0x87c]
mov ecx, dword [edx + 0x174]
push str.LevelsLevel4_Catapult
push ecx
mov ecx, eax
call fcn.00464c30
jmp 0x422433
xor eax, eax
push eax
mov ecx, esi
mov byte [esp + 0x2c], bl
mov dword [esi + 0x588c], eax
call fcn.00411da0
push 0x10d0
call fcn.004bdcbb
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov byte [esp + 0x28], 0x14
je 0x42247a
mov edx, dword [esi + 0x87c]
mov ecx, dword [edx + 0x174]
push str.LevelsLevel3_Gluebie
push ecx
mov ecx, eax
call fcn.00464c30
jmp 0x42247c
xor eax, eax
mov edx, dword [esi + 0x14]
push 0x3f000000
mov dword [esi + 0x60c0], eax
mov dword [esi + 0x43cc], 0x42340000
mov dword [esi + 0x43d0], 0
mov dword [esi + 0x43d4], 0x32
mov eax, dword [edx + 0x1dc]
push 0x3f000000
push 0x3f000000
lea ecx, [esp + 0x18]
mov byte [esp + 0x34], bl
mov dword [esi + 0x870], eax
call fcn.004568d0
mov ecx, dword [eax + 4]
mov dword [esi + 0x150c], ecx
mov edx, dword [eax + 8]
mov dword [esi + 0x1510], edx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x1514], ecx
mov edx, dword [eax + 0x10]
lea ecx, [esp + 0xc]
mov dword [esi + 0x1518], edx
call fcn.00456920
push str.MASTERRACE
mov ecx, esi
call fcn.0040a220
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x4388], 0x4d52e8
mov dword [esi + 0x2a04], 0x449c4000
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x24
ret 4