Function at 0x14049a430
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
movaps xmmword [rbp - 0x10], xmm6
mov qword [rbp - 0x18], 0xfffffffffffffffe
mov rsi, r9
mov r14, r8
mov rbx, rdx
mov rdi, rcx
mov r13, qword [rcx]
test r13, r13
je 0x14049a72a
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x38], rdi
mov rbx, qword [rdi + 8]
cmp r13, rbx
je 0x14049a665
xor esi, esi
lea r14, [fcn.14049a430]
xorps xmm6, xmm6
nop word cs:[rax + rax]
mov r12, qword [r13 + 0x28]
test r12, r12
je 0x14049a620
mov eax, dword [0x140697724]
mov ecx, dword [0x14067e770]
mov edx, 0x1d234b76
add ecx, edx
cmp eax, ecx
jl 0x14049a4e1
nop word cs:[rax + rax]
lea eax, [r14 + r14]
add eax, 0x2de0
mov ecx, eax
not ecx
test ecx, eax
jne 0x14049a4d0
mov r15, qword [r13 + 0x38]
sub r15, r12
cmp r15, 0xfff
jbe 0x14049a572
nop word cs:[rax + rax]
test sil, sil
jne 0x14049a515
mov rax, qword [r12 - 8]
mov ecx, dword [0x140697724]
cmp ecx, 0x31
jle 0x14049a530
mov eax, dword [0x140697724]
cmp eax, 0x4e
jge 0x14049a500
jmp 0x14049a505
sub r12, rax
add r12, 0xfffffffffffffff8
cmp r12, 0x20
jae 0x14049a6fc
mov ecx, dword [0x14067e770]
mov edx, 0x1d234b4a
add ecx, edx
lea edx, [r14 + r14]
add edx, 0x3400
xor edx, ecx
not edx
test edx, ecx
jne 0x14049a590
mov ecx, dword [0x140697724]
cmp ecx, 0x51
jge 0x14049a590
add r15, 0x27
mov r12, rax
lea rdi, [r13 + 0x28]
mov eax, dword [0x140697720]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14049a5e0
jmp 0x14049a5a0
cmp dword [0x14067e770], 0xe2dcb4b7
jne 0x14049a590
jmp 0x14049a560
mov rcx, r12
mov rdx, r15
call fcn.1400a75d0
movups xmmword [rdi], xmm6
mov qword [rdi + 0x10], 0
mov eax, dword [0x140697720]
mov ecx, dword [0x14067e770]
neg ecx
add ecx, eax
add ecx, 0xe2dcb4b6
imul ecx, eax
test cl, 1
je 0x14049a620
nop word cs:[rax + rax]
mov rcx, r12
mov rdx, r15
call fcn.1400a75d0
movups xmmword [rdi], xmm6
mov qword [rdi + 0x10], 0
mov eax, dword [0x14067e770]
mov ecx, eax
xor ecx, 0x1d234b4a
and eax, 0x1d234b4a
lea eax, [rcx + rax*2]
lea ecx, [r14 + r14]
add ecx, 0x740
test ecx, eax
jne 0x14049a5e0
jmp 0x14049a5a0
mov eax, dword [0x140697724]
cmp eax, 0x1f
mov eax, dword [0x140697720]
mov ecx, 0xcbc4e580
sub ecx, eax
not ecx
imul ecx, eax
and ecx, 1
mov eax, dword [0x14067e770]
mov edx, eax
xor edx, 0x1d234b49
and eax, 0x1d234b49
lea eax, [rdx + rax*2]
cmp ecx, eax
jne 0x14049a629
add r13, 0x40
cmp r13, rbx
jne 0x14049a4a0
mov rdi, qword [rbp - 0x38]
mov r12, qword [rdi]
mov r15, qword [rdi + 0x10]
sub r15, r12
cmp r15, 0x1000
jb 0x14049a6a5
mov rax, qword [r12 - 8]
add r12, 0xfffffffffffffff8
sub r12, rax
movabs rcx, 0xcb48c73a8af26fdc
add rcx, qword [0x14067e780]
cmp r12, rcx
jae 0x14049a6db
or r15, 0x27
mov r12, rax
mov rsi, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x28]
mov r14, qword [rbp - 0x20]
mov eax, dword [0x140697720]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14049a71d
jmp 0x14049a701
mov eax, dword [0x140697724]
cmp eax, 0x17
jl 0x14049a6ec
mov eax, dword [0x140697720]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14049a6d0
mov eax, dword [0x140697724]
cmp eax, 0x3f
jg 0x14049a6d0
call fcn.1404ca324
call fcn.1404ca324
mov rcx, r12
mov rdx, r15
call fcn.1400a75d0
mov eax, dword [0x140697720]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x14049a72a
mov rcx, r12
mov rdx, r15
call fcn.1400a75d0
jmp 0x14049a701
mov qword [rdi], rbx
shl r14, 6
add r14, rbx
mov qword [rdi + 8], r14
shl rsi, 6
add rsi, rbx
mov qword [rdi + 0x10], rsi
movaps xmm6, xmmword [rbp - 0x10]
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret