Function at 0x1801810c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x180
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x180476ea8]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov rdi, rdx
mov r15, rcx
mov qword [rbp], rcx
mov qword [rbp + 0x98], rdx
xor r12d, r12d
mov r14, qword [rdx + 0x10]
mov rcx, r14
call fcn.18031e220
mov r13, rax
xorps xmm0, xmm0
lea rsi, [rax + 8]
movdqu xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xb8], r12
test rsi, rsi
je 0x1801811a5
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
ja 0x180181514
cmp rsi, 0x1000
jb 0x180181177
lea rcx, [rsi + 0x27]
cmp rcx, rsi
jbe 0x18018151a
call fcn.180383200
mov rcx, rax
test rax, rax
je 0x180181337
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18018117f
mov rcx, rsi
call fcn.180383200
mov qword [rbp + 0xa8], rax
lea rbx, [rax + rsi]
mov qword [rbp + 0xb8], rbx
mov r8, rsi
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0xb0], rbx
movabs rax, 0x97ca72d640cad959
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x10], rax
movabs rcx, 0xc5d2005b53c28f78
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x18], rax
movabs rax, 0x97ca72d671888a0b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xc0], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0xc8], rax
movdqa xmm0, xmmword [rbp + 0x10]
pxor xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x10], xmm0
mov rsi, qword [rbp + 0xb8]
mov rbx, qword [rbp + 0xa8]
sub rsi, rbx
lea r8, [rbp + 0x10]
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
lea rcx, [rbx + 4]
test rcx, rcx
jne 0x180181243
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], reloc.WS2_32.dll_shutdown
jmp 0x180181264
cmp rsi, 8
jb 0x18018124e
mov qword [rcx], r14
jmp 0x18018126a
mov r8, rsi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 0x22
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo]
call fcn.180320590
mov r8, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x18018127c
mov r8, qword [rdi]
lea rcx, [rbx + 8]
mov dword [rsp + 0x20], eax
mov r9, r14
mov rdx, r13
call fcn.18031d8d0
mov r14, rax
mov rcx, rax
call fcn.180323730
test eax, eax
jne 0x1801813c3
add r14, 8
lea r8d, [rax + 0x2a]
mov rdx, r14
mov rcx, rbx
call fcn.180323190
mov dword [rbp + 0xa0], eax
mov r10d, r12d
test r14, r14
je 0x1801812f3
mov rdx, r12
mov r9d, r12d
nop dword [rax]
lea rcx, [rbx + rdx]
and edx, 3
movzx eax, r9b
add al, byte [rbp + rdx + 0xa0]
xor byte [rcx], al
inc r10d
add r9d, 0x29
mov edx, r10d
cmp rdx, r14
jb 0x1801812d0
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], r12
mov qword [r15 + 0x18], r12
mov r8, r14
mov rdx, rbx
mov rcx, r15
call fcn.18012c3b0
nop
test rbx, rbx
je 0x18018134a
mov rax, rbx
cmp rsi, 0x1000
jb 0x18018133e
add rsi, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18018133e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rsi
mov rcx, rbx
call fcn.18038323c
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180181380
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x18018137b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1801813bc
mov rcx, r8
call fcn.18038323c
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], 0
mov rax, r15
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.1803831e0
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
movabs rax, 0xe3ea16b31de1eb4d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0xa0a070363ca1af17
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0xfe8f2f0c263cd1f6
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
movabs rax, 0xd98cd2067d472503
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
movabs rdx, 0x5824661a1a9ca50f
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rcx, 0xe2857e9fc403714c
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0x97ca72d671888a0b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xe0], rax
movabs rax, 0xc5d2005b53c28f78
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xe8], rax
movabs rax, 0x9caf4a64521ca285
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xf0], rax
movabs rax, 0xf7e9b6691e22517a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xf8], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x100], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x108], rax
vmovdqu ymm0, ymmword [rbp + 0xe0]
vpxor ymm1, ymm0, ymmword [rbp + 0x40]
vmovdqa ymmword [rbp + 0x40], ymm1
vmovdqa xmm2, xmmword [rbp + 0x60]
vpxor xmm2, xmm2, xmmword [rbp + 0x100]
vmovdqa xmmword [rbp + 0x60], xmm2
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x80]
vzeroupper
call fcn.18017ea80
lea rdx, [0x18046f368]
lea rcx, [rbp + 0x80]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.1801331b0
int3
call fcn.18012afe0
int3