Function at 0x5158c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x934
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0xa0]
call fcn.005648e0
mov edi, dword [ebp + 8]
xor ebx, ebx
cmp edi, ebx
mov byte [esp + 0x128], bl
mov byte [esp + 0x440], bl
mov dword [esp + 0x428], ebx
mov dword [esp + 0x43c], ebx
mov dword [esp + 0x434], ebx
mov dword [esp + 0x438], ebx
mov byte [esp + 0x42c], 1
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 0xffffffff
je 0x5190cf
cmp byte [edi], bl
je 0x5190cf
push ebx
push 0x1be0b
push edi
lea ecx, [esp + 0xac]
call fcn.00564a80
test al, al
je 0x5190cf
cmp dword [ebp + 0x10], ebx
jne 0x515953
mov dword [ebp + 0x10], edi
mov eax, dword [ebp + 0x14]
cmp eax, 1
mov edi, dword [ebp + 0xc]
jne 0x515b15
push 0x300
lea eax, [esp + 0x444]
push eax
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
je 0x515abe
lea ecx, [esp + 0x128]
call fcn.00564e10
test eax, eax
jne 0x515a9d
lea ecx, [esp + 0x440]
push 0x3d
push ecx
call fcn.0058b4c0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x515a9d
lea edx, [esp + 0x440]
push str.SETTING
push edx
call fcn.00588710
add ebx, 0xfffffff9
add esp, 8
cmp eax, ebx
je 0x515a9d
lea eax, [esp + 0x440]
push str.NOTES
push eax
call fcn.00588710
lea ecx, [esp + 0x448]
add esp, 8
cmp eax, ecx
je 0x515a9d
mov edx, ecx
push str.DOWNFORCE
push edx
call fcn.00588710
lea ecx, [esp + 0x448]
add esp, 8
cmp eax, ecx
je 0x515a9d
mov edx, ecx
push str.BALANCE
push edx
call fcn.00588710
lea ecx, [esp + 0x448]
add esp, 8
cmp eax, ecx
je 0x515a9d
mov edx, ecx
push str.RIDE
push edx
call fcn.00588710
lea ecx, [esp + 0x448]
add esp, 8
cmp eax, ecx
je 0x515a9d
mov edx, ecx
push str.GEARING
push edx
call fcn.00588710
lea ecx, [esp + 0x448]
add esp, 8
cmp eax, ecx
je 0x515a9d
mov edx, ecx
push str.CUSTOM
push edx
call fcn.00588710
lea ecx, [esp + 0x448]
add esp, 8
cmp eax, ecx
je 0x515a9d
mov edx, ecx
push str.SYMMETRIC
push edx
call fcn.00588710
lea ecx, [esp + 0x448]
add esp, 8
cmp eax, ecx
jne 0x515acc
push 0x300
lea edx, [esp + 0x444]
push edx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
jne 0x515983
lea ecx, [esp + 0xa0]
call fcn.00564de0
jmp 0x515b20
cmp dword [0xa1a2c8], 1
jl 0x515aff
push 0x439
push str...Source_vehload.cpp
mov ecx, 0xa1a2c8
call fcn.004f3e00
mov eax, dword [ebp + 8]
push eax
push str._s_is_an_illegal_.SVM_file
push 0xa1a2c8
call fcn.004f3d30
add esp, 0xc
lea ecx, [esp + 0xa0]
call fcn.00563940
mov ecx, dword [esp + 0x3c]
push ecx
jmp 0x5190d4
cmp eax, ebx
jne 0x515b20
mov ecx, edi
call fcn.0043ff60
push 0x300
lea edx, [esp + 0x444]
push edx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
je 0x519094
lea ecx, [esp + 0x128]
call fcn.00564e10
test eax, eax
jne 0x519073
lea eax, [esp + 0x440]
push str._GENERAL_
push eax
call fcn.00588710
add esp, 8
test eax, eax
je 0x51664d
push 0x300
lea ecx, [esp + 0x444]
push ecx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
je 0x5165f3
lea ecx, [esp + 0x128]
call fcn.00564e10
cmp eax, 1
je 0x5165f3
test eax, eax
jne 0x5165d2
push eax
push eax
push eax
lea edx, [esp + 0x60]
push edx
push str.Rules
lea ecx, [esp + 0x13c]
call fcn.00565360
test eax, eax
je 0x515bda
mov eax, dword [esp + 0x54]
mov dword [esi + 0x34], eax
mov dword [edi + 0x1b18], eax
push 0
push 0
push 0
lea ebx, [esi + 0x38]
push ebx
push str.GarageDisplayFlags
lea ecx, [esp + 0x13c]
call fcn.00565360
test eax, eax
je 0x515c01
mov eax, dword [ebx]
mov dword [edi + 0x1b14], eax
push 0
push 0
push 0
lea ecx, [esi + 0x3c]
push ecx
push str.Mass
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea edx, [esi + 0x54]
push edx
lea eax, [esi + 0x4c]
push eax
lea ecx, [esi + 0x44]
push ecx
push str.Inertia
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x5c]
push edx
push str.CGHeight
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ebx, [esi + 0x64]
push ebx
push str.WedgePushrod
lea ecx, [esp + 0x13c]
call fcn.005657a0
test eax, eax
je 0x515c7d
fld qword [ebx]
fstp qword [edi + 0x1b24]
push 0
lea eax, [esi + 0x7c]
push eax
lea ecx, [esi + 0x74]
push ecx
lea edx, [esi + 0x6c]
push edx
push str.GraphicalOffset
lea ecx, [esp + 0x13c]
call fcn.00565ad0
mov edx, str.Undertray
lea ecx, [esp + 0x440]
call fcn.00567b10
test eax, eax
je 0x515dd6
push 0
lea eax, [esi + 0x2550]
push eax
lea ebx, [esi + 0x2548]
push ebx
lea ecx, [esi + 0x2540]
push ecx
push str.FLUndertray
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea edx, [esi + 0x2568]
push edx
lea eax, [esi + 0x2560]
push eax
lea ecx, [esi + 0x2558]
push ecx
push str.FRUndertray
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea edx, [esi + 0x2580]
push edx
lea eax, [esi + 0x2578]
push eax
lea ecx, [esi + 0x2570]
push ecx
push str.RLUndertray
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea edx, [esi + 0x2598]
push edx
lea eax, [esi + 0x2590]
push eax
lea ecx, [esi + 0x2588]
push ecx
push str.RRUndertray
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea edx, [esi + 0x2670]
push edx
lea eax, [esi + 0x2668]
push eax
lea ecx, [esi + 0x2660]
push ecx
push str.UndertrayParams
lea ecx, [esp + 0x13c]
call fcn.00565ad0
mov dword [esp + 0x2c], 0
mov edx, dword [esp + 0x2c]
push edx
lea eax, [esp + 0x64]
push str.Undertray_02d
push eax
call fcn.00589571
add esp, 0xc
push 0
lea ecx, [ebx + 8]
push ecx
push ebx
lea edx, [ebx - 8]
push edx
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x13c]
call fcn.00565ad0
test eax, eax
je 0x515dc3
mov byte [esi + 0x253c], 0
mov eax, dword [esp + 0x2c]
add eax, 1
add ebx, 0x18
cmp eax, 0xc
mov dword [esp + 0x2c], eax
jl 0x515d85
lea ebx, [esi + 0x84]
push ebx
push str.TireBrand
lea ecx, [esp + 0x130]
call fcn.00565160
test eax, eax
je 0x515ebc
push 0
push str.TireBrandOverride
push 0x40
lea ecx, [esp + 0x6c]
push ecx
mov ecx, 0xa18578
call fcn.004d2500
test eax, eax
jne 0x515e2c
lea eax, [esp + 0x60]
mov edx, ebx
mov ecx, eax
sub edx, ecx
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x515e20
lea ebx, [esi + 0x84]
mov ecx, ebx
call fcn.0040ae20
push ebx
mov ecx, edi
call fcn.0043e910
push ebx
mov ecx, 0xa1a2b4
call fcn.004f3410
mov ebx, eax
test ebx, ebx
je 0x515e86
mov edx, dword [ebx + 0x10]
mov dword [edi + 0xd00], edx
mov eax, dword [ebx + 0x10]
mov dword [edi + 0xd40], eax
mov eax, dword [ebx + 0x18]
test eax, eax
jne 0x515e70
mov eax, 0x5ad73f
push eax
mov ecx, esi
call fcn.00566e70
mov ecx, dword [ebx + 0x20]
add ecx, 0x20040229
mov dword [esi + 8], ecx
jmp 0x515ebc
cmp dword [0xa1a2c8], 1
jl 0x515ebc
push 0x49a
push str...Source_vehload.cpp
mov ecx, 0xa1a2c8
call fcn.004f3e00
lea eax, [esi + 0x84]
push eax
push 0x5caf70
push 0xa1a2c8
call fcn.004f3d30
add esp, 0xc
push 0
lea edx, [esi + 0xd4]
push edx
lea eax, [esi + 0xcc]
push eax
lea ecx, [esi + 0xc4]
push ecx
push str.FuelTankPos
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea edx, [esi + 0xe4]
push edx
lea eax, [esi + 0xdc]
push eax
push str.FuelTankMotion
lea ecx, [esp + 0x13c]
call fcn.00565ad0
lea ecx, [esi + 0x2a8]
push ecx
lea edx, [esi + 0x2a4]
push edx
lea eax, [esi + 0x2a0]
push eax
lea ecx, [esi + 0x29c]
push ecx
lea edx, [esi + 0x298]
push edx
lea eax, [esi + 0x294]
push eax
lea ecx, [esi + 0x290]
push ecx
lea edx, [esi + 0x28c]
push edx
push str.AIAimSpeedsPerWP
lea ecx, [esp + 0x14c]
call fcn.00565580
push 0
push 0
lea eax, [esi + 0x2b0]
push eax
lea ecx, [esi + 0x2ac]
push ecx
push str.AISlipReaction
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
push 0
push 0
lea edx, [esi + 0x2b4]
push edx
push str.AIMinPassesPerTick
lea ecx, [esp + 0x13c]
call fcn.00565360
push 0
push 0
push 0
lea eax, [esi + 0x2b8]
push eax
push str.AIRotationThreshold
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0x2c0]
push ecx
push str.AIEvenSuspension
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x2c8]
push edx
push str.AISpringRate
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0x2d0]
push eax
push str.AIDamperSlow
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0x2d8]
push ecx
push str.AIDamperFast
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x2e0]
push edx
push str.AIDownforceZArm
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0x2e8]
push eax
push str.AIDownforceBias
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea ecx, [esi + 0x300]
push ecx
lea edx, [esi + 0x2f8]
push edx
lea eax, [esi + 0x2f0]
push eax
push str.AITorqueStab
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0x308]
push ecx
push str.AIFuelMult
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea edx, [esi + 0x320]
push edx
lea eax, [esi + 0x318]
push eax
lea ecx, [esi + 0x310]
push ecx
push str.AIPerfUsage
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea edx, [esi + 0x330]
push edx
lea eax, [esi + 0x328]
push eax
push str.AITableParams
lea ecx, [esp + 0x13c]
call fcn.00565ad0
lea ecx, [esp + 0x740]
push ecx
push str.Notes
lea ecx, [esp + 0x130]
call fcn.00565160
test eax, eax
je 0x516121
lea edx, [esp + 0x740]
push edx
lea ecx, [edi + 0x68]
call fcn.00566ee0
push 0
push 0
push 0
lea eax, [esp + 0x64]
push eax
push str.Symmetric
lea ecx, [esp + 0x13c]
call fcn.00565360
test eax, eax
je 0x51614f
cmp dword [esp + 0x58], 0
setne cl
mov byte [edi + 0x1bd1], cl
push 0
push 0
push 0
lea edx, [esi + 0x2b58]
push edx
push str.FeelerFlags
lea ecx, [esp + 0x13c]
call fcn.00565360
push 0
push 0
push 0
lea eax, [esi + 0x2b5c]
push eax
push str.FeelersAtCGHeight
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
lea ecx, [esi + 0x2b68]
push ecx
lea edx, [esi + 0x2b64]
push edx
lea eax, [esi + 0x2b60]
push eax
push str.FeelerFrontLeft
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
lea ecx, [esi + 0x2b74]
push ecx
lea edx, [esi + 0x2b70]
push edx
lea eax, [esi + 0x2b6c]
push eax
push str.FeelerFrontRight
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
lea ecx, [esi + 0x2b80]
push ecx
lea edx, [esi + 0x2b7c]
push edx
lea eax, [esi + 0x2b78]
push eax
push str.FeelerRearLeft
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
lea ecx, [esi + 0x2b8c]
push ecx
lea edx, [esi + 0x2b88]
push edx
lea eax, [esi + 0x2b84]
push eax
push str.FeelerRearRight
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
lea ecx, [esi + 0x2b98]
push ecx
lea edx, [esi + 0x2b94]
push edx
lea eax, [esi + 0x2b90]
push eax
push str.FeelerFront
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
lea ecx, [esi + 0x2ba4]
push ecx
lea edx, [esi + 0x2ba0]
push edx
lea eax, [esi + 0x2b9c]
push eax
push str.FeelerRear
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
lea ecx, [esi + 0x2bb0]
push ecx
lea edx, [esi + 0x2bac]
push edx
lea eax, [esi + 0x2ba8]
push eax
push str.FeelerRight
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
lea ecx, [esi + 0x2bbc]
push ecx
lea edx, [esi + 0x2bb8]
push edx
lea eax, [esi + 0x2bb4]
push eax
push str.FeelerLeft
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
lea ecx, [esi + 0x2bc8]
push ecx
lea edx, [esi + 0x2bc4]
push edx
lea eax, [esi + 0x2bc0]
push eax
push str.FeelerTopFrontLeft
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
lea ecx, [esi + 0x2bd4]
push ecx
lea edx, [esi + 0x2bd0]
push edx
lea eax, [esi + 0x2bcc]
push eax
push str.FeelerTopFrontRight
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
lea ecx, [esi + 0x2be0]
push ecx
lea edx, [esi + 0x2bdc]
push edx
lea eax, [esi + 0x2bd8]
push eax
push str.FeelerTopRearLeft
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
lea ecx, [esi + 0x2bec]
push ecx
lea edx, [esi + 0x2be8]
push edx
lea eax, [esi + 0x2be4]
push eax
push str.FeelerTopRearRight
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
lea ecx, [esi + 0x2bf8]
push ecx
lea edx, [esi + 0x2bf4]
push edx
lea eax, [esi + 0x2bf0]
push eax
push str.FeelerBottom
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
push 0
push 0
lea ecx, [esi + 0x2bfc]
push ecx
push str.CollisionBodyChecksum
lea ecx, [esp + 0x13c]
call fcn.00565360
lea edx, [esp + 0x740]
push edx
push str.DamageFile
lea ecx, [esp + 0x130]
call fcn.00565160
test eax, eax
je 0x516466
mov ebx, dword [ebp + 0x14]
cmp ebx, 3
je 0x516466
mov eax, dword [ebp + 0x10]
lea edx, [esp + 0x840]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x5163f0
lea ecx, [esp + 0x840]
call fcn.00401140
push 1
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x848]
push ecx
push str..INI
lea edx, [esp + 0x750]
push edx
mov ecx, 0xa185a4
call fcn.004d1c80
test eax, eax
jne 0x516466
cmp ebx, 2
je 0x516450
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x516444
mov eax, 0x5ad73f
push eax
lea ecx, [esi + 0x2c00]
call fcn.00512cb0
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x51645d
mov eax, 0x5ad73f
push eax
lea ecx, [esi + 0x24]
call fcn.00566e70
fld1
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x130]
push str.CGRightSetting
push str.CGRightRange
push eax
lea ecx, [edi + 0xd70]
call fcn.0043fdf0
fld1
sub esp, 8
fstp qword [esp]
push str.CGRearSetting
push str.CGRearRange
lea ecx, [esp + 0x138]
push ecx
lea ecx, [edi + 0xdb0]
call fcn.0043fdf0
fld1
sub esp, 8
fstp qword [esp]
push str.WedgeSetting
push str.WedgeRange
lea edx, [esp + 0x138]
push edx
lea ecx, [edi + 0xdf0]
call fcn.0043fdf0
fld1
sub esp, 8
fstp qword [esp]
push str.FrontTireCompoundSetting
push 0
lea eax, [esp + 0x138]
push eax
lea ecx, [edi + 0xcf0]
call fcn.0043fdf0
fld1
sub esp, 8
fstp qword [esp]
push str.RearTireCompoundSetting
push 0
lea ecx, [esp + 0x138]
push ecx
lea ecx, [edi + 0xd30]
call fcn.0043fdf0
fld1
sub esp, 8
fstp qword [esp]
push str.FuelSetting
push str.FuelRange
lea edx, [esp + 0x138]
push edx
lea ecx, [edi + 0xcb0]
call fcn.0043fdf0
fld1
sub esp, 8
fstp qword [esp]
push str.NumPitstopsSetting
push str.NumPitstopsRange
lea eax, [esp + 0x138]
push eax
lea ecx, [edi + 0x19f0]
call fcn.0043fdf0
fld1
sub esp, 8
fstp qword [esp]
push str.Pitstop1Setting
push str.Pitstop1Range
lea ecx, [esp + 0x138]
push ecx
lea ecx, [edi + 0x1a30]
call fcn.0043fdf0
fld1
sub esp, 8
fstp qword [esp]
push str.Pitstop2Setting
push str.Pitstop2Range
lea edx, [esp + 0x138]
push edx
lea ecx, [edi + 0x1a70]
call fcn.0043fdf0
fld1
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x130]
push str.Pitstop3Setting
push str.Pitstop3Range
push eax
lea ecx, [edi + 0x1ab0]
call fcn.0043fdf0
push 0x300
lea ecx, [esp + 0x444]
push ecx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
jne 0x515b93
cmp byte [0x920b2c], 0
je 0x519073
lea ebx, [edi + 0x1a40]
mov dword [esp + 0x34], 3
mov edi, edi
fld qword [ebx - 8]
fld qword [0x5c5bf8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x516629
fstp st(0)
fld qword [ebx - 8]
fdivr qword [ebx - 0x10]
sub esp, 8
fstp qword [esp]
call fcn.00414340
fldz
add dword [ebx], eax
fstp qword [ebx - 0x10]
add ebx, 0x40
sub dword [esp + 0x34], 1
jne 0x516610
jmp 0x519073
lea edx, [esp + 0x440]
push str._PITMENU_
push edx
call fcn.00588710
add esp, 8
test eax, eax
je 0x516ab6
push 0x300
lea eax, [esp + 0x444]
push eax
lea ecx, [esp + 0xa8]
lea ebx, [edi + 0x1b2c]
call fcn.00564c00
test eax, eax
je 0x519073
lea ecx, [esp + 0x128]
call fcn.00564e10
cmp eax, 1
je 0x519073
test eax, eax
jne 0x516a90
push eax
push eax
push eax
push ebx
push str.StopGo
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea ecx, [ebx + 1]
push ecx
push str.Fuel
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea edx, [ebx + 2]
push edx
push str.AllTires
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
lea eax, [ebx + 4]
push eax
lea ecx, [ebx + 3]
push ecx
push str.FrontRearTires
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
lea edx, [ebx + 6]
push edx
lea eax, [ebx + 5]
push eax
push str.LeftRightTires
lea ecx, [esp + 0x13c]
call fcn.005651f0
lea ecx, [ebx + 0xa]
push ecx
lea edx, [ebx + 9]
push edx
lea eax, [ebx + 8]
push eax
lea ecx, [ebx + 7]
push ecx
push str.IndividualTires
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
lea edx, [ebx + 0xc]
push edx
lea eax, [ebx + 0xb]
push eax
push str.FenderFlare
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea ecx, [ebx + 0xd]
push ecx
push str.FrontWing
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea edx, [ebx + 0xe]
push edx
push str.RearWing
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea eax, [ebx + 0xf]
push eax
push str.Driver
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea ecx, [ebx + 0x10]
push ecx
push str.Wedge
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea edx, [ebx + 0x11]
push edx
push str.Radiator
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea eax, [ebx + 0x12]
push eax
push str.TrackBar
lea ecx, [esp + 0x13c]
call fcn.005651f0
lea ecx, [ebx + 0x16]
push ecx
lea edx, [ebx + 0x15]
push edx
lea eax, [ebx + 0x14]
push eax
lea ecx, [ebx + 0x13]
push ecx
push str.Pressure
lea ecx, [esp + 0x13c]
call fcn.005651f0
lea edx, [ebx + 0x1a]
push edx
lea eax, [ebx + 0x19]
push eax
lea ecx, [ebx + 0x18]
push ecx
lea edx, [ebx + 0x17]
push edx
push str.SpringRubber
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea eax, [ebx + 0x24]
push eax
push str.Damage
lea ecx, [esp + 0x13c]
call fcn.00565360
test eax, eax
je 0x51687e
cmp dword [ebx + 0x24], 0
setg al
mov byte [ebx + 0x1b], al
push 0
push 0
push 0
lea ecx, [ebx + 0x1c]
push ecx
push str.StopGoSimultaneous
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea edx, [ebx + 0x1d]
push edx
push str.PressureOnTheFly
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea eax, [ebx + 0x1e]
push eax
push str.DamagedTiresOnly
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea ecx, [ebx + 0x20]
push ecx
push str.CompoundRestrictions
lea ecx, [esp + 0x13c]
call fcn.00565360
lea edx, [ebx + 0x34]
push edx
lea eax, [ebx + 0x30]
push eax
lea ecx, [ebx + 0x2c]
push ecx
lea edx, [ebx + 0x28]
push edx
push str.Preparation
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
push 0
push 0
lea eax, [ebx + 0x48]
push eax
lea ecx, [ebx + 0x44]
push ecx
lea edx, [ebx + 0x40]
push edx
lea eax, [ebx + 0x3c]
push eax
lea ecx, [ebx + 0x38]
push ecx
push str.FuelTime
lea ecx, [esp + 0x14c]
call fcn.00565580
lea edx, [ebx + 0x58]
push edx
lea eax, [ebx + 0x54]
push eax
lea ecx, [ebx + 0x50]
push ecx
lea edx, [ebx + 0x4c]
push edx
push str.TireTime
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
push 0
push 0
lea eax, [ebx + 0x5c]
push eax
push str.FenderFlareTime
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
push 0
lea ecx, [ebx + 0x64]
push ecx
lea edx, [ebx + 0x60]
push edx
push str.FrontWingTime
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
push 0
lea eax, [ebx + 0x6c]
push eax
lea ecx, [ebx + 0x68]
push ecx
push str.RearWingTime
lea ecx, [esp + 0x13c]
call fcn.00565470
lea edx, [ebx + 0x7c]
push edx
lea eax, [ebx + 0x78]
push eax
lea ecx, [ebx + 0x74]
push ecx
lea edx, [ebx + 0x70]
push edx
push str.DriverTime
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
push 0
push 0
lea eax, [ebx + 0x80]
push eax
push str.WedgeTime
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
push 0
push 0
lea ecx, [ebx + 0x84]
push ecx
push str.RadiatorTime
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
push 0
push 0
lea edx, [ebx + 0x88]
push edx
push str.TrackBarTime
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
push 0
push 0
lea eax, [ebx + 0x8c]
push eax
push str.PressureTime
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0
push 0
push 0
lea ecx, [ebx + 0x90]
push ecx
push str.SpringRubberTime
lea ecx, [esp + 0x13c]
call fcn.00565470
lea edx, [ebx + 0xa0]
push edx
lea eax, [ebx + 0x9c]
push eax
lea ecx, [ebx + 0x98]
push ecx
lea edx, [ebx + 0x94]
push edx
push str.DamageTime
lea ecx, [esp + 0x13c]
call fcn.00565470
push 0x300
lea eax, [esp + 0x444]
push eax
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
jne 0x516691
jmp 0x519073
lea ecx, [esp + 0x440]
push str._AIDPENALTIES_
push ecx
call fcn.00588710
add esp, 8
test eax, eax
je 0x516d3e
push 0x300
lea edx, [esp + 0x444]
push edx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
je 0x519073
lea ecx, [esp + 0x128]
call fcn.00564e10
cmp eax, 1
je 0x519073
test eax, eax
jne 0x516d18
push 0
lea ebx, [esi + 0x104]
push ebx
lea eax, [esi + 0xf4]
push eax
lea eax, [esi + 0xec]
push eax
push 0x61e948
lea ecx, [esp + 0x13c]
call fcn.00565ad0
test eax, eax
je 0x516b51
fld qword [esi + 0xf4]
fadd qword [ebx]
fmul qword [0x5bc538]
fstp qword [esi + 0xfc]
push 0
lea ecx, [esi + 0x11c]
push ecx
lea edx, [esi + 0x114]
push edx
lea eax, [esi + 0x10c]
push eax
push 0x617fa0
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea ecx, [esi + 0x13c]
push ecx
lea edx, [esi + 0x134]
push edx
lea eax, [esi + 0x12c]
push eax
push str.Stability
lea ecx, [esp + 0x13c]
call fcn.00565ad0
lea ecx, [esi + 0x164]
push ecx
lea edx, [esi + 0x15c]
push edx
lea eax, [esi + 0x154]
push eax
lea ecx, [esi + 0x14c]
push ecx
push str.Autoshift
lea ecx, [esp + 0x13c]
call fcn.00565ad0
lea edx, [esi + 0x1e4]
push edx
lea eax, [esi + 0x1dc]
push eax
lea ecx, [esi + 0x1d4]
push ecx
lea edx, [esi + 0x1cc]
push edx
push str.Steering
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea eax, [esi + 0x1fc]
push eax
lea ecx, [esi + 0x1f4]
push ecx
lea edx, [esi + 0x1ec]
push edx
push str.Braking
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea eax, [esi + 0x174]
push eax
lea ecx, [esi + 0x16c]
push ecx
push str.Clutch
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea edx, [esi + 0x194]
push edx
lea eax, [esi + 0x18c]
push eax
push str.Invulnerable
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea ecx, [esi + 0x1b4]
push ecx
lea edx, [esi + 0x1ac]
push edx
push 0x617f94
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea eax, [esi + 0x214]
push eax
lea ecx, [esi + 0x20c]
push ecx
push str.SpinRecovery
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea edx, [esi + 0x234]
push edx
lea eax, [esi + 0x22c]
push eax
push str.AutoPit
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea ecx, [esi + 0x254]
push ecx
lea edx, [esi + 0x24c]
push edx
push str.AutoLift
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea eax, [esi + 0x274]
push eax
lea ecx, [esi + 0x26c]
push ecx
push str.AutoBlip
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0x300
lea edx, [esp + 0x444]
push edx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
jne 0x516af4
jmp 0x519073
lea eax, [esp + 0x440]
push str._FRONTWING_
push eax
call fcn.00588710
add esp, 8
test eax, eax
je 0x51704b
push 0x300
lea ecx, [esp + 0x444]
push ecx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
je 0x519073
lea esp, [esp]
lea ecx, [esp + 0x128]
call fcn.00564e10
cmp eax, 1
je 0x519073
test eax, eax
jne 0x517025
push eax
lea edx, [esi + 0x42c]
push edx
lea eax, [esi + 0x424]
push eax
lea ecx, [esi + 0x41c]
push ecx
push str.FWDragParams
lea ecx, [esp + 0x13c]
call fcn.00565ad0
test eax, eax
je 0x516dcf
mov byte [esi + 0x410], 1
push 0
lea edx, [esi + 0x444]
push edx
lea eax, [esi + 0x43c]
push eax
lea ecx, [esi + 0x434]
push ecx
push str.FWLiftParams
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x44c]
push edx
push str.FWDraftLiftMult
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0x414]
push eax
push str.FWMaxHeight
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0x454]
push ecx
push str.FWLiftHeight
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x45c]
push edx
push str.FWLiftSideways
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea eax, [esi + 0x46c]
push eax
lea ebx, [esi + 0x464]
push ebx
push str.FWLiftPeakYaw
lea ecx, [esp + 0x13c]
call fcn.005657a0
test eax, eax
je 0x516ea0
fld qword [ebx]
fmul qword [0x5caca8]
fstp qword [ebx]
push 0
lea ecx, [esi + 0x484]
push ecx
lea edx, [esi + 0x47c]
push edx
lea ebx, [esi + 0x474]
push ebx
push str.FWNegRakeDrag
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea eax, [esi + 0x49c]
push eax
lea ecx, [esi + 0x494]
push ecx
lea edx, [esi + 0x48c]
push edx
push str.FWPosRakeDrag
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea eax, [esi + 0x4b4]
push eax
lea ecx, [esi + 0x4ac]
push ecx
lea edx, [esi + 0x4a4]
push edx
push str.FWNegRakeLift
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea eax, [esi + 0x4cc]
push eax
lea ecx, [esi + 0x4c4]
push ecx
lea edx, [esi + 0x4bc]
push edx
push str.FWPosRakeLift
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push str.FWLeft
push 0
lea eax, [esp + 0x130]
push eax
mov ecx, ebx
call fcn.00513b70
push str.FWRight
push 1
lea ecx, [esp + 0x130]
push ecx
mov ecx, ebx
call fcn.00513b70
push str.FWUp
push 2
lea edx, [esp + 0x130]
push edx
mov ecx, ebx
call fcn.00513b70
push str.FWDown
push 3
lea eax, [esp + 0x130]
push eax
mov ecx, ebx
call fcn.00513b70
push str.FWAft
push 4
lea ecx, [esp + 0x130]
push ecx
mov ecx, ebx
call fcn.00513b70
push str.FWFore
push 5
lea edx, [esp + 0x130]
push edx
mov ecx, ebx
call fcn.00513b70
push str.FWRot
lea eax, [esp + 0x12c]
push eax
mov ecx, ebx
call fcn.00513d80
push 0
lea ecx, [esi + 0x58c]
push ecx
lea edx, [esi + 0x584]
push edx
lea eax, [esi + 0x57c]
push eax
push str.FWCenter
lea ecx, [esp + 0x13c]
call fcn.00565ad0
fld1
sub esp, 8
fstp qword [esp]
push str.FWSetting
push str.FWRange
lea ecx, [esp + 0x138]
push ecx
lea ecx, [edi + 0x13b0]
call fcn.0043fdf0
push 0x300
lea edx, [esp + 0x444]
push edx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
jne 0x516d80
jmp 0x519073
lea eax, [esp + 0x440]
push str._LEFTFENDER_
push eax
call fcn.00588710
add esp, 8
test eax, eax
je 0x517087
push edi
lea ecx, [esp + 0x12c]
push ecx
lea edx, [esp + 0xa8]
push edx
push 0xa
lea ecx, [esi + 0x338]
call fcn.00513940
jmp 0x519073
lea eax, [esp + 0x440]
push str._RIGHTFENDER_
push eax
call fcn.00588710
add esp, 8
test eax, eax
je 0x5170c3
push edi
lea ecx, [esp + 0x12c]
push ecx
lea edx, [esp + 0xa8]
push edx
push 0xb
lea ecx, [esi + 0x3a4]
call fcn.00513940
jmp 0x519073
lea eax, [esp + 0x440]
push str._REARWING_
push eax
call fcn.00588710
add esp, 8
test eax, eax
lea ecx, [esp + 0x440]
je 0x51738e
push 0x300
push ecx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
je 0x519073
lea ecx, [esp + 0x128]
call fcn.00564e10
cmp eax, 1
je 0x519073
test eax, eax
jne 0x517368
push eax
lea edx, [esi + 0x5a8]
push edx
lea eax, [esi + 0x5a0]
push eax
lea ecx, [esi + 0x598]
push ecx
push str.RWDragParams
lea ecx, [esp + 0x13c]
call fcn.00565ad0
test eax, eax
je 0x517150
mov byte [esi + 0x594], 1
push 0
lea edx, [esi + 0x5c0]
push edx
lea eax, [esi + 0x5b8]
push eax
lea ecx, [esi + 0x5b0]
push ecx
push str.RWLiftParams
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x5c8]
push edx
push str.RWDraftLiftMult
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0x5d0]
push eax
push str.RWLiftSideways
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea ecx, [esi + 0x5e0]
push ecx
lea ebx, [esi + 0x5d8]
push ebx
push str.RWLiftPeakYaw
lea ecx, [esp + 0x13c]
call fcn.005657a0
test eax, eax
je 0x5171e5
fld qword [ebx]
fmul qword [0x5caca8]
fstp qword [ebx]
push 0
lea edx, [esi + 0x5f8]
push edx
lea eax, [esi + 0x5f0]
push eax
lea ebx, [esi + 0x5e8]
push ebx
push str.RWNegRakeDrag
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea ecx, [esi + 0x610]
push ecx
lea edx, [esi + 0x608]
push edx
lea eax, [esi + 0x600]
push eax
push str.RWPosRakeDrag
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea ecx, [esi + 0x628]
push ecx
lea edx, [esi + 0x620]
push edx
lea eax, [esi + 0x618]
push eax
push str.RWNegRakeLift
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea ecx, [esi + 0x640]
push ecx
lea edx, [esi + 0x638]
push edx
lea eax, [esi + 0x630]
push eax
push str.RWPosRakeLift
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push str.RWLeft
push 0
lea ecx, [esp + 0x130]
push ecx
mov ecx, ebx
call fcn.00513b70
push str.RWRight
push 1
lea edx, [esp + 0x130]
push edx
mov ecx, ebx
call fcn.00513b70
push str.RWUp
push 2
lea eax, [esp + 0x130]
push eax
mov ecx, ebx
call fcn.00513b70
push str.RWDown
push 3
lea ecx, [esp + 0x130]
push ecx
mov ecx, ebx
call fcn.00513b70
push str.RWAft
push 4
lea edx, [esp + 0x130]
push edx
mov ecx, ebx
call fcn.00513b70
push str.RWFore
push 5
lea eax, [esp + 0x130]
push eax
mov ecx, ebx
call fcn.00513b70
push str.RWRot
lea ecx, [esp + 0x12c]
push ecx
mov ecx, ebx
call fcn.00513d80
push 0
lea edx, [esi + 0x700]
push edx
lea eax, [esi + 0x6f8]
push eax
lea ecx, [esi + 0x6f0]
push ecx
push str.RWCenter
lea ecx, [esp + 0x13c]
call fcn.00565ad0
fld1
sub esp, 8
fstp qword [esp]
push str.RWSetting
push str.RWRange
push 0x1d
lea edx, [esp + 0x13c]
push edx
mov ecx, edi
call fcn.00512b50
push 0x300
lea eax, [esp + 0x444]
push eax
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
jne 0x517101
jmp 0x519073
push str._BODYAERO_
push ecx
call fcn.00588710
add esp, 8
test eax, eax
lea edx, [esp + 0x440]
je 0x5177b4
push 0x300
push edx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
je 0x519073
jmp 0x5173d0
lea ecx, [esp + 0x128]
call fcn.00564e10
cmp eax, 1
je 0x519073
test eax, eax
jne 0x51778e
push eax
push eax
push eax
lea eax, [esi + 0x858]
push eax
push 0x5c5028
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0x860]
push ecx
push str.LeadingExponent
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x868]
push edx
push str.FollowingExponent
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0x870]
push eax
push 0x5c4fe8
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0x878]
push ecx
push 0x5c4fd0
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x880]
push edx
push str.SideLeadingExponent
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0x888]
push eax
push 0x5c4f98
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0x708]
push ecx
push str.BodyDragBase
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x710]
push edx
push str.BodyDragHeightAvg
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0x718]
push eax
push str.BodyDragHeightDiff
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0x720]
push ecx
push str.BodyMaxHeight
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x728]
push edx
push str.DraftBalanceMult
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0x730]
push eax
push str.BodyDraftLiftMult
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea ecx, [esi + 0x760]
push ecx
lea edx, [esi + 0x758]
push edx
lea ebx, [esi + 0x750]
push ebx
push str.BodyNegRakeDrag
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea eax, [esi + 0x778]
push eax
lea ecx, [esi + 0x770]
push ecx
lea edx, [esi + 0x768]
push edx
push str.BodyPosRakeDrag
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea eax, [esi + 0x790]
push eax
lea ecx, [esi + 0x788]
push ecx
lea edx, [esi + 0x780]
push edx
push str.BodyNegRakeLift
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea eax, [esi + 0x7a8]
push eax
lea ecx, [esi + 0x7a0]
push ecx
lea edx, [esi + 0x798]
push edx
push str.BodyPosRakeLift
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push str.BodyLeft
push 0
lea eax, [esp + 0x130]
push eax
mov ecx, ebx
call fcn.00513b70
push str.BodyRight
push 1
lea ecx, [esp + 0x130]
push ecx
mov ecx, ebx
call fcn.00513b70
push str.BodyUp
push 2
lea edx, [esp + 0x130]
push edx
mov ecx, ebx
call fcn.00513b70
push str.BodyDown
push 3
lea eax, [esp + 0x130]
push eax
mov ecx, ebx
call fcn.00513b70
push str.BodyAft
push 4
lea ecx, [esp + 0x130]
push ecx
mov ecx, ebx
call fcn.00513b70
push str.BodyFore
push 5
lea edx, [esp + 0x130]
push edx
mov ecx, ebx
call fcn.00513b70
push str.BodyRot
lea eax, [esp + 0x12c]
push eax
mov ecx, ebx
call fcn.00513d80
push 0
lea ecx, [esi + 0x748]
push ecx
lea edx, [esi + 0x740]
push edx
lea eax, [esi + 0x738]
push eax
push str.BodyCenter
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0x92c]
push ecx
push str.RadiatorDrag
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x934]
push edx
push str.RadiatorLift
lea ecx, [esp + 0x13c]
call fcn.00565ad0
fld1
sub esp, 8
fstp qword [esp]
push str.RadiatorSetting
push str.RadiatorRange
push 0x1e
lea eax, [esp + 0x13c]
push eax
mov ecx, edi
call fcn.00512b50
push 0
push 0
push 0
lea ecx, [esi + 0x93c]
push ecx
push str.BrakeDuctDrag
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x944]
push edx
push str.BrakeDuctLift
lea ecx, [esp + 0x13c]
call fcn.00565ad0
fld1
sub esp, 8
fstp qword [esp]
push str.BrakeDuctSetting
push str.BrakeDuctRange
push 0x1f
lea eax, [esp + 0x13c]
push eax
mov ecx, edi
call fcn.00512b50
push 0x300
lea ecx, [esp + 0x444]
push ecx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
jne 0x5173d0
jmp 0x519073
push str._DIFFUSER_
push edx
call fcn.00588710
add esp, 8
test eax, eax
je 0x51798b
push 0x300
lea eax, [esp + 0x444]
push eax
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
je 0x519073
jmp 0x5177f0
lea ecx, [esp + 0x128]
call fcn.00564e10
cmp eax, 1
je 0x519073
test eax, eax
jne 0x517965
push eax
lea ecx, [esi + 0x8a4]
push ecx
lea edx, [esi + 0x89c]
push edx
lea eax, [esi + 0x894]
push eax
push str.DiffuserBase
lea ecx, [esp + 0x13c]
call fcn.00565ad0
test eax, eax
je 0x51783f
mov byte [esi + 0x890], 1
push 0
push 0
push 0
lea ecx, [esi + 0x8b4]
push ecx
push str.DiffuserFrontHeight
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea edx, [esi + 0x8cc]
push edx
lea eax, [esi + 0x8c4]
push eax
lea ecx, [esi + 0x8bc]
push ecx
push str.DiffuserRake
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
lea edx, [esi + 0x8d4]
push edx
lea eax, [esi + 0x8ac]
push eax
lea ecx, [esi + 0x8dc]
push ecx
push str.DiffuserLimits
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea edx, [esi + 0x8ec]
push edx
lea eax, [esi + 0x8e4]
push eax
push str.DiffuserStall
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0x8f4]
push ecx
push str.DiffuserDraftLiftMult
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x8fc]
push edx
push str.DiffuserSideways
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea eax, [esi + 0x90c]
push eax
lea ebx, [esi + 0x904]
push ebx
push str.DiffuserPeakYaw
lea ecx, [esp + 0x13c]
call fcn.005657a0
test eax, eax
je 0x51793d
fld qword [ebx]
fmul qword [0x5caca8]
fstp qword [ebx]
push 0
lea ecx, [esi + 0x924]
push ecx
lea edx, [esi + 0x91c]
push edx
lea eax, [esi + 0x914]
push eax
push str.DiffuserCenter
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0x300
lea ecx, [esp + 0x444]
push ecx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
jne 0x5177f0
jmp 0x519073
lea edx, [esp + 0x440]
push str._SUSPENSION_
push edx
call fcn.00588710
add esp, 8
test eax, eax
je 0x5181ad
push 0x300
lea eax, [esp + 0x444]
push eax
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
je 0x519073
lea esp, [esp]
lea ecx, [esp + 0x128]
call fcn.00564e10
cmp eax, 1
je 0x519073
test eax, eax
jne 0x518187
lea ecx, [esp + 0x740]
push ecx
push str.PhysicalModelFile
lea ecx, [esp + 0x130]
call fcn.00565160
test eax, eax
je 0x517a5d
cmp dword [ebp + 0x14], 3
je 0x517a5d
mov eax, dword [ebp + 0x10]
lea edx, [esp + 0x840]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x517a20
lea ecx, [esp + 0x840]
call fcn.00401140
push 1
lea edx, [esi + 0x2c]
push edx
lea eax, [esp + 0x848]
push eax
push 0x5d8c94
lea ecx, [esp + 0x750]
push ecx
mov ecx, 0xa185a4
call fcn.004d1c80
push 0
push 0
push 0
lea edx, [esi + 0x94c]
push edx
push str.FixInnerSuspHeight
lea ecx, [esp + 0x13c]
call fcn.005657a0
push 0
push 0
push 0
lea eax, [esi + 0x954]
push eax
push str.CorrectedInnerSuspHeight
lea ecx, [esp + 0x13c]
call fcn.005657a0
push 0
push 0
push 0
lea ecx, [esp + 0x3f]
push ecx
push str.ApplySlowToFastDampers
lea ecx, [esp + 0x13c]
call fcn.005651f0
test eax, eax
je 0x517ac3
mov dl, byte [esp + 0x33]
mov byte [edi + 0x1b0d], dl
push 0
push 0
push 0
lea eax, [esp + 0x3f]
push eax
push str.LimitFastDampers
lea ecx, [esp + 0x13c]
call fcn.005651f0
test eax, eax
je 0x517aed
mov cl, byte [esp + 0x33]
mov byte [edi + 0x1b0e], cl
push 0
push 0
push 0
lea edx, [esi + 0x95c]
push edx
push str.AdjustSuspRates
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea eax, [esi + 0x95d]
push eax
push str.AlignWheels
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea ecx, [esi + 0x95e]
push ecx
push str.CenterWheelsOnBodyX
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea edx, [esi + 0x960]
push edx
push str.FrontWheelTrack
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0x968]
push eax
push str.RearWheelTrack
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0x970]
push ecx
push str.LeftWheelBase
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x978]
push edx
push str.RightWheelBase
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ebx, [esi + 0x980]
push ebx
push str.SpringBasedAntiSway
lea ecx, [esp + 0x13c]
call fcn.005651f0
test eax, eax
je 0x517be9
mov al, byte [ebx]
mov byte [edi + 0x1b0f], al
push 0
push 0
push 0
lea ebx, [esi + 0x981]
push ebx
push str.AllowNoAntiSway
lea ecx, [esp + 0x13c]
call fcn.005651f0
test eax, eax
je 0x517c13
mov cl, byte [ebx]
mov byte [edi + 0x1b10], cl
push 0
push 0
push 0
lea edx, [esi + 0x984]
push edx
push str.FrontAntiSwayBase
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea eax, [esi + 0x994]
push eax
lea ecx, [esi + 0x98c]
push ecx
push str.FrontAntiSwayRate
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x99c]
push edx
push str.RearAntiSwayBase
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea eax, [esi + 0x9ac]
push eax
lea ecx, [esi + 0x9a4]
push ecx
push str.RearAntiSwayRate
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x9b4]
push edx
push str.Front3rdBumpTravel
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0x9bc]
push eax
push str.Front3rdReboundTravel
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0x9c4]
push ecx
push str.Front3rdBumpStopSpring
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x9cc]
push edx
push str.Front3rdBumpStopRisingSpring
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0x9d4]
push eax
push str.Front3rdBumpStopDamper
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0x9dc]
push ecx
push str.Front3rdBumpStopRisingDamper
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x9e4]
push edx
push str.Front3rdBumpStage2
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0x9ec]
push eax
push str.Front3rdReboundStage2
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0x9f4]
push ecx
push str.Rear3rdBumpTravel
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0x9fc]
push edx
push str.Rear3rdReboundTravel
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0xa04]
push eax
push str.Rear3rdBumpStopSpring
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0xa0c]
push ecx
push str.Rear3rdBumpStopRisingSpring
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0xa14]
push edx
push str.Rear3rdBumpStopDamper
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0xa1c]
push eax
push str.Rear3rdBumpStopRisingDamper
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0xa24]
push ecx
push str.Rear3rdBumpStage2
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0xa2c]
push edx
push str.Rear3rdReboundStage2
lea ecx, [esp + 0x13c]
call fcn.00565ad0
fld1
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x130]
push str.FrontAntiSwaySetting
push str.FrontAntiSwayRange
push 6
push eax
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.RearAntiSwaySetting
push str.RearAntiSwayRange
push 7
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.00512b50
fld qword [0x5caca8]
sub esp, 8
fstp qword [esp]
push str.FrontToeInSetting
push str.FrontToeInRange
push 8
lea edx, [esp + 0x13c]
push edx
mov ecx, edi
call fcn.00512b50
fld qword [0x5caca8]
sub esp, 8
fstp qword [esp]
push str.RearToeInSetting
push str.RearToeInRange
push 9
lea eax, [esp + 0x13c]
push eax
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.LeftFenderFlareSetting
push str.LeftFenderFlareRange
push 0xa
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.RightFenderFlareSetting
push str.RightFenderFlareRange
push 0xb
lea edx, [esp + 0x13c]
push edx
mov ecx, edi
call fcn.00512b50
fld qword [0x5caca8]
sub esp, 8
fstp qword [esp]
push str.LeftCasterSetting
push str.LeftCasterRange
push 0xc
lea eax, [esp + 0x13c]
push eax
mov ecx, edi
call fcn.00512b50
fld qword [0x5caca8]
sub esp, 8
fstp qword [esp]
push str.RightCasterSetting
push str.RightCasterRange
push 0xd
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.00512b50
sub esp, 8
fld1
lea edx, [esp + 0x130]
fstp qword [esp]
mov ecx, edi
push str.LeftTrackBarSetting
push str.LeftTrackBarRange
push 0xe
push edx
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.RightTrackBarSetting
push str.RightTrackBarRange
push 0xf
lea eax, [esp + 0x13c]
push eax
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Front3rdPackerSetting
push str.Front3rdPackerRange
push 0x10
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Front3rdSpringSetting
push str.Front3rdSpringRange
push 0x11
lea edx, [esp + 0x13c]
push edx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Front3rdSlowBumpSetting
push str.Front3rdSlowBumpRange
push 0x12
lea eax, [esp + 0x13c]
push eax
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Front3rdFastBumpSetting
push str.Front3rdFastBumpRange
push 0x13
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Front3rdSlowReboundSetting
push str.Front3rdSlowReboundRange
push 0x14
lea edx, [esp + 0x13c]
push edx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Front3rdFastReboundSetting
push str.Front3rdFastReboundRange
push 0x15
lea eax, [esp + 0x13c]
push eax
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Rear3rdPackerSetting
push str.Rear3rdPackerRange
push 0x16
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Rear3rdSpringSetting
push str.Rear3rdSpringRange
push 0x17
lea edx, [esp + 0x13c]
push edx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Rear3rdSlowBumpSetting
push str.Rear3rdSlowBumpRange
push 0x18
lea eax, [esp + 0x13c]
push eax
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Rear3rdFastBumpSetting
push str.Rear3rdFastBumpRange
push 0x19
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Rear3rdSlowReboundSetting
push str.Rear3rdSlowReboundRange
push 0x1a
lea edx, [esp + 0x13c]
push edx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Rear3rdFastReboundSetting
push str.Rear3rdFastReboundRange
push 0x1b
lea eax, [esp + 0x13c]
push eax
mov ecx, edi
call fcn.00512b50
push 0x300
lea ecx, [esp + 0x444]
push ecx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
jne 0x5179d0
jmp 0x519073
lea edx, [esp + 0x440]
push str._CONTROLS_
push edx
call fcn.00588710
add esp, 8
test eax, eax
lea eax, [esp + 0x440]
je 0x518459
push 0x300
push eax
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
je 0x519073
jmp 0x5181f0
lea ecx, [esp + 0x128]
call fcn.00564e10
cmp eax, 1
je 0x519073
test eax, eax
jne 0x518433
push eax
push eax
push eax
lea ecx, [esi + 0xa34]
push ecx
push str.SteeringFFBMult
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea ebx, [esi + 0x251c]
push ebx
lea edx, [esi + 0x2514]
push edx
push str.UpshiftAlgorithm
lea ecx, [esp + 0x13c]
call fcn.00565ad0
test eax, eax
je 0x518259
fld qword [ebx]
fmul qword [0x5f7ed8]
fstp qword [ebx]
push 0
lea eax, [esi + 0x2534]
push eax
lea ecx, [esi + 0x252c]
push ecx
lea edx, [esi + 0x2524]
push edx
push str.DownshiftAlgorithm
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0xa3c]
push eax
push str.AutoUpshiftGripThresh
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea ecx, [esi + 0xa44]
push ecx
push str.AutoDownshiftGripThresh
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea edx, [esi + 0xa54]
push edx
lea eax, [esi + 0xa4c]
push eax
push str.TractionControlGrip
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea ecx, [esi + 0xa64]
push ecx
lea edx, [esi + 0xa5c]
push edx
push str.TractionControlLevel
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea eax, [esi + 0xa6d]
push eax
push str.ABS4Wheel
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
lea ecx, [esi + 0xa78]
push ecx
lea edx, [esi + 0xa70]
push edx
push str.ABSGrip
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
lea eax, [esi + 0xa88]
push eax
lea ecx, [esi + 0xa80]
push ecx
push str.ABSLevel
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push 0
push 0
push 0
lea edx, [esi + 0xa6c]
push edx
push str.OnboardBrakeBias
lea ecx, [esp + 0x13c]
call fcn.005651f0
push 0
push 0
push 0
lea eax, [esi + 0xa90]
push eax
push str.Handbrake4WDRelease
lea ecx, [esp + 0x13c]
call fcn.00565ad0
fld qword [0x5caca8]
sub esp, 8
fstp qword [esp]
push str.SteerLockSetting
push str.SteerLockRange
push 0x23
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.RearBrakeSetting
push str.RearBrakeRange
push 0x20
lea edx, [esp + 0x13c]
push edx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.BrakePressureSetting
push str.BrakePressureRange
push 0x21
lea eax, [esp + 0x13c]
push eax
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.HandbrakePressSetting
push str.HandbrakePressRange
push 0x22
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.00512b50
push 0x300
lea edx, [esp + 0x444]
push edx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
jne 0x5181f0
jmp 0x519073
push str._ENGINE_
push eax
call fcn.00588710
add esp, 8
test eax, eax
je 0x518570
xor eax, eax
push eax
push str.RestrictorPlate
push 0x20
lea ecx, [esp + 0x6c]
push ecx
mov ecx, 0xa18578
mov byte [esp + 0x70], 0
mov dword [esp + 0x71], eax
mov dword [esp + 0x75], eax
mov dword [esp + 0x79], eax
mov dword [esp + 0x7d], eax
mov dword [esp + 0x81], eax
mov dword [esp + 0x85], eax
mov dword [esp + 0x89], eax
mov word [esp + 0x8d], ax
mov byte [esp + 0x8f], al
mov byte [esp + 0x5c], al
call fcn.004d2500
test eax, eax
jne 0x51850c
lea edx, [esp + 0x60]
push str.true
push edx
call fcn.00588ead
add esp, 8
test eax, eax
je 0x518507
lea eax, [esp + 0x60]
push 0x60dcb4
push eax
call fcn.00588ead
add esp, 8
test eax, eax
je 0x518507
lea ecx, [esp + 0x60]
push ecx
call fcn.0058acaa
add esp, 4
cmp eax, 1
jne 0x51850c
mov byte [esp + 0x4c], 1
mov edx, dword [esp + 0x4c]
mov eax, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push eax
push edi
lea ecx, [esp + 0xac]
push ecx
push edx
mov ecx, esi
call fcn.00514d40
fld qword [esi + 0xaa0]
fmul qword [esi + 0xa98]
fmul dword [0x679320]
fimul dword [0x921690]
fmul dword [0xa18ec8]
fldz
fcom st(1)
fnstsw ax
test ah, 5
jp 0x518563
fstp st(0)
fld1
fdivrp st(1)
fstp qword [edi + 0x1b1c]
jmp 0x519073
fstp st(1)
fstp qword [edi + 0x1b1c]
jmp 0x519073
lea eax, [esp + 0x440]
push str._DRIVELINE_
push eax
call fcn.00588710
add esp, 8
test eax, eax
je 0x518e7e
push 0x300
lea ecx, [esp + 0x444]
push ecx
xor ebx, ebx
lea ecx, [esp + 0xa8]
mov dword [esp + 0x34], ebx
call fcn.00564c00
test eax, eax
je 0x518ca3
lea ecx, [esp + 0x128]
call fcn.00564e10
cmp eax, 1
je 0x518ca3
cmp eax, ebx
jne 0x518c82
push ebx
push ebx
push ebx
lea edx, [esi + 0x2440]
push edx
push str.ClutchEngageRate
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
push ebx
push ebx
lea eax, [esi + 0x2448]
push eax
push str.ClutchInertia
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
push ebx
push ebx
lea ecx, [esi + 0x2450]
push ecx
push str.ClutchTorque
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
push ebx
push ebx
lea edx, [esi + 0x2458]
push edx
push str.ClutchWear
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
push ebx
push ebx
lea eax, [esi + 0x2460]
push eax
push str.ClutchFriction
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
push ebx
push ebx
lea ecx, [esi + 0x2468]
push ecx
push str.BaulkTorque
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
push ebx
push ebx
lea edx, [esi + 0x2470]
push edx
push str.AllowManualOverride
lea ecx, [esp + 0x13c]
call fcn.005651f0
push ebx
push ebx
push ebx
lea eax, [esi + 0x2471]
push eax
push str.SemiAutomatic
lea ecx, [esp + 0x13c]
call fcn.005651f0
push ebx
push ebx
push ebx
lea ecx, [esi + 0x2474]
push ecx
push str.UpshiftDelay
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
push ebx
push ebx
lea edx, [esi + 0x247c]
push edx
push str.UpshiftClutchTime
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
push ebx
push ebx
lea eax, [esi + 0x2484]
push eax
push str.UpshiftLiftThrottle
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
push ebx
push ebx
lea ecx, [esi + 0x248c]
push ecx
push str.DownshiftDelay
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
push ebx
push ebx
lea edx, [esi + 0x2494]
push edx
push str.DownshiftClutchTime
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
push ebx
push ebx
lea eax, [esi + 0x249c]
push eax
push str.DownshiftBlipThrottle
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
push ebx
push ebx
lea ecx, [esi + 0x24ac]
push ecx
push str.DiffPumpTorque
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
lea edx, [esi + 0x24c4]
push edx
lea eax, [esi + 0x24bc]
push eax
lea ecx, [esi + 0x24b4]
push ecx
push str.Pump4WDEffect
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
lea edx, [esi + 0x24dc]
push edx
lea eax, [esi + 0x24d4]
push eax
lea ecx, [esi + 0x24cc]
push ecx
push str.Power4WDEffect
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
lea edx, [esi + 0x24f4]
push edx
lea eax, [esi + 0x24ec]
push eax
lea ecx, [esi + 0x24e4]
push ecx
push str.Coast4WDEffect
lea ecx, [esp + 0x13c]
call fcn.00565ad0
push ebx
lea edx, [esi + 0x250c]
push edx
lea eax, [esi + 0x2504]
push eax
lea ecx, [esi + 0x24fc]
push ecx
push str.Preload4WDEffect
lea ecx, [esp + 0x13c]
call fcn.00565ad0
lea edx, [esp + 0x740]
push edx
push str.WheelDrive
lea ecx, [esp + 0x130]
call fcn.00565160
test eax, eax
je 0x518888
lea eax, [esp + 0x740]
push str.REAR
push eax
call fcn.00588ead
add esp, 8
test eax, eax
jne 0x518840
mov dword [esi + 0x24a4], ebx
jmp 0x518888
lea ecx, [esp + 0x740]
push str.FOUR
push ecx
call fcn.00588ead
add esp, 8
test eax, eax
jne 0x518865
mov dword [esi + 0x24a4], 1
jmp 0x518888
lea edx, [esp + 0x740]
push str.FRONT
push edx
call fcn.00588ead
add esp, 8
test eax, eax
jne 0x518888
mov dword [esi + 0x24a4], 2
lea eax, [esp + 0x740]
push eax
push str.GearFile
lea ecx, [esp + 0x130]
call fcn.00565160
test eax, eax
je 0x518933
cmp dword [ebp + 0x14], 3
je 0x518933
mov eax, dword [ebp + 0x10]
lea edx, [esp + 0x840]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x5188c0
lea ecx, [esp + 0x840]
call fcn.00401140
push 1
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x848]
push edx
push str..INI
lea eax, [esp + 0x750]
push eax
mov ecx, 0xa185a4
call fcn.004d1c80
test eax, eax
jne 0x518933
cmp dword [ebp + 0x14], 2
je 0x51891d
mov eax, dword [esp + 0x3c]
cmp eax, ebx
jne 0x518915
mov eax, 0x5ad73f
push eax
mov ecx, edi
call fcn.0043e850
mov eax, dword [esp + 0x3c]
cmp eax, ebx
jne 0x51892a
mov eax, 0x5ad73f
push eax
lea ecx, [esi + 0xc]
call fcn.00566e70
push ebx
push ebx
push ebx
lea ecx, [esp + 0x3e]
push ecx
push str.AllowFinalDriveChanges
lea ecx, [esp + 0x13c]
call fcn.005651f0
test eax, eax
je 0x51895e
cmp byte [esp + 0x32], 0
sete dl
mov byte [edi + 0x17ce], dl
push ebx
push ebx
push ebx
lea eax, [esp + 0x3e]
push eax
push str.AllowGearingChanges
lea ecx, [esp + 0x13c]
call fcn.005651f0
test eax, eax
je 0x5189b3
cmp byte [esp + 0x32], 0
sete al
mov byte [edi + 0x180e], al
mov byte [edi + 0x184e], al
mov byte [edi + 0x188e], al
mov byte [edi + 0x18ce], al
mov byte [edi + 0x190e], al
mov byte [edi + 0x194e], al
mov byte [edi + 0x198e], al
mov byte [edi + 0x19ce], al
push ebx
push ebx
push ebx
lea ecx, [esi + 0x24a8]
push ecx
push str.ForwardGears
lea ecx, [esp + 0x13c]
call fcn.00565360
push ebx
push ebx
push ebx
lea edx, [esp + 0x44]
push edx
push str.Gear1Setting
lea ecx, [esp + 0x13c]
call fcn.00565360
test eax, eax
je 0x5189f0
add dword [esp + 0x2c], 1
push ebx
push ebx
push ebx
lea eax, [esp + 0x44]
push eax
push str.Gear2Setting
lea ecx, [esp + 0x13c]
call fcn.00565360
test eax, eax
je 0x518a12
add dword [esp + 0x2c], 1
push ebx
push ebx
push ebx
lea ecx, [esp + 0x44]
push ecx
push str.Gear3Setting
lea ecx, [esp + 0x13c]
call fcn.00565360
test eax, eax
je 0x518a34
add dword [esp + 0x2c], 1
push ebx
push ebx
push ebx
lea edx, [esp + 0x44]
push edx
push str.Gear4Setting
lea ecx, [esp + 0x13c]
call fcn.00565360
test eax, eax
je 0x518a56
add dword [esp + 0x2c], 1
push ebx
push ebx
push ebx
lea eax, [esp + 0x44]
push eax
push str.Gear5Setting
lea ecx, [esp + 0x13c]
call fcn.00565360
test eax, eax
je 0x518a78
add dword [esp + 0x2c], 1
push ebx
push ebx
push ebx
lea ecx, [esp + 0x44]
push ecx
push str.Gear6Setting
lea ecx, [esp + 0x13c]
call fcn.00565360
test eax, eax
je 0x518a9a
add dword [esp + 0x2c], 1
push ebx
push ebx
push ebx
lea edx, [esp + 0x44]
push edx
push str.Gear7Setting
lea ecx, [esp + 0x13c]
call fcn.00565360
test eax, eax
je 0x518abc
add dword [esp + 0x2c], 1
fld1
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x130]
push str.FinalDriveSetting
push ebx
push 0x2c
push eax
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.ReverseSetting
push ebx
push 0x2d
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Gear1Setting
push ebx
push 0x2e
lea edx, [esp + 0x13c]
push edx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Gear2Setting
push ebx
push 0x2f
lea eax, [esp + 0x13c]
push eax
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Gear3Setting
push ebx
push 0x30
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Gear4Setting
push ebx
push 0x31
lea edx, [esp + 0x13c]
push edx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Gear5Setting
push ebx
push 0x32
lea eax, [esp + 0x13c]
push eax
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.Gear6Setting
push ebx
push 0x33
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.00512b50
sub esp, 8
fld1
lea edx, [esp + 0x130]
fstp qword [esp]
mov ecx, edi
push str.Gear7Setting
push ebx
push 0x34
push edx
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.DiffPumpSetting
push str.DiffPumpRange
push 0x24
lea eax, [esp + 0x13c]
push eax
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.DiffPowerSetting
push str.DiffPowerRange
push 0x25
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.DiffCoastSetting
push str.DiffCoastRange
push 0x26
lea edx, [esp + 0x13c]
push edx
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.DiffPreloadSetting
push str.DiffPreloadRange
push 0x27
lea eax, [esp + 0x13c]
push eax
mov ecx, edi
call fcn.00512b50
fld1
sub esp, 8
fstp qword [esp]
push str.RearSplitSetting
push str.RearSplitRange
push 0x28
lea ecx, [esp + 0x13c]
push ecx
mov ecx, edi
call fcn.00512b50
push 0x300
lea edx, [esp + 0x444]
push edx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
jne 0x5185b4
cmp dword [ebp + 0x14], ebx
jne 0x518d14
mov eax, dword [edi + 0x17c4]
mov ecx, dword [edi + 0x1804]
mov edx, dword [edi + 0x1844]
mov dword [edi + 0x17c8], eax
mov eax, dword [edi + 0x1884]
mov dword [edi + 0x1808], ecx
mov ecx, dword [edi + 0x18c4]
mov dword [edi + 0x1848], edx
mov edx, dword [edi + 0x1904]
mov dword [edi + 0x1888], eax
mov eax, dword [edi + 0x1944]
mov dword [edi + 0x18c8], ecx
mov ecx, dword [edi + 0x1984]
mov dword [edi + 0x1908], edx
mov edx, dword [edi + 0x19c4]
mov dword [edi + 0x1948], eax
mov dword [edi + 0x1988], ecx
mov dword [edi + 0x19c8], edx
mov ecx, dword [esi + 0x24a8]
mov eax, 0x2e
add ecx, eax
cmp ecx, eax
jle 0x518d4b
lea ecx, [edi + 0x184c]
jmp 0x518d30
mov byte [ecx], 1
mov edx, dword [esi + 0x24a8]
add eax, 1
add edx, 0x2e
add ecx, 0x40
cmp eax, edx
jl 0x518d30
cmp eax, 0x34
jg 0x518d6b
mov ecx, eax
shl ecx, 6
mov edx, 0x35
lea ecx, [ecx + edi + 0xccc]
sub edx, eax
mov edi, edi
mov byte [ecx], 0
add ecx, 0x40
sub edx, 1
jne 0x518d60
mov edx, dword [esi + 0x24a8]
cmp edx, 1
jle 0x519073
mov ecx, dword [esp + 0x2c]
cmp ecx, 1
jle 0x519073
cmp edx, ecx
je 0x519073
xor eax, eax
test ecx, ecx
jle 0x518db2
lea ecx, [edi + 0x1844]
jmp 0x518da0
mov ebx, dword [ecx]
mov dword [esp + eax*4 + 0x60], ebx
add eax, 1
add ecx, 0x40
cmp eax, dword [esp + 0x2c]
jl 0x518da0
test edx, edx
mov dword [esp + 0x48], 0
jle 0x519073
mov edx, dword [esp + 0x2c]
fld dword [0x5ad750]
fldz
add edx, 0xffffffff
mov dword [esp + 0x50], edx
mov dword [esp + 0x34], 0
lea ebx, [edi + 0x1844]
mov eax, dword [esi + 0x24a8]
fild dword [esp + 0x34]
sub eax, 1
mov dword [esp + 0x44], eax
fidiv dword [esp + 0x44]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x518e09
mov eax, dword [esp + 0x60]
fstp st(0)
jmp 0x518e48
fild dword [esp + 0x50]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x518e22
mov ecx, dword [esp + 0x2c]
fstp st(0)
mov eax, dword [esp + ecx*4 + 0x5c]
jmp 0x518e48
fld st(0)
call fcn.00588a90
fild dword [esp + eax*4 + 0x60]
fild dword [esp + eax*4 + 0x64]
mov dword [esp + 0x44], eax
fsub st(1)
fild dword [esp + 0x44]
fsubp st(3)
fmulp st(2)
faddp st(1)
fadd st(2)
call fcn.00588a90
test eax, eax
jl 0x518e53
cmp eax, dword [ebx - 4]
jge 0x518e53
mov dword [ebx], eax
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x50]
add dword [esp + 0x34], edx
add eax, 1
add ebx, 0x40
cmp eax, dword [esi + 0x24a8]
mov dword [esp + 0x48], eax
jl 0x518de3
fstp st(1)
fstp st(0)
jmp 0x519073
lea eax, [esp + 0x440]
push str._FRONTLEFT_
push eax
call fcn.00588710
add esp, 8
test eax, eax
je 0x518eba
push edi
lea ecx, [esp + 0x12c]
push ecx
lea edx, [esp + 0xa8]
push edx
push 0
lea ecx, [esi + 0x2678]
call fcn.00513450
jmp 0x519073
lea eax, [esp + 0x440]
push str._FRONTRIGHT_
push eax
call fcn.00588710
add esp, 8
test eax, eax
je 0x518ef6
push edi
lea ecx, [esp + 0x12c]
push ecx
lea edx, [esp + 0xa8]
push edx
push 1
lea ecx, [esi + 0x27b0]
call fcn.00513450
jmp 0x519073
lea eax, [esp + 0x440]
push str._REARLEFT_
push eax
call fcn.00588710
add esp, 8
test eax, eax
je 0x518f32
push edi
lea ecx, [esp + 0x12c]
push ecx
lea edx, [esp + 0xa8]
push edx
push 2
lea ecx, [esi + 0x28e8]
call fcn.00513450
jmp 0x519073
lea eax, [esp + 0x440]
push str._REARRIGHT_
push eax
call fcn.00588710
add esp, 8
test eax, eax
je 0x518f6e
push edi
lea ecx, [esp + 0x12c]
push ecx
lea edx, [esp + 0xa8]
push edx
push 3
lea ecx, [esi + 0x2a20]
call fcn.00513450
jmp 0x519073
lea eax, [esp + 0x440]
push str._BASIC_
push eax
call fcn.00588710
add esp, 8
test eax, eax
je 0x519073
push 0x300
lea ecx, [esp + 0x444]
push ecx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
je 0x519073
lea esp, [esp]
lea ecx, [esp + 0x128]
call fcn.00564e10
cmp eax, 1
je 0x519073
test eax, eax
jne 0x519052
push str.Downforce
push eax
lea edx, [esp + 0x130]
push edx
mov ecx, edi
call fcn.0043fdc0
push str.Balance
push 1
lea eax, [esp + 0x130]
push eax
mov ecx, edi
call fcn.0043fdc0
push str.Ride
push 2
lea ecx, [esp + 0x130]
push ecx
mov ecx, edi
call fcn.0043fdc0
push str.Gearing
push 3
lea edx, [esp + 0x130]
push edx
mov ecx, edi
call fcn.0043fdc0
push 0
push 0
push 0
lea eax, [esp + 0x68]
push eax
push str.Custom
lea ecx, [esp + 0x13c]
call fcn.00565360
test eax, eax
je 0x519052
cmp dword [esp + 0x5c], 0
setne cl
mov byte [edi + 0x1bd0], cl
push 0x300
lea edx, [esp + 0x444]
push edx
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
jne 0x518fb0
push 0x300
lea eax, [esp + 0x444]
push eax
lea ecx, [esp + 0xa8]
call fcn.00564c00
test eax, eax
jne 0x515b41
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, edi
call fcn.00440070
lea ecx, [esp + 0xa0]
call fcn.00563940
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.00588796
add esp, 4
lea ecx, [esp + 0xa0]
call fcn.00564980
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [esp + 0x3c]
push edx
call fcn.00588796
add esp, 4
lea ecx, [esp + 0xa0]
call fcn.00564980
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 0x10