Function at 0x180036920
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 + 0xc]
mov rdi, rcx
call fcn.180034290
movzx edx, byte [rdi + 0xd]
call fcn.180034560
xor esi, esi
movabs rbp, 0xd80958fc74e988a6
cmp byte [rdi + 0xe], sil
je 0x180028634
call fcn.180026520
mov dword [rax + 8], esi
mov dword [rax + 0x18], esi
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], esi
inc dword [rax + 8]
call fcn.180026520
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.1800263c0
call fcn.180026520
mov rcx, qword [rax]
cmp dword [rcx], esi
je 0x180028634
call fcn.180026520
mov rcx, rbp
mov dword [rax + 8], esi
mov dword [rax + 0x18], esi
call fcn.1800263c0
call fcn.180026520
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.180033e80
mov ebx, eax
call fcn.180026520
mov dword [rax + 8], esi
mov dword [rax + 0x18], esi
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180026520
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.1800263c0
call fcn.180026520
cmp byte [rdi + 0xf], sil
je 0x1800286a7
call fcn.180026520
mov rcx, rbp
mov dword [rax + 8], esi
mov dword [rax + 0x18], esi
call fcn.1800263c0
call fcn.180026520
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.180033e80
mov ebx, eax
call fcn.180026520
mov dword [rax + 8], esi
mov dword [rax + 0x18], esi
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180026520
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.1800263c0
call fcn.180026520
cmp byte [rdi + 0x10], sil
je 0x180028718
call fcn.180026520
mov rcx, rbp
mov dword [rax + 8], esi
mov dword [rax + 0x18], esi
call fcn.1800263c0
call fcn.180026520
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.180033e80
mov ebx, eax
call fcn.180026520
mov dword [rax + 8], esi
mov dword [rax + 0x18], esi
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180026520
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.1800263c0
call fcn.180026520
movzx edx, byte [rdi + 0x11]
call fcn.180034710
movzx edx, byte [rdi + 0x12]
call fcn.180034f50
movzx edx, byte [rdi + 0x18]
mov rcx, rdi
call fcn.180035130
movzx edx, byte [rdi + 0x19]
call fcn.180035830
movzx edx, byte [rdi + 0x1a]
call fcn.180035cc0
movzx edx, byte [rdi + 0x1b]
call fcn.180036260
movzx edx, byte [rdi + 0x1c]
call fcn.180036600
movzx edx, byte [rdi + 0x1d]
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
jmp 0x180036920
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0xa0
test dl, dl
jne 0x180036a09
cmp byte [0x1802b7f12], dl
je 0x1800369fd
call fcn.180026520
xor edi, edi
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
movabs rcx, 0xd80958fc74e988a6
call fcn.1800263c0
call fcn.180026520
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180026520
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180026520
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.1800263c0
call fcn.180026520
mov rcx, qword [rax]
mov r8d, dword [0x1802b7f14]
cmp r8d, dword [rcx]
jne 0x1800369f6
mov rax, qword [0x1802b7ee8]
mov rdx, qword [rax + 0xd0]
mov ecx, r8d
call rdx
test rax, rax
je 0x1800369f6
mov rcx, qword [0x1802b7f18]
mov qword [rax + 0x918], rcx
mov qword [0x1802b7f18], rdi
mov dword [0x1802b7f14], edi
mov byte [0x1802b7f12], dil
mov byte [0x1802b7f11], 0
jmp 0x180036cd1
call fcn.180026520
xor edi, edi
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
movabs rsi, 0xd80958fc74e988a6
mov rcx, rsi
call fcn.1800263c0
call fcn.180026520
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180026520
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180026520
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.1800263c0
call fcn.180026520
mov rcx, qword [rax]
cmp dword [rcx], edi
je 0x180036cd1
mov rax, qword [0x1802b7ee8]
mov rcx, qword [rax + 0x50]
mov rax, qword [rcx]
test rax, rax
je 0x180036cd1
mov rax, qword [rax + 8]
test rax, rax
je 0x180036cd1
cmp qword [rax + 0xd10], rdi
je 0x180036cd1
call fcn.180026520
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
mov rcx, rsi
call fcn.1800263c0
call fcn.180026520
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180026520
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180026520
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.1800263c0
call fcn.180026520
mov rcx, qword [rax]
mov ebx, dword [0x1802b7f14]
cmp ebx, dword [rcx]
je 0x180036b84
call fcn.180026520
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
call fcn.180026520
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.1800263c0
call fcn.180026520
mov rcx, qword [rax]
cmp dword [rcx], edi
je 0x180036b84
cmp qword [0x1802b7f18], rdi
je 0x180036b84
mov rax, qword [0x1802b7ee8]
mov rdx, qword [rax + 0xd0]
mov ecx, dword [0x1802b7f14]
call rdx
test rax, rax
je 0x180036b84
mov rcx, qword [0x1802b7f18]
mov qword [rax + 0x918], rcx
call fcn.180026520
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
mov rcx, rsi
call fcn.1800263c0
call fcn.180026520
mov rcx, qword [rax]
mov ebx, dword [rcx]
call fcn.180026520
mov dword [rax + 8], edi
mov dword [rax + 0x18], edi
call fcn.180026520
mov edx, dword [rax + 8]
mov rcx, qword [rax + 0x10]
mov dword [rcx + rdx*8], ebx
inc dword [rax + 8]
call fcn.180026520
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.1800263c0
call fcn.180026520
mov rcx, qword [rax]
mov eax, dword [rcx]
cmp dword [0x1802b7f14], eax
je 0x180036cd1
cmp byte [0x1802b7f11], dil
jne 0x180036cd1
lea r10, [0x180198fa6]
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 0x180036c10
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.180085d20
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x180036ca8
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 0x180036cca
mov rax, qword [rcx]
lea rdx, [rsp + 0x20]
cmp rcx, rdx
setne dl
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov byte [0x1802b7f11], 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