Function at 0x1800553c0
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 0x18005542e
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 0x180055420
jmp 0x18005581c
movsxd rcx, dword [0x18011b248]
add rcx, rdx
call fcn.18006a840
cmp eax, 0x3e7
jle 0x18005547e
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 0x180055470
jmp 0x180055819
test eax, eax
jns 0x1800554b5
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 0x1800554a7
jmp 0x180055819
lea eax, [rax*8]
movsxd rdx, eax
movsxd rcx, dword [0x180131b18]
add rdx, qword [0x18015b888]
add rcx, rdx
call fcn.18006a6a0
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 0x1800554f0
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 0x180055584
lea r8, [rbp - 0xb]
sub r8, r10
mov rdx, r10
lea rcx, [rbp - 0x40]
call fcn.180047020
cmp qword [rbp - 0x30], 0xd
jne 0x18005557c
test rbx, rbx
je 0x18005557c
lea rax, [rbx - 0x1000]
cmp rax, r12
ja 0x18005557c
xor r14b, r14b
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
jmp 0x180055587
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
mov r14b, 1
cmp rax, 0x10
jb 0x1800555bb
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800555b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800557c7
call fcn.1800d15ac
test r14b, r14b
je 0x1800555f0
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 0x1800555e2
jmp 0x180055819
lea rcx, [rbx + 8]
call fcn.18006a6a0
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 0x180055610
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 0x180055699
lea r8, [rbp - 0xb]
sub r8, r10
mov rdx, r10
lea rcx, [rbp - 0x40]
call fcn.180047020
cmp qword [rbp - 0x30], 0xd
jne 0x180055691
test rbx, rbx
je 0x180055691
lea rax, [rbx - 0x1000]
cmp rax, r12
ja 0x180055691
mov r14b, 1
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
jmp 0x18005569c
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
xor r14b, r14b
cmp rax, 0x10
jb 0x1800556d0
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800556cb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800557c7
call fcn.1800d15ac
test r14b, r14b
je 0x1800557e9
mov r8d, 0x80
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.180051aa0
nop
mov dword [rbp - 0x48], 0xe1ededef
mov word [rbp - 0x44], 0x100
mov rcx, rsi
nop dword [rax]
lea eax, [rcx - 0x7f]
xor byte [rbp + rcx - 0x48], al
inc rcx
cmp rcx, 4
jb 0x180055700
mov byte [rbp - 0x43], 0
lea rcx, [rbp - 0x48]
mov rbx, 0xffffffffffffffff
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x180055722
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 0x1800557d8
lea rdx, [rbp - 0x48]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800557d8
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 0x180055780
mov r8, rbx
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.180047020
nop
test r12b, r12b
je 0x180055828
lea rdx, [r15 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x1800557ce
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800557ce
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.1800d15ac
jmp 0x180055828
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [rdi + 0x10], xmm1
jmp 0x180055828
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 0x180055810
mov rcx, rdi
mov r8, rbx
lea rdx, [rbp - 0x50]
call fcn.180047020
mov rax, rdi
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1800d12f0
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