Function at 0x4ca110
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52ff19
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x594488]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x4c], ebx
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x18]
push 0
mov dword [ebp - 0x50], 0
xorps xmm0, xmm0
mov ecx, dword [ebx]
push 0
push eax
add ecx, 0x20
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x58], esi
movq qword [ebp - 0x18], xmm0
call fcn.004d1580
mov dword [ebp - 4], 1
call fcn.00440020
mov ecx, eax
call fcn.00440240
mov dword [ebp - 0x2c], eax
call fcn.00440020
push dword [ebp + 0xc]
mov ecx, eax
call fcn.00440380
mov edi, eax
mov dword [ebp - 0x40], edi
test edi, edi
jne 0x4ca1e0
mov eax, dword [ebx]
push 0x551ac7
push dword [eax + 0x20]
push esi
call fcn.004a1da0
add esp, 0xc
mov dword [ebp - 0x50], 1
mov dword [ebp - 4], edi
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x4cb07b
mov eax, dword [ebp - 0x14]
cmp eax, 0xfffffffe
je 0x4cb07b
push eax
push 0xffffd8f0
push ecx
call fcn.004ddb15
add esp, 0xc
jmp 0x4cb07b
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.004b6570
mov byte [ebp - 4], 4
lea eax, [ebp - 0x38]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 5
lea eax, [ebp + 0xc]
mov esi, dword [ebp - 0x18]
push eax
push esi
call fcn.004d56b0
push 0x553f7c
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 4
or ebx, 0xffffffff
mov eax, ebx
sub eax, dword [ebp - 0x34]
push eax
push dword [ebp - 0x38]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x3c]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x38
mov ecx, edi
call fcn.00420db0
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004b6570
mov byte [ebp - 4], 6
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 7
lea eax, [ebp - 0x3c]
mov esi, dword [ebp - 0x18]
push eax
push esi
call fcn.004d56b0
push str.model
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 6
mov eax, ebx
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x34]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x38
lea eax, [ebp - 0x70]
mov ecx, edi
push eax
call fcn.00420e30
mov esi, eax
mov byte [ebp - 4], 8
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.004b6570
mov byte [ebp - 4], 9
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
add esp, 0x14
mov byte [ebp - 4], 0xa
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x34], ecx
test eax, eax
jne 0x4ca2fc
mov esi, 0x548e88
jmp 0x4ca304
cmp dword [esi + 0x14], 0x10
jb 0x4ca304
mov esi, dword [esi]
push eax
push esi
push ecx
call fcn.004dda73
mov esi, dword [ebp - 0x34]
push 0
push 0xffffffffffffffff
push esi
call fcn.004dda55
push str.name
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 9
mov eax, ebx
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x3c]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x34
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x70]
call fcn.00401990
mov ecx, edi
call fcn.004213a0
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.004b6570
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x34]
mov esi, dword [ebp - 0x18]
push eax
push esi
call fcn.004d56b0
push 0x553f90
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0xb
mov eax, ebx
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x3c]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x38
mov ecx, edi
call fcn.00420c20
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x3c]
push eax
fstp dword [ebp - 0x34]
call fcn.004b6570
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0xe
add esp, 0xc
movss xmm0, dword [ebp - 0x34]
mov esi, dword [ebp - 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push esi
call fcn.004dda6d
push str.health
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0xd
mov eax, ebx
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x3c]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x28
mov ecx, edi
call fcn.00420cb0
mov byte [ebp - 0x2d], al
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004b6570
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x2d]
mov esi, dword [ebp - 0x18]
push eax
push esi
call fcn.004d5530
push str.firstColor
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0xf
mov eax, ebx
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x34]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x38
mov ecx, edi
call fcn.00421160
mov byte [ebp - 0x2d], al
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004b6570
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x12
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x2d]
push eax
push esi
call fcn.004d5530
push str.secondColor
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x11
mov eax, ebx
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x34]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x38
mov ecx, edi
call fcn.004214a0
mov bl, al
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004b6570
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x14
mov esi, dword [ebp - 0x18]
movzx eax, bl
push eax
push esi
call fcn.004dda8b
push str.lights
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x13
or eax, 0xffffffff
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x34]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x38
mov ecx, edi
call fcn.0041d260
mov bl, al
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004b6570
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x16
mov esi, dword [ebp - 0x18]
movzx eax, bl
push eax
push esi
call fcn.004dda8b
push str.engine
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x15
or eax, 0xffffffff
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x34]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x38
mov ecx, edi
call fcn.00421520
mov bl, al
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004b6570
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x18
mov esi, dword [ebp - 0x18]
movzx eax, bl
push eax
push esi
call fcn.004dda8b
push str.siren
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x17
or edi, 0xffffffff
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x34]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
mov ebx, dword [ebp - 0x40]
add esp, 0x38
mov ecx, ebx
call fcn.004210e0
mov byte [ebp - 0x2d], al
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.004b6570
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x2d]
mov esi, dword [ebp - 0x18]
push eax
push esi
call fcn.004d5530
push str.seatsAmount
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x19
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x40]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x38
mov ecx, ebx
call fcn.00420d30
mov byte [ebp - 0x2d], al
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.004b6570
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x2d]
mov esi, dword [ebp - 0x18]
push eax
push esi
call fcn.004d5530
push str.gearState
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x1b
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x40]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
mov ecx, dword [ebp - 0x2c]
add esp, 0x38
push ebx
call fcn.0043e960
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x40]
push eax
fstp dword [ebp - 0x2c]
call fcn.004b6570
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x1e
add esp, 0xc
movss xmm0, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push esi
call fcn.004dda6d
push str.distance
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x1d
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x40]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
mov ecx, dword [ebp - 0x4c]
lea eax, [ebp - 0x44]
add esp, 0x28
mov ecx, dword [ecx]
push 0
push 0
push eax
add ecx, 0x20
call fcn.004d1580
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004b6570
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
add esp, 0x14
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x18]
mov ecx, dword [eax]
test ecx, ecx
jne 0x4ca807
push esi
call fcn.004dda67
add esp, 4
jmp 0x4ca839
push dword [eax + 4]
push 0xffffd8f0
push ecx
call fcn.004ddaa9
mov eax, dword [ebp - 0x3c]
push 0xffffffffffffffff
push dword [eax]
call fcn.004dda37
mov eax, dword [ebp - 0x3c]
add esp, 0x14
mov eax, dword [eax]
cmp esi, eax
je 0x4ca839
push 1
push esi
push eax
call fcn.004dda2b
add esp, 0xc
push str.position
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x20
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x2c]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x1c
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x4ca88d
mov eax, dword [ebp - 0x40]
cmp eax, 0xfffffffe
je 0x4ca88d
push eax
push 0xffffd8f0
push ecx
call fcn.004ddb15
add esp, 0xc
push 0
mov ecx, ebx
call fcn.00420f80
lea eax, [ebp - 0x18]
mov dword [ebp - 0x34], str.position
push eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x40]
push eax
fstp dword [ebp - 0x2c]
call fcn.004b6570
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x28]
push 1
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x25
mov esi, dword [ebp - 0x18]
push str.position
push 0xffffffffffffffff
push esi
call fcn.004dda9d
push 0xffffffffffffffff
push esi
call fcn.004dda37
movss xmm0, dword [ebp - 0x2c]
add esp, 0x20
mov esi, dword [ebp - 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push esi
call fcn.004dda6d
push 0x553f58
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x24
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x40]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x28
mov ecx, ebx
push 1
call fcn.00420f80
lea eax, [ebp - 0x18]
mov dword [ebp - 0x34], str.position
push eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x40]
push eax
fstp dword [ebp - 0x2c]
call fcn.004b6570
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x28]
push 1
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x27
mov esi, dword [ebp - 0x18]
push str.position
push 0xffffffffffffffff
push esi
call fcn.004dda9d
push 0xffffffffffffffff
push esi
call fcn.004dda37
mov esi, dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x2c]
cvtps2pd xmm0, xmm0
add esp, 0x20
movsd qword [esp], xmm0
push esi
call fcn.004dda6d
push 0x553f5c
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x26
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x40]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x28
mov ecx, ebx
push 2
call fcn.00420f80
lea eax, [ebp - 0x18]
mov dword [ebp - 0x34], str.position
push eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x40]
push eax
fstp dword [ebp - 0x2c]
call fcn.004b6570
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x28]
push 1
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x29
mov esi, dword [ebp - 0x18]
push str.position
push 0xffffffffffffffff
push esi
call fcn.004dda9d
push 0xffffffffffffffff
push esi
call fcn.004dda37
movss xmm0, dword [ebp - 0x2c]
add esp, 0x20
mov esi, dword [ebp - 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push esi
call fcn.004dda6d
push 0x553f60
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x28
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x40]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x28
lea eax, [ebp - 0x44]
push 0
push 0
push eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
add ecx, 0x20
call fcn.004d1580
mov edi, eax
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004b6570
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x2c
mov esi, dword [ebp - 0x18]
push edi
push esi
call fcn.004a2b00
push str.speed
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x2b
or edi, 0xffffffff
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 0x2a
mov eax, dword [ebp - 0x2c]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x38
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x4cab00
mov eax, dword [ebp - 0x40]
cmp eax, 0xfffffffe
je 0x4cab00
push eax
push 0xffffd8f0
push ecx
call fcn.004ddb15
add esp, 0xc
push 0
mov ecx, ebx
call fcn.004211e0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x34], str.speed
push eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x40]
push eax
fstp dword [ebp - 0x2c]
call fcn.004b6570
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x28]
push 1
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x30
mov esi, dword [ebp - 0x18]
push str.speed
push 0xffffffffffffffff
push esi
call fcn.004dda9d
push 0xffffffffffffffff
push esi
call fcn.004dda37
movss xmm0, dword [ebp - 0x2c]
add esp, 0x20
mov esi, dword [ebp - 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push esi
call fcn.004dda6d
push 0x553f58
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x2f
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x40]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x28
mov ecx, ebx
push 1
call fcn.004211e0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x34], str.speed
push eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x40]
push eax
fstp dword [ebp - 0x2c]
call fcn.004b6570
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x28]
push 1
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x32
mov esi, dword [ebp - 0x18]
push str.speed
push 0xffffffffffffffff
push esi
call fcn.004dda9d
push 0xffffffffffffffff
push esi
call fcn.004dda37
mov esi, dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x2c]
cvtps2pd xmm0, xmm0
add esp, 0x20
movsd qword [esp], xmm0
push esi
call fcn.004dda6d
push 0x553f5c
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x31
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x40]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x28
mov ecx, ebx
push 2
call fcn.004211e0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x34], str.speed
push eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x40]
push eax
fstp dword [ebp - 0x2c]
call fcn.004b6570
mov byte [ebp - 4], 0x33
lea eax, [ebp - 0x28]
push 1
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x34
mov esi, dword [ebp - 0x18]
push str.speed
push 0xffffffffffffffff
push esi
call fcn.004dda9d
push 0xffffffffffffffff
push esi
call fcn.004dda37
movss xmm0, dword [ebp - 0x2c]
add esp, 0x20
mov esi, dword [ebp - 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push esi
call fcn.004dda6d
push 0x553f60
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x33
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x40]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x28
lea eax, [ebp - 0x44]
push 0
push 0
push eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
add ecx, 0x20
call fcn.004d1580
mov edi, eax
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004b6570
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x37
mov esi, dword [ebp - 0x18]
push edi
push esi
call fcn.004a2b00
push str.quaternion
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x36
or edi, 0xffffffff
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0x2c]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x38
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x4cad73
mov eax, dword [ebp - 0x40]
cmp eax, 0xfffffffe
je 0x4cad73
push eax
push 0xffffd8f0
push ecx
call fcn.004ddb15
add esp, 0xc
push 0
mov ecx, ebx
call fcn.00421030
lea eax, [ebp - 0x18]
mov dword [ebp - 0x34], str.quaternion
push eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x40]
push eax
fstp dword [ebp - 0x2c]
call fcn.004b6570
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0x28]
push 1
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x3b
mov esi, dword [ebp - 0x18]
push str.quaternion
push 0xffffffffffffffff
push esi
call fcn.004dda9d
push 0xffffffffffffffff
push esi
call fcn.004dda37
movss xmm0, dword [ebp - 0x2c]
add esp, 0x20
mov esi, dword [ebp - 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push esi
call fcn.004dda6d
push 0x54950c
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x3a
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x40]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x28
mov ecx, ebx
push 1
call fcn.00421030
lea eax, [ebp - 0x18]
mov dword [ebp - 0x34], str.quaternion
push eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x40]
push eax
fstp dword [ebp - 0x2c]
call fcn.004b6570
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x28]
push 1
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x3d
mov esi, dword [ebp - 0x18]
push str.quaternion
push 0xffffffffffffffff
push esi
call fcn.004dda9d
push 0xffffffffffffffff
push esi
call fcn.004dda37
mov esi, dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x2c]
cvtps2pd xmm0, xmm0
add esp, 0x20
movsd qword [esp], xmm0
push esi
call fcn.004dda6d
push 0x553f58
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x3c
mov eax, edi
sub eax, dword [ebp - 0x24]
push eax
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x40]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x28
mov ecx, ebx
push 2
call fcn.00421030
lea eax, [ebp - 0x18]
mov dword [ebp - 0x34], str.quaternion
push eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x40]
push eax
fstp dword [ebp - 0x2c]
call fcn.004b6570
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x28]
push 1
push dword [ebp - 0x18]
push eax
call fcn.004a2b60
mov byte [ebp - 4], 0x3f
mov esi, dword [ebp - 0x18]
push str.quaternion
push 0xffffffffffffffff
push esi
call fcn.004dda9d
push 0xffffffffffffffff
push esi
call fcn.004dda37
movss xmm0, dword [ebp - 0x2c]
add esp, 0x20
mov esi, dword [ebp - 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push esi
call fcn.004dda6d
push 0x553f5c
push 0xfffffffffffffffe
push esi
call fcn.004ddac7
mov byte [ebp - 4], 0x3e
sub edi, dword [ebp - 0x24]
push edi
push dword [ebp - 0x28]
call fcn.004dda07
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x40]
push 0xfffffffffffffffe
push dword [eax]
call fcn.004dda07
add esp, 0x28
mov ecx, ebx
push 3
call fcn.00421030
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], str.quaternion
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x48]
push 0x553f60
fstp dword [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x28]
call fcn.0045a710
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, eax
call fcn.004b69d0
mov edi, dword [ebp - 0x4c]
lea eax, [ebp - 0x20]
push 0
push 0
xorps xmm0, xmm0
mov ecx, dword [edi]
push eax
add ecx, 0x20
movq qword [ebp - 0x20], xmm0
call fcn.004d1580
mov byte [ebp - 4], 0x40
mov ecx, ebx
xor esi, esi
call fcn.004210e0
test al, al
je 0x4cafe5
push esi
mov ecx, ebx
call fcn.00420ed0
test eax, eax
je 0x4cafd6
mov ecx, eax
call fcn.0043ec80
movzx eax, ax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x24], esi
call fcn.004b67b0
mov ecx, ebx
inc esi
call fcn.004210e0
movzx eax, al
cmp esi, eax
jl 0x4cafa8
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], str.passengers
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x20]
push eax
call fcn.004b6610
mov ecx, ebx
call fcn.00421290
movzx eax, ax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x24], str.trailerId
call fcn.004b6860
mov ecx, ebx
call fcn.00421310
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], str.trainSpeed
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x2c]
push eax
fstp dword [ebp - 0x2c]
call fcn.004b6910
mov eax, dword [edi]
lea ecx, [ebp - 0x18]
mov esi, dword [ebp - 0x54]
push ecx
push dword [eax + 0x20]
push esi
call fcn.004a1c90
add esp, 0xc
mov dword [ebp - 0x50], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.004c4240
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004c4240
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004dc1be
mov esp, ebp
pop ebp
ret 8