Function at 0x1800385b0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x120
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x180161040]
xor rax, rsp
mov qword [rbp], rax
mov r14, rdx
mov qword [rsp + 0x50], rdx
mov rsi, rcx
lea r12, [rcx + 0x28]
mov rbx, qword [r12]
mov rdi, qword [r12 + 8]
cmp rbx, rdi
je 0x18003861d
lea rcx, [rbx + 8]
call fcn.180005610
add rbx, 0x30
cmp rbx, rdi
jne 0x180038602
mov rax, qword [r12]
mov qword [r12 + 8], rax
mov rcx, qword [rsi]
add rcx, 0x30
lea rdx, [rsp + 0x58]
call fcn.1800397d0
nop
mov r15, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
cmp r15, r13
je 0x1800389aa
movabs r10, 0x2000000000000000
lea r9, str.Unknown__hash_:_0x:08X
mov r8d, 0x16
movabs rdx, 0x8000000000000000
movabs rcx, 0x7fffffffffffffff
movups xmm6, xmmword [r15]
mov rdi, qword [r14 + 8]
mov rbx, qword [r14]
movd r14d, xmm6
xor esi, esi
cmp rbx, rdi
je 0x18003889e
nop dword [rax + rax]
mov r11, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x18003869d
mov r11, qword [rbx]
mov ecx, esi
mov r10d, esi
cmp byte [r11], sil
je 0x1800386ec
nop word [rax + rax]
lea r9d, [rcx + 1]
mov eax, ecx
movzx r8d, byte [rax + r11]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r10d
imul r10d, eax, 0x401
mov eax, r10d
shr eax, 6
xor r10d, eax
mov ecx, r9d
cmp byte [r9 + r11], sil
jne 0x1800386b0
lea ecx, [r10 + r10*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
cmp eax, r14d
je 0x18003870b
add rbx, 0x20
cmp rbx, rdi
jne 0x180038690
movabs rcx, 0x7fffffffffffffff
movabs rdx, 0x8000000000000000
mov r8d, 0x16
lea r9, str.Unknown__hash_:_0x:08X
movabs r10, 0x2000000000000000
cmp rbx, rdi
je 0x18003889e
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov rsi, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0xf
jbe 0x180038755
mov rbx, qword [rbx]
cmp rsi, rcx
ja 0x180038a1d
cmp rsi, 0xf
ja 0x18003877a
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 0xf
movups xmm1, xmmword [rbx]
jmp 0x180038804
mov rdi, rsi
or rdi, 0xf
cmp rdi, rcx
jbe 0x18003878f
mov rdi, rcx
lea rax, [rdx + 0x27]
jmp 0x1800387ba
cmp rdi, 0x16
cmovb rdi, r8
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x1800387a4
xor eax, eax
jmp 0x1800387e1
cmp rcx, 0x1000
jb 0x1800387dc
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180038a23
mov rcx, rax
call fcn.1800df99c
mov rcx, rax
test rax, rax
je 0x180038897
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1800387e1
call fcn.1800df99c
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rdi
lea r8, [rsi + 1]
mov rdx, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
movups xmm1, xmmword [rsp + 0x20]
mov dword [rbp - 0x70], r14d
movups xmmword [rbp - 0x68], xmm1
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp - 0x58], xmm0
psrldq xmm6, 8
movq qword [rbp - 0x48], xmm6
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x18003884c
mov dword [rdx], r14d
movups xmmword [rdx + 8], xmm1
movups xmmword [rdx + 0x18], xmm0
mov eax, 0xf
mov byte [rbp - 0x68], 0
movq qword [rdx + 0x28], xmm6
add qword [r12 + 8], 0x30
jmp 0x18003885c
lea r8, [rbp - 0x70]
mov rcx, r12
call fcn.180039fa0
mov rax, qword [rbp - 0x50]
cmp rax, 0xf
jbe 0x18003898b
lea rdx, [rax + 1]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180038986
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180038986
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov qword [rbp - 0x80], r9
mov qword [rbp - 0x78], 0x18
mov dword [rbp - 0x38], r14d
mov qword [rbp - 0x40], r10
mov qword [rsp + 0x70], 1
lea rax, [rbp - 0x40]
mov qword [rsp + 0x78], rax
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rbp - 0x80]
movdqa xmmword [rsp + 0x20], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x70]
call fcn.180039ce0
mov dword [rbp - 0x30], r14d
movups xmm1, xmmword [rbp - 0x70]
movups xmmword [rbp - 0x28], xmm1
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rbp - 0x18], xmm0
psrldq xmm6, 8
movq qword [rbp - 8], xmm6
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], 0
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x180038947
mov dword [rdx], r14d
movups xmmword [rdx + 8], xmm1
movups xmmword [rdx + 0x18], xmm0
mov eax, 0xf
mov byte [rbp - 0x28], 0
movq qword [rdx + 0x28], xmm6
add qword [r12 + 8], 0x30
jmp 0x180038957
lea r8, [rbp - 0x30]
mov rcx, r12
call fcn.180039fa0
mov rax, qword [rbp - 0x10]
cmp rax, 0xf
jbe 0x18003898b
lea rdx, [rax + 1]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180038986
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003899e
call fcn.1800df6f8
add r15, 0x10
cmp r15, r13
je 0x1800389a5
mov r14, qword [rsp + 0x50]
jmp 0x180038642
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov r15, qword [rsp + 0x58]
test r15, r15
je 0x1800389eb
mov rdx, qword [rsp + 0x68]
sub rdx, r15
and rdx, 0xfffffffffffffff0
mov rax, r15
cmp rdx, 0x1000
jb 0x1800389e3
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800389e3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r15
call fcn.1800df6f8
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1800df290
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180003600
nop
call fcn.180003560
int3