Function at 0x140053810
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rdi, rcx
xor ebx, ebx
mov rax, qword [rcx]
movzx r15d, byte [rax + 0xd0]
test r15b, r15b
je 0x140053bae
mov rax, qword [rcx]
movzx eax, byte [rax + 0xd1]
test al, al
je 0x140053bae
mov r8, qword [rcx]
cmp byte [r8 + 0x1b8], bl
je 0x140053bae
lea rcx, [r8 + 0x190]
add r8, 0x170
mov rdx, qword [r8 + 0x10]
mov r10, qword [rcx + 0x10]
movabs rsi, 0x7fffffffffffffff
mov rax, rsi
sub rax, rdx
cmp rax, r10
jb 0x140053bd4
mov r9, r8
cmp qword [r8 + 0x18], 0xf
jbe 0x1400538a5
mov r9, qword [r8]
cmp qword [rcx + 0x18], 0xf
jbe 0x1400538af
mov rcx, qword [rcx]
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
movzx edx, byte [rbp - 0x69]
lea rcx, [rbp - 0x61]
call fcn.140012da0
lea r9, [rbp - 0x61]
mov r10, qword [rbp - 0x61]
mov r11, qword [rbp - 0x49]
cmp r11, 0xf
cmova r9, r10
mov rcx, rbx
mov rdx, rbx
mov r8, qword [rbp - 0x51]
test r8, r8
je 0x140053911
nop
movsx rax, byte [rdx + r9]
add rax, rcx
imul rcx, rax, 0x401
mov rax, rcx
shr rax, 6
xor rcx, rax
inc rdx
cmp rdx, r8
jb 0x1400538f0
lea rax, [rcx + rcx*8]
mov rcx, rax
shr rcx, 0xb
xor rcx, rax
imul rax, rcx, 0x8001
movabs r12, 0x5851f42d4c957f2d
test rax, rax
jne 0x14005393e
imul r8, r12
inc r8
jmp 0x140053941
mov r8, rax
mov rax, qword [rdi + 8]
mov qword [rax], r8
cmp r11, 0xf
jbe 0x14005397f
lea rdx, [r11 + 1]
mov rax, r10
cmp rdx, 0x1000
jb 0x140053977
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140053bda
mov rcx, r10
call fcn.1400ce56c
mov rax, qword [rdi]
lea rcx, [rax + 0x190]
lea r8, [rax + 0x170]
mov rax, qword [r8 + 0x10]
mov rdx, qword [rcx + 0x10]
sub rsi, rax
cmp rsi, rdx
jb 0x140053be0
mov r9, r8
cmp qword [r8 + 0x18], 0xf
jbe 0x1400539b1
mov r9, qword [r8]
cmp qword [rcx + 0x18], 0xf
jbe 0x1400539bb
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
movzx edx, byte [rbp - 0x69]
lea rcx, [rbp - 0x11]
call fcn.140012da0
nop
lea r9, [rbp - 0x11]
mov rsi, qword [rbp - 0x11]
mov r14, qword [rbp + 7]
cmp r14, 0xf
cmova r9, rsi
mov rcx, rbx
mov rdx, rbx
mov r8, qword [rbp - 1]
test r8, r8
je 0x140053a21
nop dword [rax + rax]
movsx rax, byte [r9 + rdx]
add rax, rcx
imul rcx, rax, 0x401
mov rax, rcx
shr rax, 6
xor rcx, rax
inc rdx
cmp rdx, r8
jb 0x140053a00
lea rax, [rcx + rcx*8]
mov rcx, rax
shr rcx, 0xb
xor rcx, rax
imul rax, rcx, 0x8001
test rax, rax
jne 0x140053a44
imul r8, r12
inc r8
jmp 0x140053a47
mov r8, rax
mov rax, qword [rdi]
sub r8, qword [rax + 0x1b0]
cmp byte [rax + 0x1b8], 0
sete al
lea rcx, [0x14015bac4]
mov qword [rbp - 0x29], rcx
mov qword [rbp - 0x21], 5
mov byte [rbp + 0x1f], al
movabs rax, 0x5000000000000000
mov qword [rbp + 0xf], rax
mov qword [rbp + 0x20], r8
movabs rax, 0x4000000000000001
mov qword [rbp + 0x17], rax
mov qword [rbp - 0x39], 2
lea rax, [rbp + 0xf]
mov qword [rbp - 0x31], rax
movaps xmm0, xmmword [rbp - 0x39]
movdqa xmmword [rbp - 0x39], xmm0
movaps xmm1, xmmword [rbp - 0x29]
movdqa xmmword [rbp - 0x29], xmm1
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x61]
call fcn.14000fd40
lea r8, [rbp - 0x61]
cmp qword [rbp - 0x49], 0xf
cmova r8, qword [rbp - 0x61]
mov rcx, rbx
mov rdx, qword [rbp - 0x51]
test rdx, rdx
je 0x140053b01
nop
movsx rax, byte [r8 + rcx]
add rax, rbx
imul rbx, rax, 0x401
mov rax, rbx
shr rax, 6
xor rbx, rax
inc rcx
cmp rcx, rdx
jb 0x140053ae0
lea rax, [rbx + rbx*8]
mov rcx, rax
shr rcx, 0xb
xor rcx, rax
imul rax, rcx, 0x8001
test rax, rax
jne 0x140053b24
imul rdx, r12
inc rdx
jmp 0x140053b27
mov rdx, rax
mov rax, qword [rdi + 8]
mov qword [rax + 8], rdx
mov rdx, qword [rbp - 0x49]
cmp rdx, 0xf
jbe 0x140053b6a
inc rdx
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053b65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140053be6
call fcn.1400ce56c
movdqa xmm0, xmmword [0x14015cbe0]
movdqu xmmword [rbp - 0x51], xmm0
mov byte [rbp - 0x61], 0
cmp r14, 0xf
jbe 0x140053bae
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140053ba6
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140053bce
mov rcx, rsi
call fcn.1400ce56c
movzx eax, r15b
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.1400e1a34
int3
call fcn.140002530
int3
call fcn.1400e1a34
int3
call fcn.140002530
nop
call fcn.1400e1a34
nop
int3