Function at 0x180055530
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 [0x180107070]
xor rax, rsp
mov qword [rbp - 8], rax
mov rdi, rcx
mov qword [rbp - 0x48], rcx
movsxd rcx, dword [0x180119248]
add rcx, rdx
call fcn.180068570
cmp eax, 0x3e7
jle 0x1800555ae
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 0x1800555a0
jmp 0x180055949
test eax, eax
jns 0x1800555e5
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 0x1800555d7
jmp 0x180055949
lea eax, [rax*8]
movsxd rdx, eax
movsxd rcx, dword [0x1801262e8]
add rdx, qword [0x180150048]
add rcx, rdx
call fcn.180068450
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 0x180055620
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 0x1800556b4
lea r8, [rbp - 0xb]
sub r8, r10
mov rdx, r10
lea rcx, [rbp - 0x40]
call fcn.180046fa0
cmp qword [rbp - 0x30], 0xd
jne 0x1800556ac
test rbx, rbx
je 0x1800556ac
lea rax, [rbx - 0x1000]
cmp rax, r12
ja 0x1800556ac
xor r14b, r14b
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
jmp 0x1800556b7
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
mov r14b, 1
cmp rax, 0x10
jb 0x1800556eb
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800556e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800558f7
call fcn.1800cf59c
test r14b, r14b
je 0x180055720
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 0x180055712
jmp 0x180055949
lea rcx, [rbx + 8]
call fcn.180068450
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 0x180055740
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 0x1800557c9
lea r8, [rbp - 0xb]
sub r8, r10
mov rdx, r10
lea rcx, [rbp - 0x40]
call fcn.180046fa0
cmp qword [rbp - 0x30], 0xd
jne 0x1800557c1
test rbx, rbx
je 0x1800557c1
lea rax, [rbx - 0x1000]
cmp rax, r12
ja 0x1800557c1
mov r14b, 1
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
jmp 0x1800557cc
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
xor r14b, r14b
cmp rax, 0x10
jb 0x180055800
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800557fb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800558f7
call fcn.1800cf59c
test r14b, r14b
je 0x180055919
mov r8d, 0x80
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.180051c20
nop
mov dword [rbp - 0x48], 0x8f878789
mov word [rbp - 0x44], 0x100
mov rcx, rsi
nop dword [rax]
lea eax, [rcx - 0x19]
xor byte [rbp + rcx - 0x48], al
inc rcx
cmp rcx, 4
jb 0x180055830
mov byte [rbp - 0x43], 0
lea rcx, [rbp - 0x48]
mov rbx, 0xffffffffffffffff
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x180055852
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 0x180055908
lea rdx, [rbp - 0x48]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180055908
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 0x1800558b0
mov r8, rbx
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.180046fa0
nop
test r12b, r12b
je 0x180055958
lea rdx, [r15 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x1800558fe
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800558fe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.1800cf59c
jmp 0x180055958
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [rdi + 0x10], xmm1
jmp 0x180055958
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 0x180055940
mov r8, rbx
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.180046fa0
mov rax, rdi
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1800cf2e0
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