Function at 0x455290
Capabilities:
Print debug messages

Disassembly:
mov eax, dword fs:[0]
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x457647
push eax
mov dword fs:[0], esp
mov eax, dword [ebp + 8]
sub esp, 0xd90
mov dword [ebp - 0x10], ecx
push ebx
push esi
push edi
push eax
call fcn.00420480
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x10]
mov dword [edx + 0x24], 1
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x60], eax
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x5c], ecx
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp + 0x24]
push 0x3988
mov dword [edx + 0x64], ebx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x30]
mov dword [edx + 0x68], eax
call fcn.004bd170
mov dword [ebp - 0x14], eax
add esp, 4
mov dword [ebp - 4], 0
mov esi, eax
mov eax, 0
test esi, esi
je 0x455314
mov ecx, esi
call fcn.0042b4b0
mov edx, dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
mov dword [edx + 0x4c], eax
mov eax, dword [0x4e2fdc]
cmp eax, 0xffffffc4
jne 0x45534a
mov edx, dword [ebp - 0x10]
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 8]
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x30
push str.sbike
lea eax, [ebp - 0x6f4]
push str._s_rider.mcf
push eax
call fcn.004bd200
add esp, 0xc
lea eax, [ebp - 0xd9c]
lea ecx, [ebp - 0x6f4]
nop
push eax
push ecx
mov ecx, dword [0x4e2fdc]
add ecx, 0x624
call fcn.00429340
test eax, eax
je 0x45532b
push str.sbike
lea eax, [ebp - 0x6f4]
push str._s_bike.mcf
push eax
call fcn.004bd200
add esp, 0xc
lea eax, [ebp - 0xc98]
lea ecx, [ebp - 0x6f4]
nop
push eax
push ecx
mov ecx, dword [0x4e2fdc]
add ecx, 0x624
call fcn.00429340
test eax, eax
je 0x45532b
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x40], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x1c]
mov edi, 0x4df418
mov dword [edx + 0x44], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x20]
mov ecx, 0xffffffff
mov dword [edx + 0x48], eax
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
lea edi, [ebp - 0xb94]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x10]
fld dword [ecx + 0x40]
fmul dword [0x4d59a0]
fstp dword [edx + 0x18bc]
mov eax, dword [0x4e2fdc]
movsx eax, word [eax + 0x1072]
cmp eax, 5
ja case.0x455431.4
jmp dword [eax*4 + 0x457660]
mov ecx, dword [ebp - 0x10]
call fcn.00457ab0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x18c8], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x18c8]
test eax, eax
jne case.0x455431.4
push str.Error_Reading_Track_Data__n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x4e2fdc]
mov esi, dword [ebp - 0x10]
mov ecx, dword [eax + 0x314]
cmp ecx, 1
jle 0x4554d4
mov dword [esi + 0x88], ecx
add esi, 0x88
jmp 0x4554ea
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp - 0x10]
push eax
call fcn.00457da0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x18c8], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x18c8]
test eax, eax
jne case.0x455431.4
jmp 0x455456
mov ecx, dword [ebp - 0x10]
call fcn.00457880
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x18c8], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x18c8]
test eax, eax
jne case.0x455431.4
push str.Error_Reading_Track_Grid.___BikeRace_init_FAILED__n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x45532b
add esi, 0x88
mov eax, dword [0x4e2fdc]
movsx eax, word [eax + 0x107a]
add eax, ecx
mov dword [esi], eax
push 0
mov eax, dword [ebp + 0x2c]
push eax
lea ecx, [ebp - 0x64]
push ecx
lea edx, [ebp - 0x9c]
push edx
mov ecx, dword [ebp - 0x10]
call fcn.00458f50
mov ecx, dword [0x4e2fdc]
mov eax, dword [ecx + 0x314]
cmp eax, 1
jg 0x455586
mov eax, ecx
mov ax, word [eax + 0x1070]
cmp ax, 3
je 0x455543
cmp ax, 2
je 0x455543
xor edx, edx
mov eax, dword [esi]
cmp eax, edx
jle 0x455586
lea ecx, [edx + 1]
mov dword [ebp + edx*4 - 0x440], ecx
cmp ecx, eax
mov edx, ecx
jl 0x455531
jmp 0x455586
lea eax, [ebp - 0x5f0]
mov ecx, dword [ebp - 0x10]
push eax
xor edi, edi
call fcn.00455120
mov edx, dword [esi]
cmp edx, edi
jle 0x455586
xor ecx, ecx
test edx, edx
jle 0x455581
lea eax, [ebp - 0x5f0]
mov esi, dword [eax]
sub esi, edi
cmp esi, 1
je 0x455579
add eax, 4
inc ecx
cmp edx, ecx
jg 0x455566
jmp 0x455581
inc ecx
mov dword [ebp + edi*4 - 0x440], ecx
inc edi
cmp edi, edx
jl 0x45555a
xor eax, eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], 0x3f800000
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp + 0x34]
cmp eax, 5
ja case.default.0x45559d
jmp dword [eax*4 + 0x457678]
mov dword [ebp - 0x4c], 8
mov dword [ebp - 0x48], 0
jmp case.default.0x45559d
mov dword [ebp - 0x4c], 0x235
mov dword [ebp - 0x48], 0
jmp case.default.0x45559d
mov dword [ebp - 0x4c], 8
mov dword [ebp - 0x48], 0
jmp case.default.0x45559d
mov dword [ebp - 0x4c], 0x235
mov dword [ebp - 0x48], 0
jmp case.default.0x45559d
mov dword [ebp - 0x4c], 8
jmp 0x4555f4
mov dword [ebp - 0x4c], 0x235
mov dword [ebp - 0x48], 1
mov eax, dword [0x4e2fdc]
mov ax, word [eax + 0x1072]
cmp ax, 3
jne 0x455ad6
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x80], eax
lea edx, [ebp - 0x80]
mov ebx, dword [ecx + 4]
push 0
push 0
mov dword [edx + 4], ebx
mov ecx, dword [ecx + 8]
push edx
mov dword [edx + 8], ecx
mov ecx, dword [ebp + 0x18]
call fcn.00411160
push str.finish01.slt
lea ecx, [ebp - 0x6f4]
push str.geometry
push 0x4df954
push ecx
call fcn.004bd200
add esp, 0x10
lea ecx, [ebp - 0xa90]
lea edx, [ebp - 0x6f4]
nop
push ecx
push edx
mov ecx, dword [0x4e2fdc]
add ecx, 0x624
call fcn.00429340
test eax, eax
je 0x455335
push 0xa4
call fcn.0045b6b0
mov dword [ebp - 0x14], eax
add esp, 4
mov dword [ebp - 4], 1
mov esi, eax
mov eax, 0
test esi, esi
je 0x4556ad
push 1
mov ecx, esi
call fcn.00473c10
lea ecx, [ebp - 0x4c]
xor ebx, ebx
mov dword [ebp - 4], 0xffffffff
push ecx
mov edx, dword [ebp - 0x78]
push 0x3f000000
mov ecx, dword [ebp - 0x7c]
push 0x3f000000
mov edi, dword [ebp - 0x80]
push 0x40000000
push ebx
push ebx
push edx
push ecx
mov edx, dword [0x4e2fdc]
push edi
lea edi, [ebp - 0xa90]
mov ecx, dword [edx + 0x2e0]
mov edx, dword [ebp - 0x10]
push ecx
push edi
mov ecx, dword [edx + 0x60]
mov edi, dword [ebp + 0x14]
push ecx
push edi
mov ecx, dword [edx + 0x1c]
push ecx
mov ecx, eax
call fcn.00473d70
push eax
mov edi, eax
mov ecx, dword [ebp - 0x10]
call fcn.004203b0
push 1
mov ecx, dword [edi + 0x30]
call fcn.00447cb0
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x18b4]
mov ecx, dword [edx + 0x18b8]
shl eax, 4
add eax, ecx
lea eax, [eax + eax*2]
mov ecx, dword [edx + eax*8 - 0xd8]
lea eax, [edx + eax*8]
mov edx, dword [eax - 0xdc]
dec edx
shl edx, 4
mov dword [ebp - 0x14], edx
fild dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
fadd dword [0x4d59b0]
fmul dword [eax + 0x18bc]
mov eax, 0x10
sub eax, ecx
fsub dword [ebp - 0x9c]
shl eax, 4
fstp dword [ebp - 0x30]
fld dword [ebp - 0x98]
fchs
fstp dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x310]
fadd dword [0x4d59b0]
fmul dword [eax + 0x18bc]
fsub dword [ebp - 0x94]
fstp dword [ebp - 0x28]
mov eax, dword [edx]
mov dword [ecx], eax
mov esi, dword [edx + 4]
push ebx
lea eax, [ebp - 0x1c]
mov dword [ecx + 4], esi
mov edx, dword [edx + 8]
push eax
push ecx
mov dword [ecx + 8], edx
mov ecx, edi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], 0x3f800000
mov dword [ebp - 0x14], ebx
call fcn.00473f50
mov edx, dword [ebp - 0x10]
mov esi, 0xc0f00000
mov ecx, dword [edx + 0x18bc]
push ecx
push ecx
push ecx
mov ecx, dword [edi + 0x30]
call fcn.004b6a80
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], esi
push ecx
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x20c], esi
mov dword [ebp - 0x208], 0x41380000
mov dword [ebp - 0x204], ebx
mov ecx, dword [edi + 0x30]
call fcn.004b6ef0
lea ecx, [ebp - 0xa8]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
lea edx, [ebp - 0x1c]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x20c]
push ecx
push edx
mov ecx, dword [edi + 0x30]
call fcn.004b6ef0
lea ecx, [ebp - 0x20c]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
sub esp, 4
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x208]
fld dword [ecx + 0x18bc]
fmul dword [0x4d59bc]
push edx
mov ecx, dword [ebp - 0x20c]
push eax
mov edx, dword [ebp - 0xa0]
push ecx
mov eax, dword [ebp - 0xa4]
fstp dword [esp + 0xc]
push edx
mov ecx, dword [ebp - 0xa8]
push eax
mov edx, dword [ebp - 0x10]
push ecx
mov ecx, dword [edx + 0x4c]
call fcn.0042ce00
mov edx, dword [ebp - 0x10]
lea ecx, [ebp - 0xa8]
mov dword [edx + 0x50], eax
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], 0x41380000
mov dword [ebp - 0x14], ebx
mov eax, dword [edx]
mov dword [ecx], eax
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, 0x40f00000
mov edx, dword [edx + 8]
lea eax, [ebp - 0x1c]
mov dword [ecx + 8], edx
lea ecx, [ebp - 0x20c]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], 0x41380000
mov dword [ebp - 0x14], ebx
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
lea edx, [ebp - 0x1c]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0xa8]
push ecx
push edx
mov ecx, dword [edi + 0x30]
call fcn.004b6ef0
lea ecx, [ebp - 0xa8]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x1c]
push edx
mov ecx, dword [edi + 0x30]
call fcn.004b6ef0
lea ecx, [ebp - 0x20c]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
sub esp, 4
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x208]
fld dword [ecx + 0x18bc]
fmul dword [0x4d59bc]
push edx
mov ecx, dword [ebp - 0x20c]
push eax
mov edx, dword [ebp - 0xa0]
push ecx
mov eax, dword [ebp - 0xa4]
fstp dword [esp + 0xc]
push edx
mov ecx, dword [ebp - 0xa8]
push eax
mov edx, dword [ebp - 0x10]
push ecx
mov ecx, dword [edx + 0x4c]
call fcn.0042ce00
mov edx, dword [ebp - 0x10]
lea ecx, [ebp - 0xa8]
mov dword [edx + 0x54], eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], 0x41380000
mov dword [ebp - 0x14], ebx
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
lea edx, [ebp - 0x20c]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
mov eax, dword [ecx]
mov dword [edx], eax
lea eax, [ebp - 0xa8]
mov ebx, dword [ecx + 4]
push eax
mov dword [edx + 4], ebx
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
lea edx, [ebp - 0x1c]
push edx
mov ecx, dword [edi + 0x30]
call fcn.004b6ef0
lea edx, [ebp - 0xa8]
mov ecx, dword [eax]
mov dword [edx], ecx
lea ecx, [ebp - 0x20c]
mov ebx, dword [eax + 4]
push ecx
mov dword [edx + 4], ebx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
lea edx, [ebp - 0x1c]
push edx
mov ecx, dword [edi + 0x30]
call fcn.004b6ef0
lea edx, [ebp - 0x20c]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ebx, dword [eax + 4]
sub esp, 4
mov dword [edx + 4], ebx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x208]
fld dword [edx + 0x18bc]
fmul dword [0x4d59bc]
push ecx
mov edx, dword [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0xa0]
push edx
mov eax, dword [ebp - 0xa4]
fstp dword [esp + 0xc]
push ecx
mov edx, dword [ebp - 0xa8]
push eax
mov ebx, dword [ebp - 0x10]
push edx
mov ecx, dword [ebx + 0x4c]
call fcn.0042ce00
mov ebx, dword [ebp - 0x10]
mov dword [ebx + 0x58], eax
mov eax, dword [0x4e2fdc]
cmp word [eax + 0x1070], 0
je 0x455fda
push 0x54
call fcn.0045b6b0
mov dword [ebp - 0x14], eax
add esp, 4
mov dword [ebp - 4], 4
mov esi, eax
test esi, esi
je 0x455f84
push 1
mov ecx, esi
call fcn.0043c3e0
mov ecx, eax
jmp 0x455f86
cmp ax, 2
jne 0x455eec
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x18c0]
test eax, eax
je 0x455a88
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x80], eax
lea edx, [ebp - 0x80]
mov esi, dword [ecx + 4]
push 0
push 0
mov dword [edx + 4], esi
mov ecx, dword [ecx + 8]
push edx
mov dword [edx + 8], ecx
mov ecx, dword [ebp + 0x18]
call fcn.00411160
fld dword [ebp - 0x7c]
fsub dword [0x4d59c4]
push str.finish01.slt
lea ecx, [ebp - 0x6f4]
push str.geometry
push 0x4df954
push ecx
fstp dword [ebp - 0x7c]
call fcn.004bd200
add esp, 0x10
lea ecx, [ebp - 0xa90]
lea edx, [ebp - 0x6f4]
nop
push ecx
push edx
mov ecx, dword [0x4e2fdc]
add ecx, 0x624
call fcn.00429340
test eax, eax
je 0x455335
push 0xa4
call fcn.0045b6b0
mov dword [ebp - 0xa0], eax
add esp, 4
mov dword [ebp - 4], 2
mov esi, eax
mov eax, 0
test esi, esi
je 0x455b98
push 1
mov ecx, esi
call fcn.00473c10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
mov edx, dword [ebp - 0x78]
push ecx
push 0x3f000000
push 0x3f000000
mov edi, dword [ebp - 0x7c]
push 0x40000000
mov ecx, dword [ebp - 0x80]
push 0
push 0
push edx
push edi
push ecx
mov edx, dword [0x4e2fdc]
lea ecx, [ebp - 0xa90]
nop
mov edi, dword [edx + 0x2e0]
mov edx, dword [ebp - 0x10]
push edi
push ecx
mov edi, dword [edx + 0x60]
mov ecx, dword [ebp + 0x14]
push edi
push ecx
mov edi, dword [edx + 0x1c]
mov ecx, eax
push edi
call fcn.00473d70
push eax
mov edi, eax
mov ecx, dword [ebp - 0x10]
call fcn.004203b0
push 1
mov ecx, dword [edi + 0x30]
call fcn.00447cb0
push 0
lea eax, [ebp - 0x64]
push 0x518de8
mov ecx, edi
push eax
call fcn.00473f50
mov eax, dword [ebx + 0x44]
mov edx, dword [ebp - 0x10]
fld dword [eax + 0x34c]
fmul dword [edx + 0x18bc]
fstp dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ebx, 0xc0f00000
push ecx
push ecx
push ecx
mov ecx, dword [edi + 0x30]
mov esi, 0x41380000
call fcn.004b6a80
mov dword [ebp - 0x20c], ebx
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], 0
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0xa8]
push ecx
mov ecx, dword [edi + 0x30]
call fcn.004b6ef0
lea ecx, [ebp - 0x20c]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
lea edx, [ebp - 0xa8]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x30]
push ecx
push edx
mov ecx, dword [edi + 0x30]
call fcn.004b6ef0
lea ecx, [ebp - 0x30]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
fld dword [ebp - 0x14]
fmul dword [0x4d59bc]
fstp dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
push ecx
mov eax, dword [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0x30]
push eax
mov edx, dword [ebp - 0x204]
push ecx
mov eax, dword [ebp - 0x208]
push edx
mov ecx, dword [ebp - 0x20c]
push eax
mov edx, dword [ebp - 0x10]
push ecx
mov ecx, dword [edx + 0x4c]
call fcn.0042ce00
mov edx, dword [ebp - 0x10]
lea ecx, [ebp - 0x20c]
mov dword [edx + 0x50], eax
lea edx, [ebp - 0xa8]
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa0], 0
mov eax, dword [edx]
mov dword [ecx], eax
mov ebx, dword [edx + 4]
mov dword [ecx + 4], ebx
mov ebx, 0x40f00000
mov edx, dword [edx + 8]
mov dword [ecx + 8], edx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], esi
lea eax, [ebp - 0xa8]
lea ecx, [ebp - 0x30]
mov dword [ebp - 0xa0], 0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
lea edx, [ebp - 0xa8]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x20c]
push ecx
push edx
mov ecx, dword [edi + 0x30]
call fcn.004b6ef0
lea ecx, [ebp - 0x20c]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
lea edx, [ebp - 0xa8]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x30]
push ecx
push edx
mov ecx, dword [edi + 0x30]
call fcn.004b6ef0
lea ecx, [ebp - 0x30]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x204]
push edx
mov eax, dword [ebp - 0x208]
push eax
mov ecx, dword [ebp - 0x20c]
push ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x4c]
call fcn.0042ce00
mov edx, dword [ebp - 0x10]
lea ecx, [ebp - 0x20c]
mov dword [edx + 0x54], eax
lea edx, [ebp - 0xa8]
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa0], 0
mov eax, dword [edx]
mov dword [ecx], eax
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov edx, dword [edx + 8]
mov dword [ecx + 8], edx
lea ecx, [ebp - 0xa8]
lea edx, [ebp - 0x30]
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
mov eax, dword [ecx]
mov dword [edx], eax
lea eax, [ebp - 0x20c]
mov esi, dword [ecx + 4]
push eax
mov dword [edx + 4], esi
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
lea edx, [ebp - 0xa8]
push edx
mov ecx, dword [edi + 0x30]
call fcn.004b6ef0
lea edx, [ebp - 0x20c]
mov ecx, dword [eax]
mov dword [edx], ecx
lea ecx, [ebp - 0x30]
mov ebx, dword [eax + 4]
push ecx
mov dword [edx + 4], ebx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
lea edx, [ebp - 0xa8]
push edx
mov ecx, dword [edi + 0x30]
call fcn.004b6ef0
lea edx, [ebp - 0x30]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ebx, dword [eax + 4]
mov dword [edx + 4], ebx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
push ecx
push edx
push eax
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x204]
push edx
mov eax, dword [ebp - 0x208]
push eax
mov ecx, dword [ebp - 0x20c]
push ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x4c]
call fcn.0042ce00
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x58], eax
jmp 0x455a88
test ax, ax
jne 0x455a88
push 0x198
call fcn.0045b6b0
mov dword [ebp - 0x14], eax
add esp, 4
mov esi, eax
mov ecx, 0
mov dword [ebp - 4], 3
test esi, esi
je 0x455f22
push 1
mov ecx, esi
call fcn.0043ca40
mov ecx, eax
mov edx, dword [ebp - 0x10]
mov ebx, dword [0x4e2fdc]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [edx + 0x44]
push eax
push edx
mov eax, dword [ebx + 0x2e0]
mov ebx, dword [edx + 0x60]
push eax
push ebx
mov eax, dword [ebp + 0x14]
mov ebx, dword [edx + 0x1c]
push eax
push ebx
call fcn.0043d010
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x70], eax
mov edx, dword [ebp - 0x10]
mov ecx, edx
mov eax, dword [edx + 0x70]
push eax
call fcn.004203b0
cmp eax, 1
sbb eax, eax
neg eax
test eax, eax
je 0x455a88
jmp 0x455335
xor ecx, ecx
push 0x40400000
mov edx, dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [edx + 0x44]
mov ebx, dword [edx + 0x1c]
push eax
push 0x1e
push edx
mov eax, dword [edx + 0x60]
push eax
push ebx
call fcn.0043c4e0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x74], eax
mov edx, dword [ebp - 0x10]
mov ecx, edx
mov eax, dword [edx + 0x74]
push eax
call fcn.004203b0
cmp eax, 1
sbb eax, eax
neg eax
test eax, eax
je 0x455fda
jmp 0x455335
mov eax, dword [0x4e2fdc]
cmp word [eax + 0x1072], 4
je 0x456141
mov ecx, dword [eax + 0x314]
cmp ecx, 1
jg 0x456006
cmp word [eax + 0x107a], 0
jle 0x456141
push str.youind.slt
lea eax, [ebp - 0x6f4]
push str.geometry
push 0x4df954
push eax
call fcn.004bd200
add esp, 0x10
lea eax, [ebp - 0xa90]
lea ecx, [ebp - 0x6f4]
nop
push eax
push ecx
mov ecx, dword [0x4e2fdc]
add ecx, 0x624
call fcn.00429340
test eax, eax
je 0x455335
push 0xa4
call fcn.0045b6b0
mov dword [ebp - 0x14], eax
add esp, 4
mov esi, eax
mov ecx, 0
mov dword [ebp - 4], 5
test esi, esi
je 0x456083
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0x6ec]
push ecx
mov ecx, esi
call fcn.00473c10
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
xor edi, edi
mov eax, dword [ebp - 0x50]
push edi
push 0x3f000000
push 0x3f000000
mov edx, dword [ebp - 0x54]
push 0x40000000
mov ebx, dword [ebp - 0x58]
push edi
push edi
push eax
push edx
push ebx
mov eax, dword [0x4e2fdc]
lea ebx, [ebp - 0xa90]
mov edx, dword [eax + 0x2e0]
push edx
push ebx
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp + 0x14]
mov eax, dword [edx + 0x60]
push eax
push ebx
mov eax, dword [edx + 0x1c]
push eax
call fcn.00473d70
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x6c], eax
mov edx, dword [ebp - 0x10]
mov ecx, edx
mov eax, dword [edx + 0x6c]
push eax
call fcn.004203b0
push 1
mov edx, dword [ebp - 0x10]
mov ebx, dword [edx + 0x6c]
mov ecx, dword [ebx + 0x30]
call fcn.00447cb0
push 0x42960000
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xa4], 0x3f800000
push edi
mov ecx, dword [ebp - 0xa4]
push ecx
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x6c]
call fcn.00473f70
push 0x3f19999a
mov edx, dword [ebp - 0x10]
mov ebx, dword [edx + 0x6c]
push 0x3f19999a
push 0x3f19999a
mov ecx, dword [ebx + 0x30]
call fcn.004b6a80
push 8
mov ecx, dword [ebp + 8]
call fcn.004936e0
test eax, eax
je 0x456183
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x1c]
xor edx, edx
mov eax, dword [eax]
mov ecx, dword [eax + 0x390]
mov ebx, dword [eax + 0x370]
cmp ebx, ecx
setle dl
dec edx
and edx, 8
mov dword [ebp - 0xa0], edx
jmp 0x45618d
mov dword [ebp - 0xa0], 0
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xa0]
or eax, 1
mov edx, dword [ecx + eax*4 + 0x364]
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 0xa0]
or eax, 3
mov edx, dword [ecx + eax*4 + 0x364]
mov dword [ebp - 0x314], edx
mov eax, dword [ebp - 0xa0]
or eax, 5
xor esi, esi
mov edx, dword [ecx + eax*4 + 0x364]
lea edi, [ebp - 0x1fc]
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0xa0]
or eax, 7
mov edx, dword [ecx + eax*4 + 0x364]
xor eax, eax
mov ecx, 0xb
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x200], esi
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x1cc]
mov ecx, 0xb
mov dword [ebp - 0x1d0], esi
rep stosd dword es:[edi], eax
mov eax, dword [0x4e2fdc]
mov ebx, dword [eax + 0x314]
cmp ebx, 1
jne 0x45625c
mov ecx, dword [eax + 0xce4]
mov dword [ebp - 0x14], ecx
mov eax, dword [0x4e2fdc]
mov edx, dword [eax + 0xce0]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp + ecx*4 - 0x200]
inc ebx
mov edx, dword [ebp - 0x34]
mov dword [ebp + ecx*4 - 0x200], ebx
inc dword [ebp + edx*4 - 0x1d0]
jmp 0x456383
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0x318]
test ecx, ecx
je 0x456289
call fcn.00494500
test eax, eax
jne 0x456289
mov eax, dword [0x4e2fdc]
add eax, 0x107a
cmp word [eax], 0
jle 0x456289
mov word [eax], 0
mov eax, dword [0x4e2fdc]
mov eax, dword [eax + 0x314]
shl eax, 2
push eax
call fcn.004bd170
add esp, 4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x34], eax
mov ebx, dword [0x4e2fdc]
mov ecx, dword [ebx + 0x318]
call fcn.00494c60
xor edx, edx
mov dword [ebp - 0x204], eax
mov ecx, dword [0x4e2fdc]
mov edi, dword [ecx + 0x314]
add ecx, 0x314
cmp edi, edx
jle 0x45631f
mov edi, dword [0x4e2fdc]
add edi, 0xd00
mov eax, dword [ebp - 0x204]
mov ebx, dword [edi]
cmp ebx, eax
jne 0x456317
mov eax, dword [edi - 0x10]
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp + eax*4 - 0x200]
inc ebx
mov dword [ebp + eax*4 - 0x200], ebx
mov eax, dword [edi - 0x14]
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp + eax*4 - 0x1d0]
inc ebx
mov dword [ebp + eax*4 - 0x1d0], ebx
add edi, 0x28
inc edx
cmp dword [ecx], edx
jg 0x4562e1
xor edi, edi
mov eax, dword [ecx]
cmp eax, edi
jle 0x456383
mov edx, dword [0x4e2fdc]
add edx, 0xcf0
mov eax, dword [ebp - 0x204]
mov ebx, dword [edx + 0x10]
cmp ebx, eax
je 0x45637b
mov eax, dword [edx]
mov ebx, dword [ebp - 0x14]
cmp ebx, eax
je 0x45635d
mov ebx, dword [ebp + eax*4 - 0x200]
test ebx, ebx
jne 0x456355
inc esi
inc ebx
mov dword [ebp + eax*4 - 0x200], ebx
mov eax, dword [edx - 4]
mov ebx, dword [ebp - 0x34]
cmp ebx, eax
je 0x45637b
mov ebx, dword [ebp + eax*4 - 0x1d0]
test ebx, ebx
jne 0x456373
inc esi
inc ebx
mov dword [ebp + eax*4 - 0x1d0], ebx
add edx, 0x28
inc edi
cmp dword [ecx], edi
jg 0x456333
mov eax, dword [0x4e2fdc]
mov ecx, 0xb
movsx eax, word [eax + 0x107a]
sub ecx, esi
cmp eax, ecx
jl 0x45639c
mov eax, ecx
add eax, eax
mov dword [ebp - 0x28], eax
mov eax, 8
mov ecx, dword [ebp - 0xa0]
cmp ecx, 8
je 0x4563cb
push 0x22b
mov ecx, dword [ebp + 8]
call fcn.004936e0
cmp eax, 1
sbb eax, eax
and eax, 0xa
add eax, 0x22b
push 0x32
mov dword [ebp - 0x24], eax
push str.ReservedTexture
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x4e2fdc]
call fcn.004673f0
shl eax, 0xa
mov ecx, dword [ebp + 0x28]
sub ecx, eax
mov edi, dword [ebp - 0x28]
add edi, esi
mov eax, dword [ebp - 0x84]
lea edx, [edi + 2]
imul eax, edx
cmp eax, ecx
jge 0x45640a
xor eax, eax
jmp 0x456538
add esi, 2
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x84]
imul eax, dword [ebp - 0x314]
imul ebx, esi
add eax, ebx
cmp eax, ecx
jge 0x45643a
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], 1
jmp 0x456541
mov ebx, dword [ebp - 0x314]
mov eax, dword [ebp - 0x84]
imul ebx, edi
lea ebx, [ebx + eax*2]
cmp ebx, ecx
jge 0x456461
mov dword [ebp - 0x20], 0
mov eax, 1
jmp 0x45653b
mov eax, dword [ebp - 0x314]
imul eax, edx
cmp eax, ecx
jge 0x456478
mov eax, 1
jmp 0x456538
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x314]
imul eax, dword [ebp - 0x444]
imul ebx, esi
add eax, ebx
cmp eax, ecx
jge 0x4564a8
mov eax, 1
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], 2
jmp 0x456541
mov ebx, dword [ebp - 0x444]
mov eax, dword [ebp - 0x314]
imul ebx, edi
lea ebx, [ebx + eax*2]
cmp ebx, ecx
jge 0x4564cc
mov dword [ebp - 0x20], 1
mov eax, 2
jmp 0x45653b
mov eax, dword [ebp - 0x444]
imul eax, edx
cmp eax, ecx
jge 0x4564e0
mov eax, 2
jmp 0x456538
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x444]
imul eax, dword [ebp - 0x68]
imul ebx, esi
add eax, ebx
cmp eax, ecx
jge 0x45650a
mov eax, 2
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], 3
jmp 0x456541
mov esi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x444]
imul esi, edi
lea ebx, [esi + eax*2]
cmp ebx, ecx
jge 0x45652b
mov dword [ebp - 0x20], 2
mov eax, 3
jmp 0x45653b
mov eax, dword [ebp - 0x68]
imul eax, edx
cmp eax, ecx
mov eax, 3
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], eax
mov eax, dword [0x4e2fdc]
mov eax, dword [eax + 0x314]
cmp eax, 1
jne 0x456740
mov eax, dword [ebp - 0x440]
mov ecx, dword [ebp + 0x2c]
push eax
lea edx, [ebp - 0x64]
push ecx
lea eax, [ebp - 0x58]
push edx
mov ecx, dword [ebp - 0x10]
push eax
call fcn.00458f50
push 0xcc8
call fcn.0045b6b0
mov dword [ebp - 0x14], eax
add esp, 4
mov esi, eax
mov ecx, 0
mov dword [ebp - 4], 6
test esi, esi
je 0x45659d
push 1
mov ecx, esi
call fcn.004a0600
mov ecx, eax
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x24]
push eax
mov dword [edx + 0x30], ecx
mov ebx, dword [0x4e2fdc]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebx + 0xcd4]
lea eax, [ebx + 0xc78]
push edx
push eax
push 0
mov edx, dword [ebx + 0xce4]
push edx
lea eax, [ebx + 0x624]
push eax
mov edx, dword [ebp - 0x10]
push edx
mov ebx, dword [ebx + 0x10]
push 0
mov edx, dword [ebp + 0x18]
push 0
mov eax, dword [ebp - 0x6c]
push ebx
push edx
push eax
mov ebx, dword [ebp - 0x70]
push ebx
mov edx, dword [ebp - 0x74]
push edx
mov eax, dword [ebp - 0x5c]
push eax
mov ebx, dword [ebp - 0x60]
push ebx
mov edx, dword [ebp - 0x64]
push edx
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 0x54]
push ebx
mov edx, dword [ebp - 0x58]
push edx
mov eax, dword [0x4e2fdc]
mov edx, dword [ebp - 0x10]
mov ebx, dword [eax + 0x2e0]
push ebx
mov eax, dword [edx + 0x60]
push eax
mov ebx, dword [ebp + 0x14]
push ebx
lea edx, [ebp - 0xd9c]
push edx
lea eax, [ebp - 0xc98]
push eax
lea ebx, [ebp - 0xb94]
push ebx
mov edx, dword [ebp + 8]
push edx
call fcn.004a0880
push eax
mov ecx, dword [ebp - 0x10]
call fcn.004203b0
cmp eax, 1
sbb eax, eax
neg eax
test eax, eax
je 0x456675
push str.Player_Bike_not_loaded_n
lea eax, [ebp - 0x5c4]
push eax
call fcn.004bd200
add esp, 8
lea eax, [ebp - 0x5c4]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x45532b
mov eax, dword [0x4e2fdc]
lea ecx, [ebp - 0x304]
mov eax, dword [eax + 0xce0]
inc eax
push eax
push str.bike_2.2d.tga
push ecx
call fcn.004bd200
add esp, 0xc
mov ecx, dword [0x4e2fdc]
mov eax, dword [ecx + 0xce4]
lea ecx, [ebp - 0x1a0]
inc eax
mov esi, 3
push eax
push str.rider_2.2d.tga
push ecx
call fcn.004bd200
add esp, 0xc
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x304]
push eax
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x30]
push ecx
push 0
mov ecx, dword [eax + 0x434]
call fcn.004485c0
test eax, eax
je 0x45670b
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x1a0]
push eax
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x30]
push ecx
push 0
mov ebx, dword [eax + 0xc8c]
mov ecx, dword [ebx + 0x434]
call fcn.004485c0
test eax, eax
jne 0x456db7
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, esi
jg 0x456db7
mov ecx, dword [ebp - 0x40]
cmp ecx, eax
jge 0x456724
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x38]
cmp ecx, eax
jge 0x4566bd
mov dword [ebp - 0x38], eax
jmp 0x4566bd
xor edi, edi
test eax, eax
jle 0x456965
mov eax, dword [0x4e2fdc]
mov ecx, dword [ebp - 0x204]
mov edx, dword [eax + edi*8 + 0x1288]
cmp edx, ecx
jne 0x456953
xor esi, esi
mov ecx, dword [eax + 0x314]
cmp ecx, esi
jle 0x456783
add eax, 0xd00
mov ebx, dword [eax]
cmp ebx, edx
je 0x456783
add eax, 0x28
inc esi
cmp esi, ecx
jl 0x456775
lea eax, [edi + 1]
mov ecx, dword [ebp + 0x2c]
push eax
lea edx, [ebp - 0x64]
push ecx
lea eax, [ebp - 0x58]
push edx
mov ecx, dword [ebp - 0x10]
push eax
call fcn.00458f50
push 0xcc8
call fcn.0045b6b0
mov dword [ebp - 0xa0], eax
add esp, 4
mov dword [ebp - 4], 7
mov ebx, eax
mov eax, 0
test ebx, ebx
je 0x4567c9
push 1
mov ecx, ebx
call fcn.004a0600
mov edx, dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [edx + 0x34]
mov dword [ecx + esi*4], eax
lea eax, [ebp - 0x24]
push eax
mov edx, dword [0x4e2fdc]
mov ecx, dword [edx + 0xcd4]
lea eax, [edx + 0xc78]
push ecx
mov edx, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x204]
push ecx
mov eax, dword [0x4e2fdc]
push edx
add eax, 0x624
push eax
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [0x4e2fdc]
push 0
mov edx, dword [ebp + 0x18]
push 0
mov ecx, dword [eax + 0x10]
push ecx
mov eax, dword [ebp - 0x6c]
push edx
mov ecx, dword [ebp - 0x70]
push eax
mov edx, dword [ebp - 0x74]
push ecx
mov eax, dword [ebp - 0x5c]
push edx
mov ecx, dword [ebp - 0x60]
push eax
mov edx, dword [ebp - 0x64]
push ecx
mov eax, dword [ebp - 0x50]
push edx
mov ecx, dword [ebp - 0x54]
push eax
mov edx, dword [ebp - 0x58]
push ecx
mov eax, dword [0x4e2fdc]
push edx
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax + 0x2e0]
push ecx
mov eax, dword [edx + 0x60]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0xd9c]
push edx
lea eax, [ebp - 0xc98]
push eax
lea ecx, [ebp - 0xb94]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x34]
mov ecx, dword [eax + esi*4]
call fcn.004a0880
push eax
mov ecx, dword [ebp - 0x10]
call fcn.004203b0
cmp eax, 1
sbb eax, eax
neg eax
test eax, eax
jne 0x456a0d
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x414]
inc eax
push eax
push str.bike_2.2d.tga
push ecx
call fcn.004bd200
add esp, 0xc
mov eax, dword [ebp - 0x14]
inc eax
lea ecx, [ebp - 0x544]
push eax
mov ebx, 3
push str.rider_2.2d.tga
push ecx
call fcn.004bd200
add esp, 0xc
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x414]
push eax
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x34]
push ecx
push 0
mov edx, dword [eax + esi*4]
mov ecx, dword [edx + 0x434]
call fcn.004485c0
test eax, eax
je 0x45691d
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x544]
push eax
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x34]
push ecx
push 0
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx + 0xc8c]
mov ecx, dword [edx + 0x434]
call fcn.004485c0
test eax, eax
jne 0x456941
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, ebx
jg 0x456941
mov ecx, dword [ebp - 0x40]
cmp ecx, eax
jge 0x456932
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x38]
cmp ecx, eax
jge 0x4568cd
mov dword [ebp - 0x38], eax
jmp 0x4568cd
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + esi*4]
mov dword [edx + 0x30], ecx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x78], esi
inc edi
mov eax, dword [0x4e2fdc]
cmp dword [eax + 0x314], edi
jg 0x45674a
mov dword [ebp - 0x14], 0
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0x314]
test ecx, ecx
jle 0x456db7
xor esi, esi
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0x314]
cmp ecx, esi
jle 0x4569ae
lea edi, [eax + 0xd00]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx*8 + 0x1288]
mov edx, dword [edi]
cmp edx, eax
je 0x4569ae
add edi, 0x28
inc esi
cmp esi, ecx
jl 0x4569a0
mov edx, dword [ebp - 0x14]
mov ecx, dword [0x4e2fdc]
mov eax, dword [ebp - 0x204]
cmp dword [ecx + edx*8 + 0x1288], eax
je 0x456b4d
lea eax, [edx + 1]
mov ecx, dword [ebp + 0x2c]
push eax
lea edx, [ebp - 0x64]
push ecx
lea eax, [ebp - 0x58]
push edx
mov ecx, dword [ebp - 0x10]
push eax
call fcn.00458f50
push 0xcc8
call fcn.0045b6b0
mov dword [ebp - 0xa0], eax
add esp, 4
mov dword [ebp - 4], 8
mov ebx, eax
test ebx, ebx
je 0x456a44
push 1
mov ecx, ebx
call fcn.004a0600
jmp 0x456a46
push esi
lea eax, [ebp - 0x5c4]
push str.Net_Bike_d_not_loaded_n
push eax
call fcn.004bd200
add esp, 0xc
lea eax, [ebp - 0x5c4]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x45532b
xor eax, eax
mov edx, dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [edx + 0x34]
lea edx, [ebp - 0x44]
push edx
push 0
mov dword [ecx + esi*4], eax
lea eax, [esi + esi*4]
mov ecx, dword [0x4e2fdc]
nop
lea edi, [eax*8]
mov eax, dword [0x4e2fdc]
add ecx, edi
add eax, 0xc78
push eax
add ecx, 0xd04
mov edx, dword [ecx - 4]
mov eax, dword [ecx - 0x14]
push edx
push eax
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp + 0x18]
push 1
mov ecx, dword [ebp - 0x6c]
push 0
mov edx, dword [ebp - 0x70]
push 0
push eax
push ecx
mov eax, dword [ebp - 0x74]
push edx
mov ecx, dword [ebp - 0x5c]
push eax
mov edx, dword [ebp - 0x60]
push ecx
mov eax, dword [ebp - 0x64]
push edx
mov ecx, dword [ebp - 0x50]
push eax
mov edx, dword [ebp - 0x54]
push ecx
mov eax, dword [ebp - 0x58]
push edx
mov ecx, dword [0x4e2fdc]
push eax
nop
mov edx, dword [ecx + 0x2e0]
mov ecx, dword [ebp - 0x10]
push edx
mov edx, dword [ebp + 0x14]
mov eax, dword [ecx + 0x60]
lea ecx, [ebp - 0xd9c]
push eax
push edx
push ecx
lea eax, [ebp - 0xc98]
push eax
lea edx, [ebp - 0xb94]
push edx
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + esi*4]
call fcn.004a0880
push eax
mov ecx, dword [ebp - 0x10]
call fcn.004203b0
cmp eax, 1
sbb eax, eax
neg eax
test eax, eax
je 0x456b31
push esi
lea eax, [ebp - 0x5c4]
push str.Net_Bike_d_not_loaded_n
push eax
call fcn.004bd200
add esp, 0xc
lea eax, [ebp - 0x5c4]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ebx, dword [0x4e2fdc]
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x34]
mov edx, dword [edi + ebx + 0xcfc]
mov ecx, dword [eax + esi*4]
mov dword [ecx + 0xadc], edx
lea eax, [esi + esi*4]
shl eax, 3
lea ecx, [ebp - 0x414]
mov dword [ebp - 0x34], eax
mov edx, dword [0x4e2fdc]
mov eax, dword [eax + edx + 0xcec]
inc eax
push eax
push str.bike_2.2d.tga
push ecx
call fcn.004bd200
add esp, 0xc
lea ecx, [ebp - 0x414]
mov edx, dword [ebp - 0x10]
nop
push 0
push ecx
push 0
mov eax, dword [edx + 0x34]
mov ebx, dword [eax + esi*4]
mov ecx, dword [ebx + 0x434]
call fcn.004485c0
test eax, eax
jne 0x456c70
call fcn.004bd9f0
lea eax, [eax + eax*2]
mov ecx, 0x7fff
shl eax, 2
cdq
idiv ecx
mov dword [ebp - 0xa0], eax
test eax, eax
jl 0x456c25
mov ebx, eax
lea edi, [ebx + 1]
lea eax, [ebp - 0x414]
push edi
push str.bike_2.2d.tga
push eax
call fcn.004bd200
add esp, 0xc
mov eax, dword [0x4e2fdc]
cmp dword [eax + 0xce0], ebx
je 0x456c08
push 0
lea eax, [ebp - 0x414]
push eax
mov edx, dword [ebp - 0x10]
push 0
mov ecx, dword [edx + 0x34]
mov eax, dword [ecx + esi*4]
mov ecx, dword [eax + 0x434]
call fcn.004485c0
test eax, eax
jne 0x456c25
mov ebx, edi
cmp edi, 0xc
jne 0x456c11
xor ebx, ebx
mov eax, dword [ebp - 0xa0]
cmp ebx, eax
jne 0x456bc0
mov dword [ebp - 0xa0], 0xffffffff
mov eax, dword [ebp - 0xa0]
test eax, eax
jge 0x456c70
mov eax, dword [0x4e2fdc]
lea ecx, [ebp - 0x414]
mov eax, dword [eax + 0xce0]
inc eax
push eax
push str.bike_2.2d.tga
push ecx
call fcn.004bd200
add esp, 0xc
lea ecx, [ebp - 0x414]
mov edx, dword [ebp - 0x10]
nop
push 0
push ecx
push 0
mov eax, dword [edx + 0x34]
mov ebx, dword [eax + esi*4]
mov ecx, dword [ebx + 0x434]
call fcn.004485c0
mov eax, dword [0x4e2fdc]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx + eax + 0xcf0]
lea ecx, [ebp - 0x544]
inc eax
push eax
push str.rider_2.2d.tga
push ecx
call fcn.004bd200
add esp, 0xc
lea ecx, [ebp - 0x544]
mov edx, dword [ebp - 0x10]
nop
push 0
push ecx
push 0
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx + 0xc8c]
mov ecx, dword [edx + 0x434]
call fcn.004485c0
test eax, eax
jne 0x456d9e
call fcn.004bd9f0
lea eax, [eax + eax*2]
mov ecx, 0x7fff
shl eax, 2
cdq
idiv ecx
mov dword [ebp - 0xa0], eax
test eax, eax
jl 0x456d4d
mov ebx, eax
lea edi, [ebx + 1]
lea eax, [ebp - 0x544]
push edi
push str.rider_2.2d.tga
push eax
call fcn.004bd200
add esp, 0xc
mov eax, dword [0x4e2fdc]
cmp dword [eax + 0xce4], ebx
je 0x456d30
push 0
lea eax, [ebp - 0x544]
push eax
mov edx, dword [ebp - 0x10]
push 0
mov ecx, dword [edx + 0x34]
mov eax, dword [ecx + esi*4]
mov edx, dword [eax + 0xc8c]
mov ecx, dword [edx + 0x434]
call fcn.004485c0
test eax, eax
jne 0x456d4d
mov ebx, edi
cmp edi, 0xc
jne 0x456d39
xor ebx, ebx
mov eax, dword [ebp - 0xa0]
cmp ebx, eax
jne 0x456ce2
mov dword [ebp - 0xa0], 0xffffffff
mov eax, dword [ebp - 0xa0]
test eax, eax
jge 0x456d9e
mov eax, dword [0x4e2fdc]
lea ecx, [ebp - 0x544]
mov eax, dword [eax + 0xce4]
inc eax
push eax
push str.rider_2.2d.tga
push ecx
call fcn.004bd200
add esp, 0xc
lea ecx, [ebp - 0x544]
mov edx, dword [ebp - 0x10]
nop
push 0
push ecx
push 0
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx + 0xc8c]
mov ecx, dword [edx + 0x434]
call fcn.004485c0
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
mov ecx, dword [0x4e2fdc]
cmp dword [ecx + 0x314], eax
jg 0x45697f
mov edx, dword [0x4e2fdc]
add edx, 0x107a
cmp word [edx], 0
jle 0x4574a8
lea edi, [ebp - 0x780]
xor eax, eax
mov dword [ebp - 0x784], 0
mov ecx, 0x23
rep stosd dword es:[edi], eax
movsx eax, word [edx]
shl eax, 2
push eax
call fcn.004bd170
add esp, 4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x38], eax
mov dword [ebp - 0x204], 0
mov ecx, dword [0x4e2fdc]
cmp word [ecx + 0x107a], 0
jle 0x4574a8
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x28]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x444]
test eax, eax
jg 0x456ebe
call fcn.004bd9f0
mov dword [ebp - 0x14], eax
mov eax, dword [0x4e2fdc]
fild dword [ebp - 0x14]
mov ecx, dword [eax + 0xcd8]
fmul dword [0x4dfffc]
mov dword [ebp - 0x14], ecx
fild dword [ebp - 0x14]
fmulp st(1)
call fcn.004bd1d8
mov ecx, dword [0x4e2fdc]
mov esi, dword [ecx + 0xcd8]
lea ecx, [esi - 1]
cmp ecx, eax
jl 0x456e80
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp + edx*4 - 0x200]
test ebx, ebx
jne 0x456f2e
inc edx
mov dword [ebp - 0x14], edx
cmp edx, esi
jl 0x456ea2
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
cmp ecx, edx
jne 0x456e85
jmp 0x456f2e
call fcn.004bd9f0
mov dword [ebp - 0x14], eax
mov eax, dword [0x4e2fdc]
fild dword [ebp - 0x14]
mov ecx, dword [eax + 0xcd8]
fmul dword [0x4dfffc]
mov dword [ebp - 0x14], ecx
fild dword [ebp - 0x14]
fmulp st(1)
call fcn.004bd1d8
mov ecx, dword [0x4e2fdc]
mov esi, dword [ecx + 0xcd8]
lea ecx, [esi - 1]
cmp ecx, eax
jl 0x456efc
mov ecx, eax
mov eax, ecx
mov edx, dword [ebp + ecx*4 - 0x200]
mov dword [ebp - 0x14], ecx
test edx, edx
je 0x456f2e
xor ecx, ecx
mov edx, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x14], edx
cmp edx, esi
jne 0x456f1c
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
cmp edx, eax
je 0x456f2e
mov ebx, dword [ebp + edx*4 - 0x200]
test ebx, ebx
jne 0x456f0e
mov edx, dword [ebp - 0x14]
xor edi, edi
inc dword [ebp + edx*4 - 0x200]
call fcn.004bd9f0
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
fmul dword [0x4dfffc]
fmul dword [0x4d59c8]
call fcn.004bd1d8
mov esi, eax
mov edx, dword [ebp - 0x14]
lea eax, [esi + esi*2]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp + eax*4 - 0x784]
test ecx, ecx
je 0x456f9e
call fcn.004bd9f0
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
fmul dword [0x4dfffc]
fmul dword [0x4d59c8]
call fcn.004bd1d8
mov esi, eax
mov edx, dword [ebp - 0x14]
lea eax, [esi + esi*2]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x28], ecx
jmp 0x456f64
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x784], 1
mov ecx, dword [ebp - 0x444]
test ecx, ecx
jg 0x457020
call fcn.004bd9f0
mov dword [ebp - 0x314], eax
mov eax, dword [0x4e2fdc]
fild dword [ebp - 0x314]
mov ecx, dword [eax + 0xcdc]
fmul dword [0x4dfffc]
mov dword [ebp - 0x314], ecx
fild dword [ebp - 0x314]
fmulp st(1)
call fcn.004bd1d8
mov ecx, dword [0x4e2fdc]
mov edx, dword [ecx + 0xcdc]
lea ebx, [edx - 1]
cmp ebx, eax
jl 0x457000
mov ebx, eax
mov eax, ebx
xor ecx, ecx
mov edi, dword [ebp + ebx*4 - 0x1d0]
test edi, edi
jne 0x457098
inc ebx
cmp ebx, edx
jne 0x45701a
xor ebx, ebx
cmp eax, ebx
jne 0x457004
jmp 0x457098
call fcn.004bd9f0
mov dword [ebp - 0x314], eax
mov eax, dword [0x4e2fdc]
fild dword [ebp - 0x314]
mov ecx, dword [eax + 0xcdc]
fmul dword [0x4dfffc]
mov dword [ebp - 0x314], ecx
fild dword [ebp - 0x314]
fmulp st(1)
call fcn.004bd1d8
mov ecx, dword [0x4e2fdc]
mov ebx, dword [ecx + 0xcdc]
dec ebx
cmp ebx, eax
jl 0x457068
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp + ebx*4 - 0x1d0]
test eax, eax
je 0x457098
mov eax, dword [0x4e2fdc]
xor ecx, ecx
mov eax, dword [eax + 0xcd8]
inc ebx
cmp ebx, eax
jne 0x457089
xor ebx, ebx
cmp edx, ebx
je 0x457098
mov edi, dword [ebp + ebx*4 - 0x1d0]
test edi, edi
jne 0x457082
inc dword [ebp + ebx*4 - 0x1d0]
mov eax, dword [0x4e2fdc]
cmp word [eax + 0x1074], 0
jle 0x4570c7
mov ecx, dword [eax + 0x618]
mov dl, byte [ecx + 0x4c]
test dl, dl
je 0x4570c7
mov eax, dword [ebp - 0x34]
lea edi, [eax + ecx + 0x1b1]
jmp 0x4570d8
mov edx, dword [ebp - 0x14]
lea eax, [edx + edx*2]
add eax, esi
shl eax, 4
lea edi, [eax + 0x4e1358]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
shr ecx, 2
mov esi, edi
lea edi, [ebp - 0x90]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0x61c]
test ecx, ecx
je 0x45711a
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x90]
push eax
push edx
call fcn.0049bb80
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + ecx - 0x43c]
lea ecx, [ebp - 0x64]
push eax
push edx
push ecx
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.00458f50
push 0xcc8
call fcn.0045b6b0
mov dword [ebp - 0x314], eax
add esp, 4
mov dword [ebp - 4], 9
mov esi, eax
mov eax, 0
test esi, esi
je 0x45716a
push 1
mov ecx, esi
call fcn.004a0600
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [edx + 0x38]
mov dword [edi + ecx], eax
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x68]
push 0
mov eax, dword [0x4e2fdc]
add eax, 0xca4
mov edx, dword [ebp - 0x28]
push eax
push ecx
push edx
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp + 0x18]
push 0
mov eax, dword [ebp - 0x6c]
push 1
mov ecx, dword [ebp - 0x70]
push 0
push edx
push eax
mov edx, dword [ebp - 0x74]
push ecx
mov eax, dword [ebp - 0x5c]
push edx
mov ecx, dword [ebp - 0x60]
push eax
mov edx, dword [ebp - 0x64]
push ecx
mov eax, dword [ebp - 0x50]
push edx
mov ecx, dword [ebp - 0x54]
push eax
mov edx, dword [ebp - 0x58]
push ecx
mov eax, dword [0x4e2fdc]
push edx
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax + 0x2e0]
push ecx
mov eax, dword [edx + 0x60]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0xd9c]
push edx
lea eax, [ebp - 0xc98]
push eax
lea ecx, [ebp - 0xb94]
push ecx
mov edx, dword [ebp + 8]
push edx
mov edi, dword [ebp - 0x10]
mov eax, dword [edi + 0x38]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [eax + ecx]
call fcn.004a0880
push eax
mov ecx, dword [ebp - 0x10]
call fcn.004203b0
cmp eax, 1
sbb eax, eax
neg eax
test eax, eax
je 0x457252
mov eax, dword [ebp - 0x204]
lea ecx, [ebp - 0x5c4]
push eax
push str.AI_Bike_d_not_loaded_n
push ecx
call fcn.004bd200
add esp, 0xc
lea ecx, [ebp - 0x5c4]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
inc ebx
lea eax, [ebp - 0x98c]
push ebx
push str.bike_2.2d.tga
push eax
call fcn.004bd200
add esp, 0xc
lea eax, [ebp - 0x98c]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xa0]
push 0
push eax
push 0
mov ebx, dword [edx + 0x38]
mov eax, dword [ebx + ecx]
mov ecx, dword [eax + 0x434]
call fcn.004485c0
test eax, eax
jne 0x45735c
call fcn.004bd9f0
imul eax, dword [ebp - 0x204]
cdq
mov ecx, 0x7fff
idiv ecx
mov edi, eax
test edi, edi
jl 0x457315
mov ebx, edi
lea esi, [ebx + 1]
lea eax, [ebp - 0x98c]
push esi
push str.bike_2.2d.tga
push eax
call fcn.004bd200
add esp, 0xc
mov eax, dword [0x4e2fdc]
cmp dword [eax + 0xce0], ebx
je 0x4572ff
push 0
lea eax, [ebp - 0x98c]
push eax
mov edx, dword [ebp - 0x10]
mov ebx, dword [edx + 0x38]
push 0
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebx + ecx]
mov ecx, dword [eax + 0x434]
call fcn.004485c0
test eax, eax
jne 0x457311
mov ebx, esi
cmp esi, 0xc
jne 0x457308
xor ebx, ebx
cmp ebx, edi
jne 0x4572b1
mov edi, 0xffffffff
test edi, edi
jge 0x45735c
mov eax, dword [0x4e2fdc]
lea ecx, [ebp - 0x98c]
mov eax, dword [eax + 0xce0]
inc eax
push eax
push str.bike_2.2d.tga
push ecx
call fcn.004bd200
add esp, 0xc
lea ecx, [ebp - 0x98c]
mov edx, dword [ebp - 0x10]
nop
push 0
push ecx
mov ecx, dword [ebp - 0xa0]
push 0
mov eax, dword [edx + 0x38]
mov edx, dword [eax + ecx]
mov ecx, dword [edx + 0x434]
call fcn.004485c0
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x888]
inc eax
push eax
push str.rider_2.2d.tga
push ecx
call fcn.004bd200
add esp, 0xc
lea ecx, [ebp - 0x888]
mov edx, dword [ebp - 0x10]
nop
push 0
push ecx
mov ecx, dword [ebp - 0xa0]
push 0
mov eax, dword [edx + 0x38]
mov edx, dword [eax + ecx]
mov eax, dword [edx + 0xc8c]
mov ecx, dword [eax + 0x434]
call fcn.004485c0
test eax, eax
jne 0x45747c
call fcn.004bd9f0
imul eax, dword [ebp - 0x204]
cdq
mov ecx, 0x7fff
idiv ecx
mov edi, eax
test edi, edi
jl 0x45742f
mov ebx, edi
lea esi, [ebx + 1]
lea eax, [ebp - 0x888]
push esi
push str.rider_2.2d.tga
push eax
call fcn.004bd200
add esp, 0xc
mov eax, dword [0x4e2fdc]
cmp dword [eax + 0xce4], ebx
je 0x457419
push 0
lea eax, [ebp - 0x888]
push eax
mov edx, dword [ebp - 0x10]
mov ebx, dword [edx + 0x38]
push 0
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebx + ecx]
mov edx, dword [eax + 0xc8c]
mov ecx, dword [edx + 0x434]
call fcn.004485c0
test eax, eax
jne 0x45742b
mov ebx, esi
cmp esi, 0xc
jne 0x457422
xor ebx, ebx
cmp edi, ebx
jne 0x4573c5
mov edi, 0xffffffff
test edi, edi
jge 0x45747c
mov eax, dword [0x4e2fdc]
lea ecx, [ebp - 0x888]
mov eax, dword [eax + 0xce4]
inc eax
push eax
push str.rider_2.2d.tga
push ecx
call fcn.004bd200
add esp, 0xc
lea ecx, [ebp - 0x888]
mov edx, dword [ebp - 0x10]
nop
push 0
push ecx
mov ecx, dword [ebp - 0xa0]
push 0
mov eax, dword [edx + 0x38]
mov edx, dword [eax + ecx]
mov eax, dword [edx + 0xc8c]
mov ecx, dword [eax + 0x434]
call fcn.004485c0
add dword [ebp - 0xa0], 4
add dword [ebp - 0x34], 0x34
mov edx, dword [ebp - 0x204]
inc edx
mov dword [ebp - 0x204], edx
mov eax, dword [0x4e2fdc]
movsx ecx, word [eax + 0x107a]
cmp ecx, edx
jg 0x456e38
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x30]
mov dword [eax + 0xc68], 0
mov ecx, dword [0x4e2fdc]
movsx eax, word [ecx + 0x1072]
test eax, eax
je 0x4574ec
cmp eax, 1
jl 0x45758d
cmp eax, 3
jle 0x457501
jmp 0x45758d
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0x6e8]
test ecx, ecx
je 0x45758d
jmp 0x457580
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0x6d8]
test ecx, ecx
je 0x45751d
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x30]
or dword [eax + 0xc68], 1
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0x6dc]
test ecx, ecx
je 0x457539
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x30]
or dword [eax + 0xc68], 2
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0x6e0]
test ecx, ecx
je 0x457555
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x30]
or dword [eax + 0xc68], 8
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0x6e4]
test ecx, ecx
je 0x457571
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x30]
or dword [eax + 0xc68], 4
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0x6e8]
test ecx, ecx
je 0x45758d
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x30]
or dword [eax + 0xc68], 0x10
push 0x128
call fcn.0045b6b0
mov dword [ebp - 0x14], eax
add esp, 4
mov esi, eax
mov ecx, 0
mov dword [ebp - 4], 0xa
test esi, esi
je 0x4575ba
push 1
mov ecx, esi
call fcn.00425570
mov ecx, eax
mov edx, dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [edx + 0x48]
mov ebx, dword [edx + 0x44]
push eax
push ebx
push edx
mov eax, dword [edx + 0x1c]
push eax
call fcn.004257b0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x3c], eax
mov edx, dword [ebp - 0x10]
mov ecx, edx
mov eax, dword [edx + 0x3c]
push eax
call fcn.004203b0
mov ecx, dword [ebp - 0x10]
call fcn.00458f30
mov ecx, dword [0x4e2fdc]
mov edx, dword [ecx + 0x10]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x457618
mov eax, dword [0x4e2fdc]
cmp dword [eax + 0x734], 1
sbb eax, eax
neg eax
push eax
call fcn.00452e80
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0x734]
test ecx, ecx
je 0x457632
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x30]
call fcn.004b4f90
mov eax, dword [ebp - 0x10]
jmp 0x455337