Function at 0x1800552d0
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
movsxd rcx, dword [0x18011b248]
add rcx, rdx
call fcn.1800699f0
cmp eax, 0x3e7
jle 0x18005534e
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 0x180055340
jmp 0x1800556e9
test eax, eax
jns 0x180055385
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 0x180055377
jmp 0x1800556e9
lea eax, [rax*8]
movsxd rdx, eax
movsxd rcx, dword [0x1801282f4]
add rdx, qword [0x180152070]
add rcx, rdx
call fcn.1800698d0
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 0x1800553c0
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 0x180055454
lea r8, [rbp - 0xb]
sub r8, r10
mov rdx, r10
lea rcx, [rbp - 0x40]
call fcn.180047060
cmp qword [rbp - 0x30], 0xd
jne 0x18005544c
test rbx, rbx
je 0x18005544c
lea rax, [rbx - 0x1000]
cmp rax, r12
ja 0x18005544c
xor r14b, r14b
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
jmp 0x180055457
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
mov r14b, 1
cmp rax, 0x10
jb 0x18005548b
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180055486
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180055697
call fcn.1800d0a1c
test r14b, r14b
je 0x1800554c0
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 0x1800554b2
jmp 0x1800556e9
lea rcx, [rbx + 8]
call fcn.1800698d0
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 0x1800554e0
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 0x180055569
lea r8, [rbp - 0xb]
sub r8, r10
mov rdx, r10
lea rcx, [rbp - 0x40]
call fcn.180047060
cmp qword [rbp - 0x30], 0xd
jne 0x180055561
test rbx, rbx
je 0x180055561
lea rax, [rbx - 0x1000]
cmp rax, r12
ja 0x180055561
mov r14b, 1
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
jmp 0x18005556c
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
xor r14b, r14b
cmp rax, 0x10
jb 0x1800555a0
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005559b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180055697
call fcn.1800d0a1c
test r14b, r14b
je 0x1800556b9
mov r8d, 0x80
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.180051ba0
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 0x1800555d0
mov byte [rbp - 0x43], 0
lea rcx, [rbp - 0x48]
mov rbx, 0xffffffffffffffff
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x1800555f2
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 0x1800556a8
lea rdx, [rbp - 0x48]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800556a8
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 0x180055650
mov r8, rbx
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.180047060
nop
test r12b, r12b
je 0x1800556f8
lea rdx, [r15 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x18005569e
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18005569e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.1800d0a1c
jmp 0x1800556f8
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [rdi + 0x10], xmm1
jmp 0x1800556f8
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 0x1800556e0
mov r8, rbx
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.180047060
mov rax, rdi
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1800d0760
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