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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x34
fld dword [ebp + 8]
push ebx
fcomp dword [0x7d7d3c]
push esi
push edi
mov edi, ecx
mov dword [esp + 0x2c], edi
fnstsw ax
test ah, 0x41
jne 0x6045aa
fld dword [0x784250]
fdiv dword [ebp + 8]
fld dword [edi + 0x70]
fsub dword [edi + 0x520]
fld dword [edi + 0x74]
fsub dword [edi + 0x524]
fstp dword [esp + 0x14]
fld dword [edi + 0x78]
fsub dword [edi + 0x528]
fstp dword [esp + 0x18]
fld dword [edi + 0x110]
fsub dword [edi + 0x530]
fstp dword [esp + 0x30]
fld dword [edi + 0x114]
fsub dword [edi + 0x534]
fstp dword [esp + 0x34]
fld dword [edi + 0x118]
fsub dword [edi + 0x538]
fstp dword [esp + 0x38]
fmul st(1)
fld dword [esp + 0x14]
fmul st(2)
fld dword [esp + 0x18]
fmul st(3)
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
fld dword [esp + 0x30]
mov dword [edi + 0x88], eax
fmul st(3)
fstp dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
fld dword [esp + 0x34]
fmul st(3)
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x34]
fld dword [esp + 0x38]
fmul st(3)
fstp dword [esp + 0x38]
mov eax, dword [esp + 0x38]
fxch st(1)
fstp dword [edi + 0x80]
fstp dword [edi + 0x84]
mov dword [edi + 0x120], ecx
mov dword [edi + 0x124], edx
fstp st(0)
mov dword [edi + 0x128], eax
mov ecx, dword [0x890118]
fld dword [edi + 0x430]
cmp dword [ecx], 4
jne 0x60460f
fcom dword [0x7d7d3c]
fnstsw ax
test ah, 5
jnp 0x6045ec
fcomp dword [0x784550]
fnstsw ax
test ah, 0x41
je 0x6045ee
fld dword [ebp + 8]
fmul dword [edi + 0x430]
fadd dword [edi + 0x410]
fstp dword [edi + 0x410]
jmp 0x6045ee
fstp st(0)
lea edx, [edi + 0x60]
push edx
lea eax, [edi + 0x510]
push eax
call fcn.0043ce80
fadd dword [edi + 0x414]
add esp, 8
fstp dword [edi + 0x414]
jmp 0x604611
fstp st(0)
lea esi, [edi + 0x60]
lea ecx, [edi + 0x8d8]
push esi
call fcn.005da0a0
mov ecx, dword [0x7fb724]
add ecx, 7
and ecx, 0x8000001f
jns 0x604636
dec ecx
or ecx, 0xffffffe0
inc ecx
jne 0x6046b2
mov eax, dword [edi + 0x28]
test eax, eax
je 0x6046b2
push 0
lea ebx, [edi + 0x5c4]
push esi
mov ecx, ebx
call fcn.005e6640
mov eax, dword [ebx + 8]
test eax, eax
je 0x6046b2
push esi
mov ecx, ebx
call fcn.005e7bf0
test eax, eax
jne 0x6046b2
fld dword [esi]
mov edx, dword [edi + 0x64]
fadd dword [0x784250]
lea eax, [esp + 0x30]
push eax
mov ecx, ebx
fstp dword [esp + 0x34]
mov dword [esp + 0x38], edx
call fcn.005e7bf0
test eax, eax
jne 0x6046b2
fld dword [edi + 0x64]
mov ecx, dword [esi]
fadd dword [0x784250]
lea edx, [esp + 0x10]
mov dword [esp + 0x10], ecx
push edx
fstp dword [esp + 0x18]
mov ecx, ebx
call fcn.005e7bf0
test eax, eax
jne 0x6046b2
mov dword [edi + 0x96c], 1
fld dword [edi + 0x8e0]
lea ecx, [edi + 0x8d8]
fsub dword [ecx + 0x10]
fld dword [ecx + 0xc]
fsub dword [ecx + 0x14]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fcomp dword [0x7a5610]
fnstsw ax
test ah, 0x41
jne 0x6046f9
mov eax, dword [0x81cb88]
test eax, eax
jne 0x604740
mov dword [edi + 0x96c], 1
jmp 0x604740
fld dword [ecx + 8]
fsub dword [ecx + 0x10]
fld dword [ecx + 0xc]
fsub dword [ecx + 0x14]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fcomp dword [0x7852a8]
fnstsw ax
test ah, 0x41
jne 0x604740
mov eax, dword [0x7fb724]
cdq
mov ebx, 0x3c
idiv ebx
test edx, edx
jne 0x604740
mov eax, dword [edi + 0x28]
test eax, eax
je 0x604740
push esi
call fcn.005da140
mov ecx, edi
call fcn.005f5f10
mov ecx, edi
call fcn.005f6030
mov esi, dword [edi + 0x18]
test esi, esi
je 0x604f55
mov eax, dword [esi + 0x58]
cmp eax, 6
mov ecx, dword [edi + 0x424]
mov dword [esp + 0x10], ecx
je 0x604770
cmp eax, 7
jne 0x6047b0
cmp dword [edi + 0x38], 1
jne 0x6047a3
cmp ecx, 4
jne 0x6047b0
mov eax, dword [0x86518c]
sub eax, dword [edi + 0x548]
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fmul dword [0x784268]
fcomp dword [0x7a5608]
fnstsw ax
test ah, 0x41
jne 0x6047b0
jmp 0x6047a7
test ecx, ecx
jle 0x6047b0
mov ecx, esi
push 1
call fcn.005ffbf0
mov ecx, dword [0x7fb724]
add ecx, 3
and ecx, 0x80000007
jns 0x6047c6
dec ecx
or ecx, 0xfffffff8
inc ecx
jne 0x604f55
mov edx, dword [edi + 0x430]
fld dword [esi + 0x24]
mov dword [esp + 0xc], edx
call fcn.0075bc00
movzx eax, al
mov dword [esp + 0x30], eax
mov ecx, 0x89cf18
fild dword [esp + 0x30]
fstp dword [esp + 0x30]
mov ebx, dword [esp + 0x30]
push ebx
call fcn.00576430
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 5
jp 0x60483c
cmp dword [esp + 0x10], 4
jge 0x60483c
lea ecx, [edi + 0x40]
call fcn.0059f6d0
fabs
fcomp dword [0x7a6504]
fnstsw ax
test ah, 5
jp 0x60483c
mov ecx, dword [0x7a55c8]
push str.CarInAir
push ecx
mov ecx, dword [0x8650b8]
call fcn.00578b30
mov eax, dword [esi + 0x58]
cmp eax, 6
je 0x604a93
cmp eax, 7
je 0x604a93
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x604a93
mov edx, dword [edi + 0x18]
mov al, byte [edx + 0x248]
test al, al
jne 0x604a93
push ebx
mov ecx, 0x89cf18
call fcn.00576430
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 5
jp 0x604a93
push ebx
mov ecx, 0x890150
call fcn.00576430
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
push 1
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x38]
push ecx
push edx
mov ecx, edi
mov dword [esp + 0x40], 0
call fcn.005ec150
fstp st(0)
fld dword [esp + 0x10]
fcomp dword [0x784250]
fild dword [0x86518c]
fnstsw ax
fmul dword [0x784268]
test ah, 5
jp 0x6048de
fadd dword [0x7843e8]
jmp 0x6048ea
fld dword [0x7a5614]
fmul dword [esp + 0x10]
faddp st(1)
push ebx
fstp dword [edi + 0x544]
mov ecx, 0x89e790
call fcn.00576430
fcomp dword [esp + 0x30]
fnstsw ax
test ah, 5
jp 0x604a93
push ebx
mov ecx, 0x89e824
call fcn.00576430
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 5
jp 0x604a93
mov ecx, esi
call fcn.005f1c60
test al, al
je 0x604a93
mov al, byte [0x89e7d9]
test al, al
jne 0x604a84
mov eax, dword [0x890104]
test eax, eax
jne 0x604a84
mov eax, dword [esi + 0x80]
test eax, eax
je 0x604988
cmp eax, 0x7fffffff
je 0x604988
mov eax, dword [0x86518c]
sub eax, dword [esi + 0x80]
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fmul dword [0x784268]
fcomp dword [0x7a550c]
fnstsw ax
test ah, 5
jnp 0x604a84
mov ecx, dword [0x890118]
cmp dword [ecx], 4
jne 0x604a84
mov ecx, dword [0x8900bc]
cmp ecx, 2
je 0x604a84
fld dword [esi + 0x24]
fcomp dword [0x7d7d3c]
fnstsw ax
test ah, 0x44
jnp 0x604a84
mov edx, dword [esi + 0x58]
mov al, byte [edx + 0x8020e0]
test al, al
je 0x6049d6
push 0
mov ecx, esi
call fcn.005ffbf0
mov ecx, dword [0x8900bc]
xor eax, eax
test ecx, ecx
jle 0x6049fd
lea esp, [esp]
mov edx, dword [eax*4 + 0x8900b4]
mov edx, dword [edx + 0x58]
mov bl, byte [edx + 0x8020e8]
test bl, bl
jne 0x604a84
inc eax
cmp eax, ecx
jl 0x6049e0
mov eax, dword [0x8651ac]
mov edx, dword [0x7a54f8]
push esi
mov dword [esi + 0x98], eax
mov ecx, dword [0x86518c]
mov eax, dword [0x7a5524]
push 0x602050
push edx
mov dword [esi + 0x80], ecx
mov ecx, dword [0x890080]
push eax
call fcn.005ea000
mov ecx, dword [0x8900d8]
cmp dword [ecx], 5
je 0x604a48
push 1
push 0xf
mov ecx, esi
call fcn.005f1d50
mov edx, dword [esi + 0x10]
or eax, 0xffffffff
push edx
mov dword [esi + 0x644], eax
mov dword [esi + 0x648], eax
call fcn.004022d0
add esp, 4
mov byte [esi + 0x225], 1
mov dword [esi + 0x58], 6
mov byte [esi + 0x90], 1
mov dword [esi + 0x94], 0
jmp 0x604a93
or eax, 0xffffffff
mov dword [esi + 0x644], eax
mov dword [esi + 0x648], eax
mov ecx, dword [esi + 0x58]
cmp ecx, 6
jne 0x604d73
fld dword [edi + 0x78]
fcomp dword [0x7d7d3c]
fnstsw ax
test ah, 5
jp 0x604ac8
fld dword [esi + 0x298]
fcomp dword [edi + 0x68]
fnstsw ax
test ah, 5
jp 0x604ac8
mov eax, dword [edi + 0x68]
mov dword [esi + 0x298], eax
cmp ecx, 6
jne 0x604d73
cmp dword [edi + 0x38], 1
jne 0x604be2
mov eax, dword [edi + 0x548]
mov ecx, dword [0x86518c]
sub ecx, eax
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
fmul dword [0x784268]
fcomp dword [0x7a560c]
fnstsw ax
test ah, 0x41
jne 0x604d73
push 0
mov ecx, esi
call fcn.005ffbf0
mov al, byte [0x89e7d9]
test al, al
jne 0x604d73
mov eax, dword [0x890104]
test eax, eax
jne 0x604d73
mov eax, dword [esi + 0x84]
test eax, eax
je 0x604b63
cmp eax, 0x7fffffff
je 0x604b63
mov edx, dword [0x86518c]
sub edx, eax
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fmul dword [0x784268]
fcomp dword [0x7a550c]
fnstsw ax
test ah, 5
jnp 0x604d73
mov eax, dword [0x890118]
cmp dword [eax], 4
jne 0x604d73
mov ecx, dword [0x8900bc]
cmp ecx, 2
je 0x604d73
fld dword [esi + 0x24]
fcomp dword [0x7d7d3c]
fnstsw ax
test ah, 0x44
jnp 0x604d73
mov edx, dword [esi + 0x58]
mov al, byte [edx + 0x8020e0]
test al, al
je 0x604bb0
push 0
mov ecx, esi
call fcn.005ffbf0
mov ecx, dword [0x8900bc]
xor eax, eax
test ecx, ecx
jle 0x604cfd
lea ebx, [ebx]
mov edx, dword [eax*4 + 0x8900b4]
mov edx, dword [edx + 0x58]
mov bl, byte [edx + 0x8020e8]
test bl, bl
jne 0x604d73
inc eax
cmp eax, ecx
jl 0x604bc0
jmp 0x604cfd
fild dword [0x86518c]
fmul dword [0x784268]
fcomp dword [edi + 0x544]
fnstsw ax
test ah, 0x41
jne 0x604d73
push 0
mov ecx, esi
call fcn.005ffbf0
push 1
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x18]
push ecx
push 0x3f800000
mov ecx, edi
call fcn.005ec150
fstp st(0)
fld dword [esp + 0x30]
fcomp dword [0x784260]
fnstsw ax
test ah, 0x41
jne 0x604d73
mov al, byte [0x89e7d9]
test al, al
jne 0x604d73
mov eax, dword [0x890104]
test eax, eax
jne 0x604d73
mov eax, dword [esi + 0x84]
test eax, eax
je 0x604c89
cmp eax, 0x7fffffff
je 0x604c89
mov edx, dword [0x86518c]
sub edx, eax
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fmul dword [0x784268]
fcomp dword [0x7a550c]
fnstsw ax
test ah, 5
jnp 0x604d73
mov eax, dword [0x890118]
cmp dword [eax], 4
jne 0x604d73
mov ecx, dword [0x8900bc]
cmp ecx, 2
je 0x604d73
fld dword [esi + 0x24]
fcomp dword [0x7d7d3c]
fnstsw ax
test ah, 0x44
jnp 0x604d73
mov edx, dword [esi + 0x58]
mov al, byte [edx + 0x8020e0]
test al, al
je 0x604cd6
push 0
mov ecx, esi
call fcn.005ffbf0
mov ecx, dword [0x8900bc]
xor eax, eax
test ecx, ecx
jle 0x604cfd
lea esp, [esp]
mov edx, dword [eax*4 + 0x8900b4]
mov edx, dword [edx + 0x58]
mov bl, byte [edx + 0x8020e8]
test bl, bl
jne 0x604d73
inc eax
cmp eax, ecx
jl 0x604ce0
mov eax, dword [0x8651ac]
mov edx, dword [0x7a54f8]
push esi
mov dword [esi + 0x98], eax
mov ecx, dword [0x86518c]
mov eax, dword [0x7a5524]
push 0x602050
push edx
mov dword [esi + 0x84], ecx
mov ecx, dword [0x890080]
push eax
call fcn.005ea000
mov ecx, dword [0x8900d8]
cmp dword [ecx], 5
je 0x604d48
push 1
mov ecx, esi
push 0x10
call fcn.005f1d50
mov edx, dword [esi + 0x10]
push edx
call fcn.004022d0
add esp, 4
mov byte [esi + 0x225], 1
mov dword [esi + 0x58], 7
mov byte [esi + 0x90], 1
mov dword [esi + 0x94], 0
fld dword [esp + 0xc]
fcomp dword [0x7a55ec]
fnstsw ax
test ah, 5
jp 0x604da1
mov eax, dword [esi + 0x50]
test eax, eax
jne 0x604da1
mov eax, dword [0x7a55e8]
mov ecx, dword [0x8650b8]
push str.GoingSlow
push eax
call fcn.00578b30
fld dword [esp + 0xc]
fcomp dword [0x7864d8]
fnstsw ax
test ah, 0x41
jne 0x604e45
mov esi, dword [0x890080]
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
xor ebx, ebx
sub ecx, edi
test ecx, ecx
mov dword [esp + 0x10], ebx
jle 0x604e41
mov ecx, dword [esp + 0x2c]
call fcn.004018c0
mov dword [esp + 0x30], eax
jmp 0x604de0
mov edx, dword [esp + 0x30]
add edi, ebx
mov esi, dword [esi + edi*4 + 0x1c]
push edx
add esi, 0x60
push esi
call fcn.0043ce80
fcomp dword [0x7864d8]
add esp, 8
fnstsw ax
test ah, 5
jp 0x604e08
inc dword [esp + 0x10]
mov esi, dword [0x890080]
mov edi, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
inc ebx
sub eax, edi
cmp ebx, eax
jl 0x604de0
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x604e41
fild dword [esp + 0x10]
push 0x7a64e0
push ecx
mov ecx, dword [0x8650b8]
fmul dword [0x7a55cc]
fstp dword [esp]
call fcn.00578b30
mov edi, dword [esp + 0x2c]
fld dword [esp + 0xc]
push str.Speed
fdiv dword [0x7a55f0]
push ecx
mov ecx, dword [0x8650b8]
fstp dword [esp]
call fcn.00578b30
fld dword [esp + 0xc]
fcomp dword [0x784478]
fnstsw ax
test ah, 0x41
jne 0x604f55
lea ecx, [edi + 0x40]
call fcn.0059f6d0
fabs
fcomp dword [0x7a64dc]
fnstsw ax
test ah, 0x41
jne 0x604ea6
mov ecx, dword [0x7a55d0]
push str.CarSlidingSideways
push ecx
mov ecx, dword [0x8650b8]
call fcn.00578b30
mov ecx, dword [edi + 0x3c]
push 0
call fcn.005a04e0
mov esi, eax
test esi, esi
je 0x604f55
mov ecx, esi
call fcn.005929f0
test al, al
je 0x604f55
mov eax, dword [esi + 0xc]
mov edx, dword [0x86518c]
sub edx, eax
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fmul dword [0x784268]
fcomp dword [0x784260]
fnstsw ax
test ah, 5
jp 0x604f55
mov ecx, esi
call fcn.00592950
test al, al
je 0x604f34
fld dword [esp + 0xc]
fcomp dword [0x7864d8]
fnstsw ax
test ah, 0x41
jne 0x604f34
mov eax, dword [0x7a55d4]
mov ecx, dword [0x8650b8]
push str.CarCollision
push eax
call fcn.00578b30
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x30]
push edx
mov ecx, esi
call fcn.00592980
jmp 0x604f55
mov ecx, esi
call fcn.00592a40
test al, al
je 0x604f55
mov eax, dword [0x7a55d8]
mov ecx, dword [0x8650b8]
push str.SmokeableCollision
push eax
call fcn.00578b30
mov esi, dword [edi + 0x918]
test esi, esi
je 0x604fc2
mov ecx, dword [0x890118]
cmp dword [ecx], 4
jne 0x604fc2
call fcn.005f8330
test eax, eax
jne 0x604fc2
mov ecx, dword [edi + 0x14]
mov al, byte [ecx + 0x900]
test al, al
mov ebx, dword [ebp + 8]
je 0x604f8d
push ebx
mov ecx, esi
call fcn.005f8ac0
jmp 0x604fb6
mov ecx, edi
call fcn.00431e20
test eax, eax
je 0x604fb6
mov esi, dword [edi + 0x34]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
mov ecx, dword [edi + 0x918]
push eax
call fcn.005ef340
mov ecx, dword [edi + 0x918]
push ebx
call fcn.005fd6c0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4