Function at 0x14002d58c
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rdi
push r12
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0x45c2b67b
add rsp, 0x45c2b5a3
mov qword [rax - 0x28], rbx
xorps xmm0, xmm0
mov qword [rax - 0x30], rsi
xor r14d, r14d
mov qword [rdx], r14
mov r12, rdx
mov qword [rdx + 8], r14
mov qword [rdx + 0x10], r14
mov qword [rdx + 0x18], 0x57939589
xor qword [rdx + 0x18], 0x3e240c71
xor qword [rdx + 0x18], 0x69b799f9
mov rsi, qword [rcx + 0x868]
mov rbx, qword [rcx + 0x830]
mov qword [rax - 0x38], r13
mov r13, rcx
lea rax, [rbp - 0x29]
lea rdx, [rsi + 1]
mov qword [rbp - 0x31], rax
lea rcx, [rbp - 0x31]
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
call fcn.1400189f0
mov r8, rax
mov ecx, 0x115b555d
xor ecx, 0xeedf444
xor ecx, 0x165a44ec
add ecx, 0x70ab76c2
mov r9d, 0x69bf4229
sub r9d, 0x18b7267
sub r9d, 0x6833cec3
test rsi, rsi
je 0x14002d65e
mov rdx, rax
sub rbx, rax
mov rdi, rsi
movzx eax, cx
lea rdx, [rdx + 2]
and ax, r9w
ror ecx, 8
xor ax, word [rbx + rdx - 2]
mov word [rdx - 2], ax
sub rdi, 1
jne 0x14002d63d
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x14002db2a
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x48781fae
sub edx, 0x2add7139
xor edx, 0x1d9aae7f
mov rcx, r14
call 0x1400bccf0
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff3e95edd9
xor r15, 0x3d5b012f
add r15, 0x1bc4e9f6
add r15, 0x7fffffff
add r15, 0x606c2914
test rax, rax
je 0x14002d6da
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x14002d6f1
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x14002d6e2
lea rdi, [rbx + 1]
mov eax, 0x13dc84b0
add eax, 0x59f7ceaf
sub eax, 0x6dd4535d
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.1400bbad0
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.1400bce40
cmp byte [r13 + 0x884], 0
je 0x14002d7ce
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.140047ee0
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.1400364a0
cmp eax, dword [rdi]
jle 0x14002d7ce
mov edx, 0x21bf2a4
add edx, 0x260226da
sub edx, 0x27f4975b
sub edx, 0x298203
mov rcx, rsi
call fcn.1400bcf60
test rax, rax
jne 0x14002d7b0
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x14002d792
cmp rax, 1
jbe 0x14002d9cd
dec rax
lea rax, [rsi + rax*2]
mov word [rax], bx
sub rax, rsi
sar rax, 1
lea rax, [r14 + rax*2]
mov qword [rbp + 0x6f], rax
cmp byte [r13 + 0x884], bl
jne 0x14002d744
xor r14d, r14d
xorps xmm0, xmm0
lea rax, [rbp - 0x69]
mov qword [rbp - 0x71], rax
mov rdx, r15
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
inc rdx
cmp word [rsi + rdx*2], 0
jne 0x14002d7eb
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.1400189f0
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x2184ed5e
xor edx, 0x6770b826
add edx, 0x28c55cea
add edx, 0xadeaa55
popf
mov rdi, r14
jbe 0x14002d87e
mov r8, rsi
mov r9d, 0xd41e503
sub r9d, 0xe26c8a
add r9d, 0x4ccdcc1d
xor r9d, 0x592d4469
sub r8, rax
nop word [rax + rax]
movzx ecx, dx
lea rax, [rax + 2]
and cx, r9w
ror edx, 8
xor cx, word [r8 + rax - 2]
inc rdi
mov word [rax - 2], cx
cmp rdi, qword [rbp - 0x39]
jb 0x14002d859
mov rax, qword [r12 + 8]
test rax, rax
je 0x14002da19
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x14002da10
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400bbfa0
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x14002d97d
nop
movabs rsi, 0xffffffff560070d3
sub rsi, 0x30b920e7
add rsi, 0x7fffffff
xor rsi, 0x5ab8b023
lea rbx, [rax + 0x38]
sub rsi, rax
xor r13d, r13d
nop dword [rax]
mov r14, qword [r12]
lea rax, [rbx - 0x30]
mov qword [rbx - 0x38], rax
lea rcx, [rbx - 0x38]
xorps xmm0, xmm0
add r14, rsi
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov rdx, qword [r14 + rbx + 0x38]
mov qword [rbx], rdx
call fcn.1400189f0
mov rdi, r13
cmp qword [rbx], r13
jbe 0x14002d952
nop word [rax + rax]
mov rcx, qword [r14 + rbx]
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rbx]
jb 0x14002d93a
mov rcx, qword [r12 + 8]
inc r15
nop
add rbx, 0x3e2c6357
sub rbx, 0x3e2c6317
cmp r15, rcx
jb 0x14002d8f6
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x14002da07
mov rbx, r14
test rcx, rcx
je 0x14002d9fe
nop
mov rax, qword [r12]
mov rcx, qword [r14 + rax]
lea rdi, [rax + 8]
add rdi, r14
cmp rcx, rdi
jne 0x14002d9d9
xor eax, eax
mov ecx, 0x29d56e0f
add ecx, 0x28ee23dc
xor ecx, 0x3d1099ac
xor ecx, 0x6fd30877
rep stosb byte [rdi], al
jmp 0x14002d9de
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x14002d7d1
call fcn.1400bbca0
inc rbx
nop
add r14, 0x4506b3b6
sub r14, 0x4506b376
cmp rbx, qword [r12 + 8]
jb 0x14002d995
xor r14d, r14d
mov rcx, qword [r12]
call fcn.1400bbca0
mov qword [r12], r13
jmp 0x14002da40
mov r13, qword [r12]
jmp 0x14002da40
mov r13, qword [r12]
test r13, r13
jne 0x14002da40
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400bbfa0
mov r13, rax
mov qword [r12], rax
mov rax, qword [r12 + 8]
xorps xmm0, xmm0
mov rbx, rax
shl rbx, 6
add rbx, r13
inc rax
mov rcx, rbx
mov qword [r12 + 8], rax
lea rax, [rbx + 8]
mov qword [rbx], rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov rax, qword [rbp - 0x39]
mov qword [rbx + 0x38], rax
mov rdx, qword [rbp - 0x39]
call fcn.1400189f0
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x14002dab4
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp - 0x71]
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rbx + 0x38]
jb 0x14002da9b
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x14002dae3
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x2b7d23c4
sub ecx, 0xd905293
xor ecx, 0x1decd101
rep stosb byte [rdi], al
jmp 0x14002dae8
call fcn.1400bbca0
mov rcx, rsi
call fcn.1400bbae0
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x14002db1e
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x884], 0
je 0x14002db1e
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x14002d67f
mov r14, qword [rbp - 0x31]
mov r15, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xc0]
lea rax, [rbp - 0x29]
mov rsi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
cmp r14, rax
jne 0x14002db86
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x45fbe99f
sub ecx, 0x998b02b
add ecx, 0x3b57fa0d
sub ecx, 0x77bb3351
rep stosb byte [rdi], al
mov rax, r12
add rsp, 0x22de60a4
sub rsp, 0x22de5fcc
pop r14
pop r12
pop rdi
pop rbp
ret
mov rcx, r14
call fcn.1400bbca0
mov rax, r12
add rsp, 0x2b812d79
sub rsp, 0x2b812ca1
pop r14
pop r12
pop rdi
pop rbp
ret