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

Disassembly:
push esi
mov esi, dword [esp + 8]
cmp dword [esi], 0
push edi
mov edi, ecx
je 0x4c26f6
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4c244e
push eax
push esi
call fcn.00566c30
push 0x5c30b4
push esi
call fcn.00566c30
add esp, 0x10
mov eax, dword [edi + 0x20]
push eax
push str.AbortedSeasons_d_n
push esi
call fcn.00566c30
mov ecx, dword [edi + 0x24]
push ecx
push str.TotalLaps_d_n
push esi
call fcn.00566c30
mov edx, dword [edi + 0x28]
push edx
push str.TotalRaces_d_n
push esi
call fcn.00566c30
mov eax, dword [edi + 0x2c]
push eax
push str.TotalRacesWithAI_d_n
push esi
call fcn.00566c30
mov ecx, dword [edi + 0x30]
push ecx
push str.TotalPointsScored_d_n
push esi
call fcn.00566c30
mov edx, dword [edi + 0x34]
push edx
push str.TotalChampionships_d_n
push esi
call fcn.00566c30
mov eax, dword [edi + 0x38]
add esp, 0x48
push eax
push str.TotalWins_d_n
push esi
call fcn.00566c30
mov ecx, dword [edi + 0x3c]
push ecx
push str.TotalPoles_d_n
push esi
call fcn.00566c30
mov edx, dword [edi + 0x40]
push edx
push str.TotalLapRecords_d_n
push esi
call fcn.00566c30
fld dword [edi + 0x44]
add esp, 0x1c
fstp qword [esp]
push str.AvgStartPosition_f_n
push esi
call fcn.00566c30
fld dword [edi + 0x48]
add esp, 8
fstp qword [esp]
push str.AvgFinishPosition_f_n
push esi
call fcn.00566c30
fld dword [edi + 0x4c]
add esp, 8
fstp qword [esp]
push str.AvgRaceDistance_f_n
push esi
call fcn.00566c30
fld dword [edi + 0x50]
add esp, 8
fstp qword [esp]
push str.AvgOpponentStrength_f_n
push esi
call fcn.00566c30
push str.___Championship_Settings__these_are_per_GDB_settings_which_override_the_plr_file_values_when_a_new_game_GDB___season___is_seleted:_n
push esi
call fcn.00566c30
mov eax, dword [edi + 0x54]
push eax
push str.MECHFAIL_rate_d_n
push esi
call fcn.00566c30
mov ecx, dword [edi + 0x58]
push ecx
push str.RACECOND_reconnaissance_d_n
push esi
call fcn.00566c30
mov edx, dword [edi + 0x5c]
push edx
push str.RACECOND_walkthrough_d_n
push esi
call fcn.00566c30
mov eax, dword [edi + 0x60]
push eax
push str.RACECOND_formation_d_n
push esi
call fcn.00566c30
mov ecx, dword [edi + 0x64]
add esp, 0x48
push ecx
push str.RACECOND_flag_rules_d_n
push esi
call fcn.00566c30
mov edx, dword [edi + 0x68]
push edx
push str.RACECOND_weather_d_n
push esi
call fcn.00566c30
movzx eax, byte [edi + 0x6c]
push eax
push str.RACECOND_timescaled_weather_d_n
push esi
call fcn.00566c30
mov ecx, dword [edi + 0x70]
push ecx
push str.GAMEOPT_qualify_laps_d_n
push esi
call fcn.00566c30
mov edx, dword [edi + 0x74]
push edx
push str.GAMEOPT_race_laps_d_n
push esi
call fcn.00566c30
mov eax, dword [edi + 0x78]
push eax
push str.GAMEOPT_race_time_d_n
push esi
call fcn.00566c30
fld dword [edi + 0x7c]
add esp, 0x48
sub esp, 8
fstp qword [esp]
push str.GAMEOPT_race_length_f_n
push esi
call fcn.00566c30
mov ecx, dword [edi + 0x80]
push ecx
push str.GAMEOPT_opponents_d_n
push esi
call fcn.00566c30
mov edx, dword [edi + 0x84]
push edx
push str.GAMEOPT_fuel_mult_d_n
push esi
call fcn.00566c30
mov eax, dword [edi + 0x88]
push eax
push str.GAMEOPT_tire_mult_d_n
push esi
call fcn.00566c30
mov ecx, dword [edi + 0x8c]
push ecx
push str.GAMEOPT_speed_comp_d_n
push esi
call fcn.00566c30
mov eax, dword [edi + 4]
add esp, 0x40
test eax, eax
mov dword [edi + 8], eax
je 0x4c2664
mov eax, dword [eax]
test eax, eax
je 0x4c2664
nop
push str._CAREERSEASON_
push esi
mov ecx, eax
call fcn.004c0cc0
mov eax, dword [edi + 8]
test eax, eax
je 0x4c2664
mov eax, dword [eax + 4]
test eax, eax
mov dword [edi + 8], eax
je 0x4c2664
mov eax, dword [eax]
test eax, eax
jne 0x4c2640
mov eax, dword [edi + 0x10]
test eax, eax
mov dword [edi + 0x18], eax
je 0x4c26e8
push ebx
mov ebx, dword [eax]
test ebx, ebx
je 0x4c26e7
push str._PLAYERTRACKSTAT_
push 0x5c4064
push esi
call fcn.00566c30
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
push edx
push eax
push str.TrackName_s_n
push esi
call fcn.00566c30
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
push edx
push str.TrackFile_s_n
push esi
call fcn.00566c30
mov eax, dword [ebx + 0x10]
push eax
push str.TotalNumLaps_d_n
push esi
call fcn.00566c30
fld dword [ebx + 0x14]
add esp, 0x30
fstp qword [esp]
push str.BestLapTime_f_n
push esi
call fcn.00566c30
mov eax, dword [edi + 0x18]
add esp, 0x10
test eax, eax
je 0x4c26e7
mov eax, dword [eax + 4]
test eax, eax
mov dword [edi + 0x18], eax
je 0x4c26e7
mov ebx, dword [eax]
test ebx, ebx
jne 0x4c2675
pop ebx
push 0x5c30b4
push esi
call fcn.00566c30
add esp, 8
pop edi
xor al, al
pop esi
ret 8