Function at 0x1800354f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
movzx edx, byte [rcx]
mov rdi, rcx
call fcn.180032e60
movzx edx, byte [rdi + 1]
call fcn.180033130
xor esi, esi
movabs rbp, 0xd80958fc74e988a6
cmp byte [rdi + 2], sil
je 0x180028123
call fcn.1800262a0
mov dword [rax + 8], esi
mov dword [rax + 0x18], esi
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], esi
inc dword [rax + 8]
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], Ordinal_79
movabs rcx, 0xf3a21bcd95725a4a
inc dword [rax + 8]
call fcn.180026140
call fcn.1800262a0
mov rcx, qword [rax]
cmp dword [rcx], esi
je 0x180028123
call fcn.1800262a0
mov rcx, rbp
mov dword [rax + 8], esi
mov dword [rax + 0x18], esi
call fcn.180026140
call fcn.1800262a0
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.180032a50
mov ebx, eax
call fcn.1800262a0
mov dword [rax + 8], esi
mov dword [rax + 0x18], esi
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], esi
movabs rcx, 0xab54a438726d25d5
inc dword [rax + 8]
call fcn.180026140
call fcn.1800262a0
cmp byte [rdi + 3], sil
je 0x180028196
call fcn.1800262a0
mov rcx, rbp
mov dword [rax + 8], esi
mov dword [rax + 0x18], esi
call fcn.180026140
call fcn.1800262a0
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.180032a50
mov ebx, eax
call fcn.1800262a0
mov dword [rax + 8], esi
mov dword [rax + 0x18], esi
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.1800262a0
movabs rcx, 0xbaa045b4e42f3c06
mov r8d, dword [rax + 8]
mov rdx, qword [rax + 0x10]
mov dword [rdx + r8*8], 0x461c3c00
inc dword [rax + 8]
call fcn.180026140
call fcn.1800262a0
cmp byte [rdi + 4], sil
je 0x180028207
call fcn.1800262a0
mov rcx, rbp
mov dword [rax + 8], esi
mov dword [rax + 0x18], esi
call fcn.180026140
call fcn.1800262a0
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.180032a50
mov ebx, eax
call fcn.1800262a0
mov dword [rax + 8], esi
mov dword [rax + 0x18], esi
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], 1
movabs rcx, 0x730f5f8d3f0f2050
inc dword [rax + 8]
call fcn.180026140
call fcn.1800262a0
movzx edx, byte [rdi + 5]
call fcn.1800332e0
movzx edx, byte [rdi + 6]
call fcn.180033b20
movzx edx, byte [rdi + 0xc]
mov rcx, rdi
call fcn.180033d00
movzx edx, byte [rdi + 0xd]
call fcn.180034400
movzx edx, byte [rdi + 0xe]
call fcn.180034890
movzx edx, byte [rdi + 0xf]
call fcn.180034e30
movzx edx, byte [rdi + 0x10]
call fcn.1800351d0
movzx edx, byte [rdi + 0x11]
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
jmp 0x1800354f0
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0xa0
test dl, dl
jne 0x1800355d9
cmp byte [0x18025e562], dl
je 0x1800355cd
call fcn.1800262a0
xor edi, edi
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
movabs rcx, 0xd80958fc74e988a6
call fcn.180026140
call fcn.1800262a0
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.1800262a0
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], edi
inc dword [rax + 8]
movabs rcx, 0x9a9112a0fe9a4713
call fcn.180026140
call fcn.1800262a0
mov rcx, qword [rax]
mov r8d, dword [0x18025e564]
cmp r8d, dword [rcx]
jne 0x1800355c6
mov rax, qword [0x18025e538]
mov rdx, qword [rax + 0xc8]
mov ecx, r8d
call rdx
test rax, rax
je 0x1800355c6
mov rcx, qword [0x18025e568]
mov qword [rax + 0x918], rcx
mov qword [0x18025e568], rdi
mov dword [0x18025e564], edi
mov byte [0x18025e562], dil
mov byte [0x18025e561], 0
jmp 0x1800358a1
call fcn.1800262a0
xor edi, edi
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
movabs rsi, 0xd80958fc74e988a6
mov rcx, rsi
call fcn.180026140
call fcn.1800262a0
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.1800262a0
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], edi
inc dword [rax + 8]
movabs rbp, 0x9a9112a0fe9a4713
mov rcx, rbp
call fcn.180026140
call fcn.1800262a0
mov rcx, qword [rax]
cmp dword [rcx], edi
je 0x1800358a1
mov rax, qword [0x18025e538]
mov rcx, qword [rax + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x1800358a1
mov rax, qword [rax + 8]
test rax, rax
je 0x1800358a1
cmp qword [rax + 0xd10], rdi
je 0x1800358a1
call fcn.1800262a0
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
mov rcx, rsi
call fcn.180026140
call fcn.1800262a0
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.1800262a0
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], edi
inc dword [rax + 8]
mov rcx, rbp
call fcn.180026140
call fcn.1800262a0
mov rcx, qword [rax]
mov ebx, dword [0x18025e564]
cmp ebx, dword [rcx]
je 0x180035754
call fcn.1800262a0
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
movabs rcx, 0x7239b21a38f536ba
call fcn.180026140
call fcn.1800262a0
mov rcx, qword [rax]
cmp dword [rcx], edi
je 0x180035754
cmp qword [0x18025e568], rdi
je 0x180035754
mov rax, qword [0x18025e538]
mov rdx, qword [rax + 0xc8]
mov ecx, dword [0x18025e564]
call rdx
test rax, rax
je 0x180035754
mov rcx, qword [0x18025e568]
mov qword [rax + 0x918], rcx
call fcn.1800262a0
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
mov rcx, rsi
call fcn.180026140
call fcn.1800262a0
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.1800262a0
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.1800262a0
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], edi
inc dword [rax + 8]
mov rcx, rbp
call fcn.180026140
call fcn.1800262a0
mov rcx, qword [rax]
mov eax, dword [rcx]
cmp dword [0x18025e564], eax
je 0x1800358a1
cmp byte [0x18025e561], dil
jne 0x1800358a1
lea r10, [0x18017c8de]
lea r9, str.deluxo
nop dword [rax]
movzx r8d, byte [r9]
lea edx, [r8 - 0x41]
movzx eax, r8b
or al, 0x20
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, edi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
inc r9
cmp r9, r10
jne 0x1800357e0
lea ecx, [rdi + rdi*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
lea rax, vtable.std::_Func_impl_no_alloc_class__private:_void___cdecl_LucaModzZ::VehicleOptions::DeluxoMode_bool____ptr64::_37::_lambda_1___void___.0
mov qword [rsp + 0x20], rax
imul eax, ecx, 0x8001
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x58], rax
lea rax, vtable.std::_Func_impl_no_alloc_class__void___cdecl_LucaModzZ::request_model_unsigned_int__class_std::function_void____cdecl___void___const____ptr64_::_2::_lambda_1___void___.0
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x68], 0x586765fb
lea rax, [rsp + 0x60]
mov qword [rsp + 0x98], rax
lea rdx, [rsp + 0x60]
call fcn.180082480
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x180035878
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
int3
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x18003589a
mov rax, qword [rcx]
lea rdx, [rsp + 0x20]
cmp rcx, rdx
setne dl
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov byte [0x18025e561], 1
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret