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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x104
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [eax]
xor ebp, ebp
cmp ecx, ebp
push edi
je 0x4c1eca
mov ebx, dword [esp + 0x118]
push 0x100
push 0x8ac1e8
mov ecx, ebx
call fcn.00566cc0
test eax, eax
je 0x4c1eca
mov ecx, 0x8ac050
call fcn.005651b0
sub eax, ebp
je 0x4c1ed9
dec eax
je 0x4c1eca
sub eax, 3
jne 0x4c1e98
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x104
ret 4
push str._CAREERSEASON_
push 0x8ac1e8
call fcn.00587c20
add esp, 8
test eax, eax
je 0x4c1f82
push 0xb154
call fcn.00587c03
add esp, 4
cmp eax, ebp
je 0x4c1f0f
mov ecx, eax
call fcn.004c0ab0
mov edi, eax
jmp 0x4c1f11
xor edi, edi
push ebx
mov ecx, edi
call fcn.004c0b70
test al, al
je 0x4c1f65
cmp edi, ebp
je 0x4c1e98
push 0xc
call fcn.00587c03
add esp, 4
cmp eax, ebp
je 0x4c1f3e
mov dword [eax], edi
mov dword [eax + 4], ebp
mov byte [eax + 8], 1
jmp 0x4c1f40
xor eax, eax
cmp dword [esi], ebp
jne 0x4c1f54
mov dword [esi], eax
mov dword [esi + 8], eax
mov dword [esi + 4], eax
inc dword [esi + 0xc]
jmp 0x4c1e98
mov ecx, dword [esi + 4]
mov dword [ecx + 4], eax
mov dword [esi + 4], eax
inc dword [esi + 0xc]
jmp 0x4c1e98
cmp edi, ebp
je 0x4c1e98
mov ecx, edi
call fcn.004c0b10
push edi
call fcn.00587bcf
add esp, 4
jmp 0x4c1e98
push str._PLAYERTRACKSTAT_
push 0x8ac1e8
call fcn.00587c20
add esp, 8
test eax, eax
je 0x4c1fa5
push ebx
mov ecx, esi
call fcn.004c18b0
jmp 0x4c1e98
push ebp
push ebp
push ebp
lea edx, [esi + 0x20]
push edx
push str.ABORTEDSEASONS
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea eax, [esi + 0x24]
push eax
push str.TOTALLAPS
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea ecx, [esi + 0x28]
push ecx
push str.TOTALRACES
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea edx, [esi + 0x2c]
push edx
push str.TOTALRACESWITHAI
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea eax, [esi + 0x30]
push eax
push str.TOTALPOINTSSCORED
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea ecx, [esi + 0x34]
push ecx
push str.TOTALCHAMPIONSHIPS
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea edx, [esi + 0x38]
push edx
push str.TOTALWINS
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea eax, [esi + 0x3c]
push eax
push str.TOTALPOLES
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea ecx, [esi + 0x40]
push ecx
push str.TOTALLAPRECORDS
mov ecx, 0x8ac050
call fcn.00565760
push ebp
lea edx, [esp + 0x18]
push edx
push str.AVGSTARTPOSITION
mov ecx, 0x8ac050
call fcn.00565520
test eax, eax
je 0x4c2094
lea eax, [esp + 0x14]
push eax
call fcn.0058850f
fstp dword [esi + 0x44]
add esp, 4
push ebp
lea ecx, [esp + 0x18]
push ecx
push str.AVGFINISHPOSITION
mov ecx, 0x8ac050
call fcn.00565520
test eax, eax
je 0x4c20bd
lea edx, [esp + 0x14]
push edx
call fcn.0058850f
fstp dword [esi + 0x48]
add esp, 4
push ebp
lea eax, [esp + 0x18]
push eax
push str.AVGRACEDISTANCE
mov ecx, 0x8ac050
call fcn.00565520
test eax, eax
je 0x4c20e6
lea ecx, [esp + 0x14]
push ecx
call fcn.0058850f
fstp dword [esi + 0x4c]
add esp, 4
push ebp
lea edx, [esp + 0x18]
push edx
push str.AVGOPPONENTSTRENGTH
mov ecx, 0x8ac050
call fcn.00565520
test eax, eax
je 0x4c210f
lea eax, [esp + 0x14]
push eax
call fcn.0058850f
fstp dword [esi + 0x50]
add esp, 4
push ebp
push ebp
push ebp
lea ecx, [esp + 0x1c]
push ecx
push str.MECHFAIL_rate
mov ecx, 0x8ac050
mov dword [esp + 0x24], ebp
call fcn.00565760
test eax, eax
je 0x4c2135
mov edx, dword [esp + 0x10]
mov dword [esi + 0x54], edx
push ebp
push ebp
push ebp
lea eax, [esi + 0x58]
push eax
push str.RACECOND_reconnaissance
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea ecx, [esi + 0x5c]
push ecx
push str.RACECOND_walkthrough
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea edx, [esi + 0x60]
push edx
push str.RACECOND_formation
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea eax, [esi + 0x64]
push eax
push str.RACECOND_flag_rules
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea ecx, [esp + 0x1c]
push ecx
push str.RACECOND_weather
mov ecx, 0x8ac050
call fcn.00565760
test eax, eax
je 0x4c21af
mov edx, dword [esp + 0x10]
mov dword [esi + 0x68], edx
push ebp
push ebp
push ebp
lea eax, [esp + 0x1c]
push eax
push str.RACECOND_timescaled_weather
mov ecx, 0x8ac050
call fcn.00565760
test eax, eax
je 0x4c21d4
cmp dword [esp + 0x10], ebp
setne cl
mov byte [esi + 0x6c], cl
push ebp
push ebp
push ebp
lea edx, [esi + 0x70]
push edx
push str.GAMEOPT_qualify_laps
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea eax, [esi + 0x74]
push eax
push str.GAMEOPT_race_laps
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea ecx, [esi + 0x78]
push ecx
push str.GAMEOPT_race_time
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea edx, [esi + 0x7c]
push edx
push str.GAMEOPT_race_length
mov ecx, 0x8ac050
call fcn.00565870
push ebp
push ebp
push ebp
lea eax, [esi + 0x80]
push eax
push str.GAMEOPT_opponents
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea ecx, [esi + 0x84]
push ecx
push str.GAMEOPT_fuel_mult
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea edx, [esi + 0x88]
push edx
push str.GAMEOPT_tire_mult
mov ecx, 0x8ac050
call fcn.00565760
push ebp
push ebp
push ebp
lea eax, [esi + 0x8c]
push eax
push str.GAMEOPT_speed_comp
mov ecx, 0x8ac050
call fcn.00565760
jmp 0x4c1e98