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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x34
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x14]
mov cl, byte [eax + 0x734]
test cl, cl
push esi
push edi
je 0x4251f9
mov eax, dword [ebx + 0x830]
test eax, eax
je 0x4251f9
mov eax, dword [0x72afb4]
cmp dword [eax], 4
jne 0x4251f9
push eax
call fcn.004341a0
test eax, eax
jne 0x4251f9
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x830]
push ecx
call fcn.00435da0
fld dword [ebp + 0xc]
fcomp dword [0x6bda00]
fnstsw ax
test ah, 0x41
jne 0x4252d1
fld dword [0x6bda18]
fdiv dword [ebp + 0xc]
fld dword [ebx + 0x70]
fsub dword [ebx + 0x4a0]
fld dword [ebx + 0x74]
fsub dword [ebx + 0x4a4]
fstp dword [esp + 0x34]
fld dword [ebx + 0x78]
fsub dword [ebx + 0x4a8]
fstp dword [esp + 0x38]
fld dword [ebx + 0xd0]
fsub dword [ebx + 0x4b0]
fstp dword [esp + 0x20]
fld dword [ebx + 0xd4]
fsub dword [ebx + 0x4b4]
fstp dword [esp + 0x24]
fld dword [ebx + 0xd8]
fsub dword [ebx + 0x4b8]
fstp dword [esp + 0x28]
fmul st(1)
fld dword [esp + 0x34]
fmul st(2)
fld dword [esp + 0x38]
fmul st(3)
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
fld dword [esp + 0x20]
mov dword [ebx + 0x88], edx
fmul st(3)
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
fld dword [esp + 0x24]
fmul st(3)
fstp dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
fld dword [esp + 0x28]
fmul st(3)
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x28]
fxch st(1)
fstp dword [ebx + 0x80]
fstp dword [ebx + 0x84]
mov dword [ebx + 0xe0], eax
mov dword [ebx + 0xe4], ecx
fstp st(0)
mov dword [ebx + 0xe8], edx
fld dword [ebx + 0x3d4]
fcom dword [0x6bda00]
fnstsw ax
test ah, 5
jnp 0x425308
fcomp dword [0x6bdaa0]
fnstsw ax
test ah, 0x41
je 0x42530a
fld dword [ebp + 0xc]
fmul dword [ebx + 0x3d4]
fadd dword [ebx + 0x3b8]
fstp dword [ebx + 0x3b8]
jmp 0x42530a
fstp st(0)
lea esi, [ebx + 0x60]
lea edi, [ebx + 0x490]
push esi
push edi
call fcn.00599d10
fadd dword [ebx + 0x3bc]
add esp, 8
fstp dword [ebx + 0x3bc]
mov eax, dword [esi]
fld dword [esi + 4]
fld dword [esi + 8]
mov dword [edi], eax
fxch st(1)
mov eax, esi
fstp dword [edi + 4]
fstp dword [edi + 8]
lea edi, [ebx + 0x800]
push edi
push 0x72c0b0
call fcn.00440d70
mov ecx, dword [0x6e30d0]
add ecx, 7
and ecx, 0x8000001f
jns 0x425364
dec ecx
or ecx, 0xffffffe0
inc ecx
jne 0x4253b0
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x4253b0
lea eax, [ebx + 0x540]
push eax
mov eax, esi
call fcn.0043e0d0
test eax, eax
jne 0x4253b0
fld dword [esi]
lea eax, [ebx + 0x540]
fadd dword [0x6bda18]
push eax
lea eax, [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [ebx + 0x64]
fstp dword [esp + 0x28]
call fcn.0043e0d0
test eax, eax
jne 0x4253b0
mov dword [ebx + 0x87c], 1
mov eax, dword [edi + 8]
test eax, eax
je 0x4253d3
fld dword [edi]
fsub dword [eax]
fld dword [edi + 4]
fsub dword [eax + 4]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
jmp 0x4253d9
fld dword [0x6bda00]
fcomp dword [0x6a9d04]
fnstsw ax
test ah, 0x41
jne 0x4253fb
mov eax, dword [0x72aeb0]
test eax, eax
jne 0x425451
mov dword [ebx + 0x87c], 1
jmp 0x425451
mov eax, dword [edi + 8]
test eax, eax
je 0x425451
fld dword [edi]
fsub dword [eax]
fld dword [edi + 4]
fsub dword [eax + 4]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fcomp dword [0x6bddbc]
fnstsw ax
test ah, 0x41
jne 0x425451
mov eax, dword [0x6e30d0]
cdq
mov ecx, 0x3c
idiv ecx
test edx, edx
jne 0x425451
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x425451
push edi
push 0x72c0b0
mov eax, esi
mov dword [edi + 8], edx
call fcn.00440d70
mov esi, ebx
call fcn.004279e0
mov esi, dword [ebx + 0x18]
test esi, esi
je 0x425c7d
mov eax, dword [esi + 0x60]
cmp eax, 6
mov edi, dword [ebx + 0x3cc]
je 0x425476
cmp eax, 7
jne 0x4254b9
cmp dword [ebx + 0x38], 1
jne 0x4254ac
cmp edi, 4
jne 0x4254b9
mov eax, dword [ebx + 0x4c8]
mov edx, dword [0x72ca18]
sub edx, eax
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul dword [0x6bdc98]
fcomp dword [0x6a9cfc]
fnstsw ax
test ah, 0x41
jne 0x4254b9
jmp 0x4254b0
test edi, edi
jle 0x4254b9
mov ecx, esi
push 1
call fcn.0042c5d0
mov eax, dword [0x6e30d0]
add eax, 3
and eax, reloc.WS2_32.dll_getsockopt
jns 0x4254cd
dec eax
or eax, 0xfffffff8
inc eax
jne 0x425c7d
movzx edx, byte [0x77beca]
mov ecx, dword [ebx + 0x3d4]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x1c]
mov ecx, 0x77bf04
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
push eax
call fcn.0059cf80
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x42553c
cmp edi, 4
jge 0x42553c
lea eax, [ebx + 0x40]
call fcn.00461a20
fabs
fcomp dword [0x6be028]
fnstsw ax
test ah, 5
jp 0x42553c
mov ecx, dword [0x6a9cb8]
mov eax, dword [0x72960c]
push str.CarInAir
push ecx
call fcn.005521c0
mov eax, dword [0x72b000]
test eax, eax
jne 0x425642
mov eax, dword [esi + 0x60]
cmp eax, 6
je 0x425642
cmp eax, 7
je 0x425642
test edi, edi
jne 0x425642
mov edx, dword [ebx + 0x18]
mov al, byte [edx + 0x4ac]
test al, al
jne 0x425642
mov edi, dword [esp + 0x1c]
push edi
mov ecx, 0x77bf04
call fcn.0059cf80
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x425642
push edi
mov ecx, 0x77bf14
call fcn.0059cf80
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push 1
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
push ecx
push edx
mov eax, ebx
call fcn.00428590
fstp st(0)
fld dword [esp + 0x18]
fcomp dword [0x6bdc78]
fild dword [0x72ca18]
fnstsw ax
fmul dword [0x6bdc98]
test ah, 5
jp 0x4255e3
fadd dword [0x6bdba4]
jmp 0x4255ef
fld dword [0x6a9d08]
fmul dword [esp + 0x18]
faddp st(1)
push edi
fstp dword [ebx + 0x4c4]
mov ecx, 0x77bf24
call fcn.0059cf80
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x425642
push edi
mov ecx, 0x77bf58
call fcn.0059cf80
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 5
jp 0x425642
call fcn.0042ac20
test al, al
je 0x425642
push 1
push 1
push 0
push 6
mov ecx, esi
call fcn.0042c250
test al, al
jne 0x425642
call fcn.0042adb0
mov ecx, dword [esi + 0x60]
cmp ecx, 6
jne 0x425820
fld dword [ebx + 0x78]
fcomp dword [0x6bda00]
fnstsw ax
test ah, 5
jp 0x425677
fld dword [esi + 0x588]
fcomp dword [ebx + 0x68]
fnstsw ax
test ah, 5
jp 0x425677
mov eax, dword [ebx + 0x68]
mov dword [esi + 0x588], eax
cmp ecx, 6
jne 0x425820
cmp dword [ebx + 0x38], 1
jne 0x4259d7
mov eax, dword [ebx + 0x4c8]
mov ecx, dword [0x72ca18]
sub ecx, eax
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
fmul dword [0x6bdc98]
fcomp dword [0x6a9d00]
fnstsw ax
test ah, 0x41
jne 0x425820
push 0
mov ecx, esi
call fcn.0042c5d0
mov al, byte [0x77be15]
test al, al
jne 0x425820
mov eax, dword [0x72afbc]
test eax, eax
jne 0x425820
mov al, byte [0x77be16]
test al, al
jne 0x425820
mov eax, dword [0x72afb8]
test eax, eax
jne 0x425820
mov edx, dword [0x72b008]
cmp dword [edx], 9
je 0x425820
lea edi, [esi + 0x8c]
mov eax, edi
call fcn.00420000
test eax, eax
je 0x42573a
mov eax, dword [0x72ca18]
sub eax, dword [edi]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul dword [0x6bdc98]
fcomp dword [0x6a9be0]
fnstsw ax
test ah, 5
jnp 0x425820
mov ecx, dword [0x72afb4]
cmp dword [ecx], 4
jne 0x425820
mov ecx, dword [0x72afdc]
cmp ecx, 2
je 0x425820
mov al, byte [0x77beca]
test al, al
je 0x425820
mov edx, dword [esi + 0x60]
mov al, byte [edx + 0x6f2cec]
test al, al
je 0x425781
push 0
mov ecx, esi
call fcn.0042c5d0
mov ecx, dword [0x72afdc]
xor eax, eax
test ecx, ecx
jle 0x4257a8
jmp 0x425790
mov edx, dword [eax*4 + 0x72afd4]
mov edx, dword [edx + 0x60]
cmp byte [edx + 0x6f2cf4], 0
jne 0x425820
inc eax
cmp eax, ecx
jl 0x425790
mov eax, dword [0x72ca20]
mov edx, dword [0x6a9bcc]
mov dword [esi + 0xa0], eax
mov ecx, dword [0x72ca18]
mov eax, dword [0x6a9c08]
push esi
push 0x42c240
mov dword [edi], ecx
mov edi, dword [0x72b010]
push edx
push eax
mov eax, edi
call fcn.0041e7c0
mov eax, dword [0x72b008]
call fcn.0041de00
test eax, eax
jne 0x425b33
push 1
push 0x10
push esi
call fcn.0042ae40
mov dword [0x72b350], 1
mov byte [esi + 0x270], 1
mov dword [esi + 0x60], 7
mov byte [esi + 0x98], 1
mov dword [esi + 0x9c], 0
mov edi, dword [0x72b010]
fld dword [esp + 0x14]
fcomp dword [0x6a9ce0]
fnstsw ax
test ah, 5
jp 0x42585a
mov eax, dword [esi + 0x58]
test eax, eax
jne 0x42585a
mov ecx, dword [0x6a9cdc]
mov eax, dword [0x72960c]
push str.GoingSlow
push ecx
call fcn.005521c0
mov edi, dword [0x72b010]
fld dword [esp + 0x14]
fcomp dword [0x6bdd98]
fnstsw ax
test ah, 0x41
jne 0x425983
mov esi, dword [edi + 0x1c]
mov edx, dword [edi + 0x20]
xor eax, eax
sub edx, esi
test edx, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
jle 0x4258fa
mov ecx, ebx
call fcn.0041dd20
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
add esi, ebx
mov edi, dword [edi + esi*4 + 0x28]
push eax
add edi, 0x60
push edi
call fcn.00599d10
fcomp dword [0x6bdd98]
add esp, 8
fnstsw ax
test ah, 5
jp 0x4258bc
inc dword [esp + 0x18]
mov edi, dword [0x72b010]
mov esi, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
inc ebx
sub ecx, esi
cmp ebx, ecx
jl 0x425894
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x4258fa
fild dword [esp + 0x18]
mov eax, dword [0x72960c]
push str.CloseCars
push ecx
fmul dword [0x6a9cbc]
fstp dword [esp]
call fcn.005521c0
mov edi, dword [0x72b010]
mov esi, dword [edi + 0x20]
mov edx, dword [edi + 0x24]
xor ebx, ebx
sub edx, esi
test edx, edx
mov dword [esp + 0x18], ebx
jle 0x425980
mov ecx, dword [ebp + 8]
call fcn.0041dd20
mov dword [esp + 0x1c], eax
jmp 0x425920
mov eax, dword [esp + 0x1c]
add esi, ebx
mov edi, dword [edi + esi*4 + 0x28]
push eax
add edi, 0x60
push edi
call fcn.00599d10
fcomp dword [0x6bdd98]
add esp, 8
fnstsw ax
test ah, 5
jp 0x425948
inc dword [esp + 0x18]
mov edi, dword [0x72b010]
mov esi, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
inc ebx
sub ecx, esi
cmp ebx, ecx
jl 0x425920
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x425980
fild dword [esp + 0x18]
mov eax, dword [0x72960c]
push str.CloseCops
push ecx
fmul dword [0x6a9cc0]
fstp dword [esp]
call fcn.005521c0
mov ebx, dword [ebp + 8]
fld dword [esp + 0x14]
mov eax, dword [0x72960c]
fdiv dword [0x6a9ce4]
push str.Speed
push ecx
fstp dword [esp]
call fcn.005521c0
fld dword [esp + 0x14]
fcomp dword [0x6bdd28]
fnstsw ax
test ah, 0x41
jne 0x425c7d
fld dword [ebx + 0x3d0]
fcomp dword [0x6a9434]
fnstsw ax
test ah, 5
jp 0x425b61
fld dword [0x6bda00]
jmp 0x425b9f
fild dword [0x72ca18]
fmul dword [0x6bdc98]
fcomp dword [ebx + 0x4c4]
fnstsw ax
test ah, 0x41
jne 0x425820
push 0
mov ecx, esi
call fcn.0042c5d0
mov al, byte [0x77be15]
test al, al
jne 0x425820
mov eax, dword [0x72afbc]
test eax, eax
jne 0x425820
mov al, byte [0x77be16]
test al, al
jne 0x425820
mov eax, dword [0x72afb8]
test eax, eax
jne 0x425820
mov ecx, dword [0x72b008]
cmp dword [ecx], 9
je 0x425820
lea edi, [esi + 0x8c]
mov eax, edi
call fcn.00420000
test eax, eax
je 0x425a7a
mov eax, dword [edi]
mov edx, dword [0x72ca18]
sub edx, eax
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul dword [0x6bdc98]
fcomp dword [0x6a9be0]
fnstsw ax
test ah, 5
jnp 0x425820
mov eax, dword [0x72afb4]
cmp dword [eax], 4
jne 0x425820
mov ecx, dword [0x72afdc]
cmp ecx, 2
je 0x425820
mov al, byte [0x77beca]
test al, al
je 0x425820
mov edx, dword [esi + 0x60]
mov al, byte [edx + 0x6f2cec]
test al, al
je 0x425ac0
push 0
mov ecx, esi
call fcn.0042c5d0
mov ecx, dword [0x72afdc]
xor eax, eax
test ecx, ecx
jle 0x425ae2
mov edx, dword [eax*4 + 0x72afd4]
mov edx, dword [edx + 0x60]
cmp byte [edx + 0x6f2cf4], 0
jne 0x425820
inc eax
cmp eax, ecx
jl 0x425ac6
mov eax, dword [0x72ca20]
mov edx, dword [0x6a9bcc]
mov dword [esi + 0xa0], eax
mov ecx, dword [0x72ca18]
mov eax, dword [0x6a9c08]
push esi
push 0x42c240
mov dword [edi], ecx
mov edi, dword [0x72b010]
push edx
push eax
mov eax, edi
call fcn.0041e7c0
mov eax, dword [0x72b008]
call fcn.0041de00
test eax, eax
jne 0x425b33
push 1
push 0x10
push esi
call fcn.0042ae40
mov edi, dword [0x72b010]
mov dword [0x72b350], 1
mov byte [esi + 0x270], 1
mov dword [esi + 0x60], 7
mov byte [esi + 0x98], 1
mov dword [esi + 0x9c], 0
jmp 0x425826
mov edx, dword [ebx + 0x74]
mov eax, dword [ebx + 0x70]
push edx
push eax
call fcn.00547140
mov cx, word [ebx + 0x3b4]
sub cx, ax
movzx edx, cx
mov dword [esp + 0x28], edx
add esp, 8
fild dword [esp + 0x20]
fmul dword [0x6bdbd8]
fcom dword [0x6bdbd4]
fnstsw ax
test ah, 0x41
jne 0x425b9f
fsub dword [0x6bdbd0]
fabs
fcomp dword [0x6be024]
fnstsw ax
test ah, 0x41
jne 0x425bc3
mov eax, dword [0x6a9cc4]
push str.CarSlidingSideways
push eax
mov eax, dword [0x72960c]
call fcn.005521c0
mov edi, dword [ebx + 0x3c]
push 0
call fcn.00465280
mov esi, eax
test esi, esi
je 0x425c7d
call fcn.00462fb0
test al, al
je 0x425c7d
mov eax, dword [esi + 0xc]
mov ecx, dword [0x72ca18]
sub ecx, eax
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fmul dword [0x6bdc98]
fcomp dword [0x6bda38]
fnstsw ax
test ah, 5
jp 0x425c7d
mov esi, dword [esi + 0x64]
mov edx, dword [esi + 0x258]
mov cl, byte [edx + 0x15]
test cl, cl
jne 0x425c57
mov eax, dword [esi + 0x25c]
mov dl, byte [eax + 0x15]
test dl, dl
jne 0x425c57
fld dword [esp + 0x14]
fcomp dword [0x6bdd98]
fnstsw ax
test ah, 0x41
jne 0x425c57
mov ecx, dword [0x6a9cc8]
mov eax, dword [0x72960c]
push str.CarCollision
push ecx
call fcn.005521c0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp cl, 1
je 0x425c68
mov edx, dword [esi + 0x25c]
cmp byte [edx + 0x15], 1
jne 0x425c7d
mov eax, dword [0x6a9ccc]
push str.SmokeableCollision
push eax
mov eax, dword [0x72960c]
call fcn.005521c0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8