Function at 0x180020dc0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov rax, qword [0x1801491e0]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov r15, rdx
mov rdi, rcx
mov qword [rbp + 0x17], rcx
xor ebx, ebx
mov dword [rbp - 0x49], ebx
mov qword [rcx], rbx
mov qword [rcx + 0x10], rbx
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], bl
mov dword [rbp - 0x49], 1
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1f], xmm0
mov qword [rbp + 0x2f], rbx
mov ecx, 0x400
call fcn.180107f04
mov qword [rbp + 0x1f], rax
lea rsi, [rax + 0x400]
mov qword [rbp + 0x2f], rsi
movdqa xmm0, xmmword [0x18012ef90]
lea ecx, [rbx + 8]
nop word [rax + rax]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmmword [rax - 0x10], xmm0
sub rcx, 1
jne 0x180020e50
mov qword [rbp + 0x27], rsi
mov edx, ebx
lea r8, [rbp - 0x39]
nop word [rax + rax]
movdqa xmm0, xmmword [str.sqwqsq]
movdqa xmmword [rbp - 0x39], xmm0
movdqa xmm1, xmmword [0x18012e1a0]
movdqa xmmword [rbp - 0x29], xmm1
movdqa xmm0, xmmword [str.5___575___]
movdqa xmmword [rbp - 0x19], xmm0
movdqa xmm1, xmmword [0x18012e6e0]
movdqa xmmword [rbp - 9], xmm1
mov word [rbp + 7], 0x100
mov rax, rbx
nop dword [rax]
lea ecx, [rax + 0x32]
xor byte [rbp + rax - 0x39], cl
inc rax
cmp rax, 0x40
jb 0x180020ed0
mov byte [rbp + 8], 0
movsx rcx, byte [r8]
mov rax, qword [rbp + 0x1f]
mov dword [rax + rcx*4], edx
inc edx
inc r8
cmp edx, 0x40
jl 0x180020e90
mov esi, 0xfffffff8
mov rcx, r15
cmp qword [r15 + 0x18], 0x10
jb 0x180020f10
mov rcx, qword [r15]
mov rdx, rcx
jmp 0x180020f13
mov rdx, r15
mov r14, rcx
mov r15, qword [r15 + 0x10]
add r15, rdx
cmp rcx, r15
mov rcx, qword [rbp + 0x1f]
je 0x180020f99
nop word [rax + rax]
movzx eax, byte [r14]
mov edx, dword [rcx + rax*4]
cmp edx, 0xffffffff
je 0x180020f99
shl ebx, 6
add ebx, edx
add esi, 6
js 0x180020f91
mov edx, ebx
mov ecx, esi
sar edx, cl
mov rcx, qword [rdi + 0x10]
mov r8, qword [rdi + 0x18]
cmp rcx, r8
jae 0x180020f77
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp r8, 0x10
jb 0x180020f6d
mov rax, qword [rdi]
mov byte [rax + rcx], dl
mov byte [rax + rcx + 1], 0
jmp 0x180020f8a
movzx r9d, dl
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rdi
call fcn.1800450f0
sub esi, 8
mov rcx, qword [rbp + 0x1f]
inc r14
cmp r14, r15
jne 0x180020f30
test rcx, rcx
je 0x180020fd6
mov rdx, qword [rbp + 0x2f]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
mov rax, rcx
cmp rdx, 0x1000
jb 0x180020fd1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180020fd1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180108390
mov rax, rdi
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.180107c30
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret