Function at 0x1800550f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x180109070]
xor rax, rsp
mov qword [rbp - 8], rax
mov rdi, rcx
mov qword [rbp - 0x48], rcx
test rdx, rdx
jne 0x18005515e
xor eax, eax
mov word [rbp - 0x50], ax
xor esi, esi
mov qword [rcx], rsi
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], sil
lea rax, [rbp - 0x50]
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180055150
jmp 0x18005554c
movsxd rcx, dword [0x18011b248]
add rcx, rdx
call fcn.18006a830
cmp eax, 0x3e7
jle 0x1800551ae
xor eax, eax
mov word [rbp - 0x50], ax
xor esi, esi
mov qword [rdi], rsi
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], sil
lea rax, [rbp - 0x50]
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1800551a0
jmp 0x180055549
test eax, eax
jns 0x1800551e5
xor eax, eax
mov word [rbp - 0x50], ax
xor esi, esi
mov qword [rdi], rsi
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], sil
lea rax, [rbp - 0x50]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x1800551d7
jmp 0x180055549
lea eax, [rax*8]
movsxd rdx, eax
movsxd rcx, dword [0x1801362e8]
add rdx, qword [0x180160058]
add rcx, rdx
call fcn.18006a690
mov rbx, rax
lea r10, [rbp - 0xb]
mov r9, rax
movabs r15, 0xcccccccccccccccd
nop dword [rax]
dec r10
mov rax, r15
mul r9
shr rdx, 3
movzx ecx, dl
shl cl, 2
lea r8d, [rcx + rdx]
add r8b, r8b
sub r9b, r8b
add r9b, 0x30
mov byte [r10], r9b
mov r9, rdx
test rdx, rdx
jne 0x180055220
xor esi, esi
mov ecx, esi
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x30], rsi
mov eax, reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0xb]
movabs r12, 0x7ffffffeefff
cmp r10, rdx
je 0x1800552b4
lea r8, [rbp - 0xb]
sub r8, r10
mov rdx, r10
lea rcx, [rbp - 0x40]
call fcn.180047040
cmp qword [rbp - 0x30], 0xd
jne 0x1800552ac
test rbx, rbx
je 0x1800552ac
lea rax, [rbx - 0x1000]
cmp rax, r12
ja 0x1800552ac
xor r14b, r14b
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
jmp 0x1800552b7
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
mov r14b, 1
cmp rax, 0x10
jb 0x1800552eb
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800552e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800554f7
call fcn.1800d155c
test r14b, r14b
je 0x180055320
xor eax, eax
mov word [rbp - 0x50], ax
mov qword [rdi], rsi
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], al
lea rax, [rbp - 0x50]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x180055312
jmp 0x180055549
lea rcx, [rbx + 8]
call fcn.18006a690
mov rbx, rax
lea r10, [rbp - 0xb]
mov r9, rax
nop dword [rax]
nop word [rax + rax]
dec r10
mov rax, r15
mul r9
shr rdx, 3
movzx ecx, dl
shl cl, 2
lea r8d, [rcx + rdx]
add r8b, r8b
sub r9b, r8b
add r9b, 0x30
mov byte [r10], r9b
mov r9, rdx
test rdx, rdx
jne 0x180055340
mov rcx, rsi
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x30], rsi
mov eax, reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0xb]
cmp r10, rdx
je 0x1800553c9
lea r8, [rbp - 0xb]
sub r8, r10
mov rdx, r10
lea rcx, [rbp - 0x40]
call fcn.180047040
cmp qword [rbp - 0x30], 0xd
jne 0x1800553c1
test rbx, rbx
je 0x1800553c1
lea rax, [rbx - 0x1000]
cmp rax, r12
ja 0x1800553c1
mov r14b, 1
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
jmp 0x1800553cc
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
xor r14b, r14b
cmp rax, 0x10
jb 0x180055400
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800553fb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800554f7
call fcn.1800d155c
test r14b, r14b
je 0x180055519
mov r8d, 0x80
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.180051ac0
nop
mov dword [rbp - 0x48], 0x171f1f01
mov word [rbp - 0x44], 0x100
mov rcx, rsi
nop dword [rax]
lea eax, [rcx + 0x6f]
xor byte [rbp + rcx - 0x48], al
inc rcx
cmp rcx, 4
jb 0x180055430
mov byte [rbp - 0x43], 0
lea rcx, [rbp - 0x48]
mov rbx, 0xffffffffffffffff
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x180055452
lea rcx, [rbp - 0x40]
mov r15, qword [rbp - 0x28]
cmp r15, 0x10
setae r12b
mov r14, qword [rbp - 0x40]
cmovae rcx, r14
mov r8, qword [rbp - 0x30]
cmp r8, rax
jne 0x180055508
lea rdx, [rbp - 0x48]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180055508
xor eax, eax
mov word [rbp - 0x50], ax
mov qword [rdi], rsi
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], al
lea rax, [rbp - 0x50]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1800554b0
mov r8, rbx
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.180047040
nop
test r12b, r12b
je 0x180055558
lea rdx, [r15 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x1800554fe
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800554fe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.1800d155c
jmp 0x180055558
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [rdi + 0x10], xmm1
jmp 0x180055558
xor eax, eax
mov word [rbp - 0x50], ax
mov qword [rdi], rsi
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], al
lea rax, [rbp - 0x50]
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180055540
mov rcx, rdi
mov r8, rbx
lea rdx, [rbp - 0x50]
call fcn.180047040
mov rax, rdi
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1800d12a0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret