Function at 0x1801818a0
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 [0x18048aea8]
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.18032f0b0
mov r13, rax
xorps xmm0, xmm0
lea rsi, [rax + 8]
movdqu xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xb8], r12
test rsi, rsi
je 0x180181985
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
ja 0x180181cf4
cmp rsi, 0x1000
jb 0x180181957
lea rcx, [rsi + 0x27]
cmp rcx, rsi
jbe 0x180181cfa
call fcn.1803940a0
mov rcx, rax
test rax, rax
je 0x180181b17
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18018195f
mov rcx, rsi
call fcn.1803940a0
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, 0xf4c9d17b83462be3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x10], rax
movabs rcx, 0x83d1e2265df1c446
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x18], rax
movabs rax, 0xf4c9d17bb20478b1
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 0x180181a23
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], reloc.WS2_32.dll_shutdown
jmp 0x180181a44
cmp rsi, 8
jb 0x180181a2e
mov qword [rcx], r14
jmp 0x180181a4a
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.180331420
mov r8, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x180181a5c
mov r8, qword [rdi]
lea rcx, [rbx + 8]
mov dword [rsp + 0x20], eax
mov r9, r14
mov rdx, r13
call fcn.18032e760
mov r14, rax
mov rcx, rax
call fcn.1803345c0
test eax, eax
jne 0x180181ba3
add r14, 8
lea r8d, [rax + 0x2a]
mov rdx, r14
mov rcx, rbx
call fcn.180334020
mov dword [rbp + 0xa0], eax
mov r10d, r12d
test r14, r14
je 0x180181ad3
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 0x180181ab0
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 0x180181b2a
mov rax, rbx
cmp rsi, 0x1000
jb 0x180181b1e
add rsi, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180181b1e
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.1803940dc
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x180181b60
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x180181b5b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180181b9c
mov rcx, r8
call fcn.1803940dc
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.180394080
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, 0x80e9b51ede6d19f7
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0xe6a3924b3292e429
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0xb8713e5d45d8c6b8
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
movabs rax, 0xb6a9da7756a0de71
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
movabs rdx, 0xa742f3e7cf862195
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rcx, 0xdc3901f29ff554fa
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0xf4c9d17bb20478b1
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xe0], rax
movabs rax, 0x83d1e2265df1c446
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xe8], rax
movabs rax, 0xda515b3531f8b5cb
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xf0], rax
movabs rax, 0x98ccbe1835c5aa08
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.18017ecf0
lea rdx, [0x180482a70]
lea rcx, [rbp + 0x80]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.180133140
int3
call fcn.18012afe0
int3