Function at 0x18005c610
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x120]
sub rsp, 0x220
mov rax, qword [0x1802dc798]
xor rax, rsp
mov qword [rbp + 0x110], rax
mov r13, r8
mov rdi, rdx
mov r14, rcx
mov qword [rsp + 0x50], rcx
mov qword [rbp + 0xb0], rdx
mov qword [rbp + 0xb8], r8
xor ebx, ebx
mov dword [rsp + 0x34], ebx
lea rax, [rbp + 0xd0]
mov qword [rbp + 0xc0], rax
mov r15, qword [rdx + 0x10]
mov r12, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x18005c681
mov r12, qword [rdx]
call fcn.1800b3c98
mov ecx, eax
mov dword [rsp + 0x48], eax
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0xe0], rbx
mov eax, 7
mov qword [rbp + 0xe8], rax
mov word [rbp + 0xd0], bx
mov dword [rsp + 0x34], 8
test r15, r15
je 0x18005c741
cmp r15, 0x7fffffff
ja 0x18005cb56
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov r8d, r15d
mov rdx, r12
call fcn.1800b3cc0
mov rsi, rax
shr rax, 0x20
test eax, eax
jne 0x18005cb61
xor r8d, r8d
movsxd rdx, esi
lea rcx, [rbp + 0xd0]
call fcn.180061f50
lea r9, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 8
cmovae r9, qword [rbp + 0xd0]
mov dword [rsp + 0x20], esi
mov r8d, r15d
mov rdx, r12
mov ecx, dword [rsp + 0x48]
call fcn.1800b3cc0
mov rcx, rax
shr rax, 0x20
test eax, eax
jne 0x18005cb6d
mov rax, qword [rbp + 0xe8]
lea rcx, [rbp + 0xd0]
cmp rax, 8
cmovae rcx, qword [rbp + 0xd0]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rbp + 0xf0]
call fcn.1800b3dd4
mov ecx, eax
test eax, eax
jne 0x18005c7c4
mov edx, dword [rbp + 0x100]
test dl, 1
mov eax, 0x1ff
mov r8d, 0x16d
cmovne eax, r8d
mov dword [rbp + 0xc4], eax
bt edx, 0xa
jae 0x18005c7b6
mov eax, dword [rbp + 0x104]
cmp eax, 0xa000000c
jne 0x18005c7a8
lea eax, [rcx + 4]
jmp 0x18005c7e9
cmp eax, 0xa0000003
jne 0x18005c7b6
mov eax, 0xa
jmp 0x18005c7e9
movzx eax, dl
and eax, 0x10
or eax, 0x20
shr eax, 4
jmp 0x18005c7e9
mov dword [rbp + 0xc4], 0xffff
sub eax, 2
je 0x18005c7e4
sub eax, 1
je 0x18005c7e4
sub eax, 0x32
je 0x18005c7e4
cmp eax, 0x46
mov eax, ebx
jne 0x18005c7e9
mov eax, 1
mov dword [rbp + 0xc0], ecx
lea rdx, [0x1802dc728]
mov qword [rbp + 0xc8], rdx
movaps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0xc0], xmm0
test eax, eax
je 0x18005c85b
cmp eax, 1
sete sil
mov rdx, qword [rbp + 0xe8]
cmp rdx, 8
jb 0x18005c86d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005c868
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005c868
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov sil, 1
test ecx, ecx
jne 0x18005cb3b
jmp 0x18005c817
call fcn.1800b29dc
test sil, sil
je 0x18005c8da
mov dword [rbp + 0xc0], 0x5d5b5f73
mov dword [rbp + 0xc4], 0x48547419
mov dword [rbp + 0xc8], 0x3550781d
mov dword [rbp + 0xcc], 0x100262f
nop word [rax + rax]
lea eax, [rbx + 0x35]
xor byte [rbp + rbx + 0xc0], al
inc rbx
cmp rbx, 0xe
jb 0x18005c8a0
mov byte [rbp + 0xcf], 0
lea r9, [rsp + 0x30]
lea r8, [rbp + 0xce]
lea rdx, [rbp + 0xc0]
mov rcx, r14
call fcn.18000b140
jmp 0x18005cab0
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x18005c8e7
mov rdx, qword [rdi]
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x3f]
lea rcx, [rbp - 0x60]
call fcn.180058690
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea r15, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], r15
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x64], edx
mov qword [rbp - 0x70], rbx
mov byte [rsp + 0x20], 0
mov r9b, 1
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x38]
call fcn.1800560f0
nop
mov rdx, r13
lea rcx, [rbp + 0xf0]
call fcn.180009da0
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.18005ab50
mov rsi, rax
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r14], 0
mov dword [rsp + 0x34], 0x206
cmp byte [rax], 3
jne 0x18005caee
mov rdx, qword [rax + 8]
cmp r14, rdx
je 0x18005c9af
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x18005c9a6
mov rdx, qword [rdx]
mov rcx, r14
call fcn.18000a8f0
nop
movzx edx, byte [rsp + 0x38]
cmp dl, 1
jne 0x18005c9e4
cmp qword [rsp + 0x40], 0
jne 0x18005ca68
mov r8d, 0x4db3
lea rdx, str.D:ClientesDarkrp_sharkDDR3json.hpp
lea rcx, str.m_type___value_t::object__m_value.object___nullptr
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movzx edx, byte [rsp + 0x38]
cmp dl, 2
jne 0x18005ca10
cmp qword [rsp + 0x40], 0
jne 0x18005ca68
mov r8d, 0x4db4
lea rdx, str.D:ClientesDarkrp_sharkDDR3json.hpp
lea rcx, str.m_type___value_t::array__m_value.array___nullptr
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movzx edx, byte [rsp + 0x38]
cmp dl, 3
jne 0x18005ca3c
cmp qword [rsp + 0x40], 0
jne 0x18005ca68
mov r8d, 0x4db5
lea rdx, str.D:ClientesDarkrp_sharkDDR3json.hpp
lea rcx, str.m_type___value_t::string__m_value.string___nullptr
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movzx edx, byte [rsp + 0x38]
cmp dl, 8
jne 0x18005ca68
cmp qword [rsp + 0x40], 0
jne 0x18005ca68
mov r8d, 0x4db6
lea rdx, str.D:ClientesDarkrp_sharkDDR3json.hpp
lea rcx, str.m_type___value_t::binary__m_value.binary___nullptr
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movzx edx, byte [rsp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.18005e340
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x60], r15
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x50]
call fcn.180059df0
lea rcx, [rbp - 0x48]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x50]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rcx, rdi
call fcn.180009c70
nop
mov rcx, r13
call fcn.180009c70
mov rax, r14
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.1800b2f90
mov rbx, qword [rsp + 0x278]
add rsp, 0x220
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, rsi
call fcn.180064b00
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x48]
lea rdx, str.type_must_be_string__but_is
lea rcx, [rbp + 0xd0]
call fcn.18004f6f0
nop
mov r9, rsi
mov r8, rax
mov edx, 0x12e
lea rcx, [rsp + 0x58]
call fcn.1800503d0
lea rdx, [0x1800e1298]
lea rcx, [rsp + 0x58]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0xc0]
lea rcx, str.exists
call fcn.18005de10
nop
mov ecx, reloc.WLDAP32.dll_Ordinal_22
call fcn.18005de70
int3
shr rsi, 0x20
mov ecx, esi
call fcn.18005deb0
int3
shr rcx, 0x20
call fcn.18005deb0
int3