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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x494
push ebx
push esi
push edi
mov esi, ecx
xor ebx, ebx
xor eax, eax
mov ecx, 0x60
lea edi, [esp + 0x2a0]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 8]
push 0x180
lea eax, [esp + 0x2a4]
push eax
mov byte [esp + 0x27], 0
mov dword [esp + 0x58], 0x47ae147b
mov dword [esp + 0x5c], 0x3f847ae1
mov dword [esp + 0x38], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x290], ebx
mov dword [esp + 0x2a4], ebx
mov dword [esp + 0x29c], ebx
mov dword [esp + 0x2a0], ebx
mov byte [esp + 0x294], 1
call fcn.00566cc0
test eax, eax
je 0x4d61cc
lea ecx, [esp + 0x108]
call fcn.005651b0
cmp eax, 1
je 0x4d61cc
cmp eax, 4
je 0x4d61cc
test eax, eax
jne 0x4d61af
mov al, byte [esp + 0x1f]
test al, al
jne 0x4d6092
lea ecx, [esp + 0x420]
push ecx
push str.Name
lea ecx, [esp + 0x110]
call fcn.005654a0
test eax, eax
je 0x4d604f
lea edx, [esp + 0x420]
push edx
mov ecx, esi
call fcn.00566650
push 0
push 0
push 0
lea eax, [esp + 0x5c]
push eax
push str.Step
lea ecx, [esp + 0x11c]
call fcn.00565aa0
lea ecx, [esp + 0x2a0]
push str.DATA:
push ecx
call fcn.00587c20
add esp, 8
test eax, eax
je 0x4d61af
mov byte [esp + 0x1f], 1
jmp 0x4d61af
lea edx, [esp + 0x2a0]
push 0x5d46fc
push edx
call fcn.005897ca
mov edi, eax
add esp, 8
test edi, edi
je 0x4d61af
lea eax, [ebx*8]
mov dword [esp + 0x10], eax
lea esp, [esp]
lea ecx, [esp + 0x40]
push ecx
push 0x5d46f8
push edi
call fcn.005887ed
add esp, 0xc
cmp eax, 1
jne 0x4d6159
mov eax, dword [esp + 0x20]
cmp ebx, eax
jl 0x4d613c
add eax, 0x80
lea edx, [eax*8]
push edx
mov dword [esp + 0x24], eax
call fcn.00587c03
mov edi, eax
mov eax, dword [esp + 0x14]
add esp, 4
test eax, eax
jle 0x4d6127
mov ecx, dword [esp + 0x2c]
mov eax, edi
sub ecx, edi
mov edx, ebx
mov ebx, dword [ecx + eax]
mov dword [eax], ebx
mov ebx, dword [ecx + eax + 4]
mov dword [eax + 4], ebx
add eax, 8
dec edx
jne 0x4d6111
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4d6138
push eax
call fcn.00587bcf
add esp, 4
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x10]
fld qword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
inc ebx
fstp qword [eax + ecx]
add eax, 8
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], eax
jmp 0x4d6196
push 0x11f
push str.D:devF1_1999_2002Source_tire_manager.cpp
push 1
mov ecx, 0x8ad25c
call fcn.004d7a50
test al, al
je 0x4d6192
mov eax, dword [esi]
test eax, eax
jne 0x4d617e
mov eax, 0x5ea438
push eax
push edi
push str.Skipping_unexpected_data_point___s__in_tire_slip_curve___s_
push 0x8ad25c
call fcn.004d7aa0
add esp, 0x10
mov ebx, dword [esp + 0x30]
push 0x5d46fc
push 0
call fcn.005897ca
mov edi, eax
add esp, 8
test edi, edi
jne 0x4d60c0
mov ecx, dword [ebp + 8]
push 0x180
lea edx, [esp + 0x2a4]
push edx
call fcn.00566cc0
test eax, eax
jne 0x4d5ff5
fld qword [esp + 0x50]
fcomp qword [0x59e430]
fnstsw ax
test ah, 0x41
jp 0x4d6222
push 0x12d
push str.D:devF1_1999_2002Source_tire_manager.cpp
push 1
mov ecx, 0x8ad25c
call fcn.004d7a50
test al, al
je 0x4d67f5
mov esi, dword [esi]
test esi, esi
jne 0x4d6206
mov esi, 0x5ea438
push esi
push str.Tire_slip_curve_step_must_be_positive_for_curve___s_
push 0x8ad25c
call fcn.004d7aa0
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp ebx, 3
jge 0x4d626e
push 0x136
push str.D:devF1_1999_2002Source_tire_manager.cpp
push 1
mov ecx, 0x8ad25c
call fcn.004d7a50
test al, al
je 0x4d67f5
mov esi, dword [esi]
test esi, esi
jne 0x4d6250
mov esi, 0x5ea438
push esi
push 3
push str.Need_at_least__d_data_points_found_for_tire_slip_curve___s_
push 0x8ad25c
call fcn.004d7aa0
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, dword [esp + 0x2c]
fld qword [edi]
fcomp qword [0x59e430]
fnstsw ax
test ah, 0x44
jnp 0x4d62c6
push 0x13e
push str.D:devF1_1999_2002Source_tire_manager.cpp
push 1
mov ecx, 0x8ad25c
call fcn.004d7a50
test al, al
je 0x4d67f5
mov esi, dword [esi]
test esi, esi
jne 0x4d62aa
mov esi, 0x5ea438
push esi
push str.First_data_point_must_be_zero_in_tire_slip_curve___s_
push 0x8ad25c
call fcn.004d7aa0
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [esi + 0x10], ebx
shl ebx, 5
push ebx
call fcn.00587c03
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x10]
add esp, 4
cmp eax, 3
jle 0x4d62f7
fld qword [edi + 0x10]
fsub qword [edi]
fadd st(0), st(0)
fld qword [edi + 0x18]
fsub qword [edi + 8]
fsubp st(1)
fmul qword [0x59e880]
jmp 0x4d62fc
fld qword [edi + 8]
fsub qword [edi]
xor edx, edx
xor eax, eax
lea ecx, [esp + 0x58]
mov dword [esp + eax*4 + 0xf8], ecx
inc eax
add ecx, 0x28
cmp eax, 4
jl 0x4d6304
xor ecx, ecx
xor edi, edi
mov eax, dword [esi + 0x10]
lea ebx, [eax - 2]
cmp ecx, ebx
mov dword [esp + 0x30], ecx
jge 0x4d633d
mov edx, dword [esp + 0x2c]
fld qword [edx + ecx*8 + 0x10]
fsub qword [edx + ecx*8]
fmul qword [0x59e880]
fstp qword [esp + 0x38]
jmp 0x4d635a
dec eax
cmp ecx, eax
jge 0x4d656f
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
fild dword [esp + 0x30]
lea eax, [ecx*8]
fstp qword [esp + 0x20]
fld qword [eax + edx]
mov ebx, dword [esp + 0x24]
fst qword [esp + 0x30]
mov edx, dword [esp + 0x20]
fld qword [esp + 0x20]
mov dword [esp + 0x6c], ebx
fmul qword [esp + 0x20]
lea ebx, [ecx + 1]
fld qword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], ebx
fmul st(1)
mov dword [esp + 0x68], edx
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0x3ff00000
fstp qword [esp + 0x58]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0x3ff00000
fst qword [esp + 0x60]
mov dword [esp + 0x98], 0
fxch st(1)
mov dword [esp + 0x9c], 0
fstp qword [esp + 0x78]
fmul qword [0x59e7e0]
fstp qword [esp + 0x80]
fld qword [esp + 0x20]
fadd st(0), st(0)
fstp qword [esp + 0x88]
fstp qword [esp + 0xa0]
fild dword [esp + 0x10]
fstp qword [esp + 0x10]
fld qword [eax + ecx + 8]
mov edx, dword [esp + 0x10]
fst qword [esp + 0x48]
mov ecx, dword [esp + 0x38]
fld qword [esp + 0x10]
mov eax, dword [esp + 0x14]
fmul qword [esp + 0x10]
mov dword [esp + 0xb8], edx
fld qword [esp + 0x10]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xf0], ecx
fmul st(1)
mov dword [esp + 0xf4], edx
mov edx, 4
lea ecx, [esp + 0xf8]
fstp qword [esp + 0xa8]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], 0
fst qword [esp + 0xb0]
mov dword [esp + 0xc4], 0x3ff00000
fxch st(1)
mov dword [esp + 0xe0], 0
fstp qword [esp + 0xc8]
mov dword [esp + 0xe4], 0x3ff00000
mov dword [esp + 0xe8], 0
fmul qword [0x59e7e0]
mov dword [esp + 0xec], 0
fstp qword [esp + 0xd0]
fld qword [esp + 0x10]
fadd st(0), st(0)
fstp qword [esp + 0xd8]
call fcn.005677b0
test eax, eax
jne 0x4d651a
mov eax, dword [esi + 0x14]
fld qword [esp + 0x78]
fstp qword [edi + eax]
mov ecx, dword [esi + 0x14]
fld qword [esp + 0xa0]
add edi, 0x20
fstp qword [ecx + edi - 0x18]
mov edx, dword [esi + 0x14]
fld qword [esp + 0xc8]
mov ecx, ebx
fstp qword [edx + edi - 0x10]
mov eax, dword [esi + 0x14]
fld qword [esp + 0xf0]
xor edx, edx
fstp qword [eax + edi - 8]
fld qword [esp + 0x38]
jmp 0x4d6318
fld qword [esp + 0x48]
mov ecx, dword [esi + 0x14]
fsub qword [esp + 0x30]
xor eax, eax
fld qword [esp + 0x10]
mov dword [edi + ecx], eax
fsub qword [esp + 0x20]
mov dword [edi + ecx + 4], eax
mov edx, dword [esi + 0x14]
fdivp st(1)
mov dword [edx + edi + 8], eax
mov dword [edx + edi + 0xc], eax
mov eax, dword [esi + 0x14]
fstp qword [eax + edi + 0x10]
fld qword [esp + 0x20]
mov ecx, dword [esi + 0x14]
fmul qword [ecx + edi + 0x10]
lea eax, [ecx + edi]
add edi, 0x20
mov ecx, ebx
xor edx, edx
fsubr qword [esp + 0x30]
fstp qword [eax + 0x18]
fld qword [esp + 0x38]
jmp 0x4d6318
mov edi, dword [esi + 0x14]
fstp st(0)
fld qword [0x59e430]
mov eax, ecx
shl eax, 5
mov dword [eax + edi], edx
mov dword [eax + edi + 4], edx
mov edi, dword [esi + 0x14]
mov dword [eax + edi + 8], edx
mov dword [eax + edi + 0xc], edx
mov edi, dword [esi + 0x14]
mov dword [eax + edi + 0x10], edx
mov dword [eax + edi + 0x14], edx
mov edx, dword [esp + 0x2c]
mov ebx, dword [edx + ecx*8]
mov edi, dword [esi + 0x14]
mov dword [eax + edi + 0x18], ebx
mov edx, dword [edx + ecx*8 + 4]
mov dword [eax + edi + 0x1c], edx
mov ebx, dword [esi + 0x10]
xor edi, edi
cmp ebx, edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov dword [esp + 0x30], edi
jle 0x4d678c
mov ecx, dword [esi + 0x14]
lea esp, [esp]
fild dword [esp + 0x30]
fst qword [esp + 0x38]
fld st(0)
fmul qword [ecx]
fadd qword [ecx + 8]
fmul st(1)
fadd qword [ecx + 0x10]
fmulp st(1)
fadd qword [ecx + 0x18]
fst qword [esp + 0x40]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4d660a
mov eax, dword [esp + 0x38]
fstp st(0)
mov edx, dword [esp + 0x3c]
fld qword [esp + 0x40]
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
fld qword [ecx]
fmul qword [0x59e7e0]
fst qword [esp + 0x20]
fcomp qword [0x59e430]
fnstsw ax
test ah, 0x44
jnp 0x4d673e
fld qword [ecx + 8]
fadd st(0), st(0)
fst qword [esp + 0x30]
fmul qword [esp + 0x30]
fld qword [ecx + 0x10]
fmul qword [esp + 0x20]
fmul qword [0x59e7d8]
fsubp st(1)
fcom qword [0x59e430]
fnstsw ax
test ah, 1
jne 0x4d673c
fsqrt
fstp qword [esp + 0x48]
fld qword [0x59ec10]
fdiv qword [esp + 0x20]
fstp qword [esp + 0x40]
fld qword [esp + 0x48]
fadd qword [esp + 0x30]
fmul qword [esp + 0x40]
fst qword [esp + 0x10]
fcomp qword [esp + 0x38]
fnstsw ax
test ah, 0x41
jne 0x4d66d1
lea eax, [edi + 1]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x4d66d1
fld qword [esp + 0x10]
fmul qword [ecx]
fadd qword [ecx + 8]
fmul qword [esp + 0x10]
fadd qword [ecx + 0x10]
fmul qword [esp + 0x10]
fadd qword [ecx + 0x18]
fst qword [esp + 0x20]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4d66d1
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
fld qword [esp + 0x20]
mov dword [esi + 8], edx
mov dword [esi + 0xc], eax
fld qword [esp + 0x30]
fsub qword [esp + 0x48]
fmul qword [esp + 0x40]
fst qword [esp + 0x10]
fcomp qword [esp + 0x38]
fnstsw ax
test ah, 0x41
jne 0x4d673e
lea edx, [edi + 1]
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x4d673e
fld qword [esp + 0x10]
fmul qword [ecx]
fadd qword [ecx + 8]
fmul qword [esp + 0x10]
fadd qword [ecx + 0x10]
fmul qword [esp + 0x10]
fadd qword [ecx + 0x18]
fst qword [esp + 0x40]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4d673e
mov eax, dword [esp + 0x10]
fstp st(0)
mov edx, dword [esp + 0x14]
fld qword [esp + 0x40]
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
jmp 0x4d673e
fstp st(0)
inc edi
mov dword [esp + 0x10], edi
fild dword [esp + 0x10]
fst qword [esp + 0x40]
fld st(0)
fmul qword [ecx]
fadd qword [ecx + 8]
fmul st(1)
fadd qword [ecx + 0x10]
fmulp st(1)
fadd qword [ecx + 0x18]
fst qword [esp + 0x48]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4d677d
mov eax, dword [esp + 0x40]
fstp st(0)
mov edx, dword [esp + 0x44]
fld qword [esp + 0x48]
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
add ecx, 0x20
cmp edi, ebx
mov dword [esp + 0x30], edi
jl 0x4d65d0
fld qword [0x59e420]
xor edx, edx
test ebx, ebx
fdiv st(1)
fstp qword [esp + 0x38]
fstp st(0)
jle 0x4d67e8
xor eax, eax
mov ecx, dword [esi + 0x14]
fld qword [esp + 0x38]
fmul qword [ecx + eax]
add ecx, eax
inc edx
fstp qword [ecx]
mov ecx, dword [esi + 0x14]
fld qword [esp + 0x38]
lea ecx, [ecx + eax + 8]
fmul qword [ecx]
fstp qword [ecx]
mov ecx, dword [esi + 0x14]
fld qword [esp + 0x38]
lea ecx, [ecx + eax + 0x10]
fmul qword [ecx]
fstp qword [ecx]
mov ecx, dword [esi + 0x14]
fld qword [esp + 0x38]
lea ecx, [ecx + eax + 0x18]
fmul qword [ecx]
add eax, 0x20
fstp qword [ecx]
mov ecx, dword [esi + 0x10]
cmp edx, ecx
jl 0x4d67a2
mov edx, dword [esp + 0x2c]
push edx
call fcn.00587bcf
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4