Function at 0x1801c6d20
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rax, qword [0x18054e100]
xor rax, rsp
mov qword [rbp + 0x27], rax
xor r15d, r15d
mov dword [0x1805870f8], r15d
movabs rax, 0x5006d96c995a5827
mov qword [0x1805dd278], rax
mov dword [rbp - 0x79], 0x7f7fffff
mov qword [rsp + 0x28], r15
mov eax, dword [rbp - 0x79]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x28]
mov qword [0x180587120], rax
mov dword [rbp - 0x79], 0x7f7fffff
mov qword [rsp + 0x28], r15
mov eax, dword [rbp - 0x79]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x28]
mov qword [0x180587128], rax
mov dword [rbp - 0x79], 0x7f7fffff
mov qword [rsp + 0x28], r15
mov eax, dword [rbp - 0x79]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x28]
mov qword [0x180587130], rax
mov dword [0x1805870e8], 3
call fcn.1801e4620
lea ecx, [r15 + 0x58]
call fcn.180357d9c
mov rbx, rax
mov qword [rbp - 0x59], rax
mov dword [rax], 0xa
mov dword [0x1805870e8], r15d
mov dword [0x1805870f8], r15d
movabs rsi, 0xd80958fc74e988a6
mov qword [0x1805dd278], rsi
call fcn.1801e4620
mov ecx, dword [rax]
mov dword [0x1805870f8], r15d
movabs rax, 0xcff869cbfa210d82
mov qword [0x1805dd278], rax
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x28], ecx
mov rax, qword [rsp + 0x28]
mov qword [0x180587120], rax
mov qword [0x180587128], rbx
mov dword [0x1805870e8], 2
call fcn.1801e4620
movsxd rdi, dword [rax]
mov qword [rbp - 0x61], rdi
test rdi, rdi
jle 0x1801c79af
add rbx, 8
mov qword [rbp - 0x69], rbx
movabs r14, 0x9a9112a0fe9a4713
movabs r12, 0x11fe353cf9733e6f
lea r13, str.mp_car_stats_01
nop dword [rax + rax]
mov dword [0x1805870e8], r15d
mov dword [0x1805870f8], r15d
mov qword [0x1805dd278], rsi
call fcn.1801e4620
mov ecx, dword [rax]
mov dword [0x1805870f8], r15d
mov qword [0x1805dd278], r14
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x28], ecx
mov rax, qword [rsp + 0x28]
mov qword [0x180587120], rax
mov qword [0x180587128], r15
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov ecx, dword [rbx]
cmp ecx, dword [rax]
je 0x1801c7995
call fcn.180167810
mov dword [0x1805870f8], r15d
mov qword [0x1805dd278], r12
mov qword [0x180587120], r13
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov eax, dword [rax]
mov dword [rbp - 0x79], eax
mov dword [0x1805870f8], r15d
movabs rcx, 0x85f01b8d5b90570e
mov qword [0x1805dd278], rcx
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x28]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
cmp dword [rax], 0
je 0x1801c7995
mov eax, dword [rbx]
mov dword [0x1805870f8], r15d
movabs rcx, 0x9f47b058362c84b5
mov qword [0x1805dd278], rcx
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x28]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov ecx, dword [rax]
mov dword [0x1805870f8], r15d
movabs rax, 0xb215aac32d25d019
mov qword [0x1805dd278], rax
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x28], ecx
mov rax, qword [rsp + 0x28]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov rdx, qword [rax]
xorps xmm0, xmm0
movups xmmword [rbp - 0x51], xmm0
mov qword [rbp - 0x41], r15
mov qword [rbp - 0x39], r15
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1801c7000
lea rcx, [rbp - 0x51]
call fcn.18006b0d0
nop
mov rcx, qword [rbp - 0x41]
inc rcx
call fcn.180357d9c
mov rbx, rax
lea rax, [rbp - 0x51]
cmp qword [rbp - 0x39], 0xf
cmova rax, qword [rbp - 0x51]
mov rdx, rbx
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx + rax], cl
lea rax, [rax + 1]
test cl, cl
jne 0x1801c7040
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rbx + rsi], 0
jne 0x1801c7055
mov r14d, r15d
mov edi, r15d
test rsi, rsi
je 0x1801c7093
mov rax, r15
nop dword [rax]
movsx ecx, byte [rax + rbx]
call fcn.180370a88
add eax, edi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
inc r14d
mov eax, r14d
cmp rax, rsi
jb 0x1801c7070
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x1805870f8], r15d
movabs rcx, 0xf417c2502fffed43
mov qword [0x1805dd278], rcx
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x28]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
cvttss2si eax, dword [rax]
mov dword [rbp - 0x71], eax
mov rsi, 0xffffffffffffffff
nop dword [rax]
inc rsi
cmp byte [rbx + rsi], 0
jne 0x1801c70f0
mov r14d, r15d
mov edi, r15d
test rsi, rsi
je 0x1801c712a
mov rax, r15
movsx ecx, byte [rax + rbx]
call fcn.180370a88
add eax, edi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
inc r14d
mov eax, r14d
cmp rax, rsi
jb 0x1801c7107
lea ecx, [rdi + rdi*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x1805870f8], r15d
movabs rcx, 0x8c044c5c84505b6a
mov qword [0x1805dd278], rcx
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x28]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
cvttss2si ecx, dword [rax]
mov dword [rsp + 0x28], ecx
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rbx + rsi], 0
jne 0x1801c7185
mov r14d, r15d
mov edi, r15d
test rsi, rsi
je 0x1801c71c3
mov rax, r15
nop dword [rax]
movsx ecx, byte [rax + rbx]
call fcn.180370a88
add eax, edi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
inc r14d
mov eax, r14d
cmp rax, rsi
jb 0x1801c71a0
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x1805870f8], r15d
movabs rcx, 0xbfba3ba79cff7ebf
mov qword [0x1805dd278], rcx
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
cvttss2si r13d, dword [rax]
mov rsi, 0xffffffffffffffff
nop dword [rax + rax]
inc rsi
cmp byte [rbx + rsi], 0
jne 0x1801c7220
mov r14d, r15d
mov edi, r15d
test rsi, rsi
je 0x1801c725a
mov rax, r15
movsx ecx, byte [rax + rbx]
call fcn.180370a88
add eax, edi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
inc r14d
mov eax, r14d
cmp rax, rsi
jb 0x1801c7237
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x1805870f8], r15d
movabs rcx, 0x539de94d44fdfd0d
mov qword [0x1805dd278], rcx
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
cvttss2si r12d, dword [rax]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rbx + rsi], 0
jne 0x1801c72b2
mov r14d, r15d
mov edi, r15d
test rsi, rsi
je 0x1801c72f3
mov rax, r15
nop dword [rax]
movsx ecx, byte [rax + rbx]
call fcn.180370a88
add eax, edi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
inc r14d
mov eax, r14d
cmp rax, rsi
jb 0x1801c72d0
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x1805870f8], r15d
movabs rcx, 0xdc53fd41b4ed944c
mov qword [0x1805dd278], rcx
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
cvttss2si r15d, dword [rax]
mov rsi, 0xffffffffffffffff
nop dword [rax + rax]
inc rsi
cmp byte [rbx + rsi], 0
jne 0x1801c7350
xor edx, edx
mov r14d, edx
mov edi, edx
test rsi, rsi
je 0x1801c738c
mov eax, edx
movsx ecx, byte [rax + rbx]
call fcn.180370a88
add eax, edi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
inc r14d
mov eax, r14d
cmp rax, rsi
jb 0x1801c7367
xor edx, edx
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x1805870f8], edx
movabs rcx, 0x53409b5163d5b846
mov qword [0x1805dd278], rcx
mov qword [rsp + 0x20], rdx
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov rsi, 0xffffffffffffffff
nop
inc rsi
cmp byte [rbx + rsi], 0
jne 0x1801c73e0
xor edx, edx
mov r14d, edx
mov edi, edx
test rsi, rsi
je 0x1801c741c
mov eax, edx
movsx ecx, byte [rax + rbx]
call fcn.180370a88
add eax, edi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
inc r14d
mov eax, r14d
cmp rax, rsi
jb 0x1801c73f7
xor edx, edx
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x1805870f8], edx
movabs rcx, 0xc6ad107ddc9054cc
mov qword [0x1805dd278], rcx
mov qword [rsp + 0x20], rdx
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov rsi, 0xffffffffffffffff
nop
inc rsi
cmp byte [rbx + rsi], 0
jne 0x1801c7470
xor edx, edx
mov r14d, edx
mov edi, edx
test rsi, rsi
je 0x1801c74ac
mov eax, edx
movsx ecx, byte [rax + rbx]
call fcn.180370a88
add eax, edi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
inc r14d
mov eax, r14d
cmp rax, rsi
jb 0x1801c7487
xor edx, edx
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x1805870f8], edx
movabs rcx, 0x5aa3f878a178c4fc
mov qword [0x1805dd278], rcx
mov qword [rsp + 0x20], rdx
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
imul ecx, dword [rbp - 0x71], 0x64
mov eax, 0x51eb851f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, 0x14
mov r11d, 0x14
cmovg edx, r11d
mov ecx, dword [rsp + 0x28]
cmp ecx, r11d
cmovg ecx, r11d
mov dword [rbp - 0x2d], ecx
cmp r13d, r11d
cmovg r13d, r11d
mov dword [rbp - 0x29], r13d
cmp r12d, r11d
cmovg r12d, r11d
mov dword [rbp - 0x25], r12d
cmp r15d, r11d
cmovg r15d, r11d
mov dword [rbp - 0x21], r15d
mov eax, edx
cmp edx, r11d
cmovg eax, r11d
mov dword [rbp - 0x31], eax
lea r8d, [rdx - 0x14]
mov eax, 0
cmovle r8d, eax
cmp ecx, r11d
jle 0x1801c7571
add r8d, 0xffffffec
add r8d, ecx
mov dword [rbp - 0x2d], r11d
cmp r13d, r11d
jle 0x1801c7581
add r8d, 0xffffffec
add r8d, r13d
mov dword [rbp - 0x29], r11d
cmp r12d, r11d
jle 0x1801c7591
add r8d, 0xffffffec
add r8d, r12d
mov dword [rbp - 0x25], r11d
cmp r15d, r11d
jle 0x1801c75a1
add r8d, 0xffffffec
add r8d, r15d
mov dword [rbp - 0x21], r11d
xor r15d, r15d
mov r10d, r15d
lea rdx, [rbp - 0x31]
nop dword [rax + rax]
test r8d, r8d
jle 0x1801c75e2
mov r9d, dword [rdx]
cmp r9d, r11d
jge 0x1801c75d5
mov eax, r11d
sub eax, r9d
mov ecx, r8d
cmp eax, r8d
cmovl ecx, eax
lea eax, [r9 + rcx]
mov dword [rdx], eax
sub r8d, ecx
inc r10d
add rdx, 4
cmp r10d, 5
jl 0x1801c75b0
mov dword [0x1805870f8], r15d
movabs r14, 0xba7148484bd90365
mov qword [0x1805dd278], r14
mov qword [0x180587120], rbx
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov dword [0x1805870f8], r15d
movabs rax, 0xf6e48914c7a8694e
mov qword [0x1805dd278], rax
mov qword [rsp + 0x20], r15
mov esi, dword [rbp - 0x79]
mov dword [rsp + 0x20], esi
mov rax, qword [rsp + 0x20]
mov qword [0x180587120], rax
lea rax, str.SET_VEHICLE_INFOR_AND_STATS
mov qword [0x180587128], rax
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov dword [0x1805870f8], r15d
mov qword [0x1805dd278], r14
mov qword [0x180587120], rbx
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov dword [0x1805870f8], r15d
mov qword [0x1805dd278], r14
lea rax, str.Vehicle_Stat_Menu
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov dword [0x1805870f8], r15d
mov qword [0x1805dd278], r14
lea rax, str.MPCarHUD
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov dword [0x1805870f8], r15d
mov qword [0x1805dd278], r14
mov qword [0x180587120], rbx
mov dword [0x1805870e8], 1
call fcn.1801e4620
lea rax, str.MAX_SPEED
mov qword [rbp - 0x19], rax
lea rax, str.ACCELERATION
mov qword [rbp - 0x11], rax
lea rax, str.HAND_BRAKE
mov qword [rbp - 9], rax
lea rax, str.TRACTION
mov qword [rbp - 1], rax
lea rax, str.MAX_BRAKING
mov qword [rbp + 7], rax
lea rax, str.DOWN_FORCE
mov qword [rbp + 0xf], rax
lea rax, str.MAX_KNOTS
mov qword [rbp + 0x17], rax
lea rax, str.MOVE_RESISTANCE
mov qword [rbp + 0x1f], rax
lea rdi, [rbp - 0x19]
nop word [rax + rax]
mov rax, qword [rdi]
mov dword [0x1805870f8], r15d
mov qword [0x1805dd278], r14
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
add rdi, 8
lea rax, [rbp + 0x27]
cmp rdi, rax
jne 0x1801c7760
lea rdi, [rbp - 0x31]
movabs rsi, 0xc3d0841a0cc546a6
mov dword [0x1805870f8], r15d
mov qword [0x1805dd278], rsi
mov qword [rsp + 0x20], r15
imul eax, dword [rdi], 0x32
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
add rdi, 4
lea rax, [rbp - 0x1d]
cmp rdi, rax
jne 0x1801c77a2
mov dword [0x1805870f8], r15d
movabs rax, 0x54972adaf0294a93
mov qword [0x1805dd278], rax
mov qword [rsp + 0x20], r15
mov esi, dword [rbp - 0x79]
mov dword [rsp + 0x20], esi
mov rax, qword [rsp + 0x20]
mov qword [0x180587120], rax
movss xmm0, dword [0x180570780]
movss dword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], r15
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587128], rax
movss xmm0, dword [0x1805b1ccc]
movss dword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], r15
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587130], rax
movss xmm0, dword [0x180570778]
movss dword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], r15
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587138], rax
movss xmm0, dword [0x180570774]
movss dword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], r15
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587140], rax
mov qword [rsp + 0x20], r15
mov eax, dword [0x18057076c]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587148], rax
mov qword [rsp + 0x20], r15
mov eax, dword [0x180570770]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587150], rax
mov qword [rsp + 0x20], r15
mov eax, dword [0x180570764]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587158], rax
mov qword [rsp + 0x20], r15
mov eax, dword [0x180570768]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x20]
mov qword [0x180587160], rax
mov qword [0x180587168], r15
mov dword [0x1805870e8], 0xa
call fcn.1801e4620
mov dword [0x1805870e8], r15d
mov dword [0x1805870f8], r15d
movabs rax, 0xc6796a8ffa375e53
mov qword [0x1805dd278], rax
call fcn.1801e4620
mov rcx, rbx
call fcn.180357650
nop
lea rcx, [rbp - 0x51]
call fcn.18006b8d0
mov rbx, qword [rbp - 0x69]
mov rdi, qword [rbp - 0x61]
movabs rsi, 0xd80958fc74e988a6
movabs r14, 0x9a9112a0fe9a4713
movabs r12, 0x11fe353cf9733e6f
lea r13, str.mp_car_stats_01
add rbx, 8
mov qword [rbp - 0x69], rbx
sub rdi, 1
mov qword [rbp - 0x61], rdi
jne 0x1801c6e90
mov rbx, qword [rbp - 0x59]
mov rcx, rbx
call fcn.180357650
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.180357630
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret