Function at 0x14004a2e0
Capabilities:
Encode data using xor

Disassembly:
test rdx, rdx
je 0x14004a6b3
mov r11, rsp
mov qword [r11 + 8], rcx
push rdi
push r12
push r13
push r14
sub rsp, 0x88
mov r14, r9
mov r13, r8
mov r12, rdx
mov rdi, rcx
test rcx, rcx
je 0x14004a6a5
mov rcx, qword [rsp + 0xf8]
mov qword [r11 + 0x18], rbx
mov rbx, qword [rsp + 0xf0]
mov qword [r11 - 0x28], rbp
mov rbp, qword [rsp + 0x100]
mov qword [r11 - 0x30], rsi
lea rsi, [r9*8]
mov rax, qword [rbx + 0x48]
mov r9, qword [r13 + 0x10]
mov rax, qword [rax + rcx*8]
lea rdx, [rax + rbp*8]
mov rax, qword [r8 + 0x48]
mov rcx, qword [rsi + rax]
mov rax, qword [rsp + 0xd0]
lea r8, [rcx + rax*8]
mov rax, qword [rbx + 0x10]
mov qword [r11 - 0x68], rax
mov rcx, rdi
movzx eax, byte [rsp + 0xd8]
mov qword [r11 - 0x70], rdx
mov rdx, r12
mov byte [rsp + 0x20], al
call fcn.140042b70
test al, al
jne 0x14004a690
mov qword [rsp + 0x70], r15
lea r15, [rdi - 1]
mov qword [rsp + 0x50], r15
cmp byte [rsp + 0xd8], al
je 0x14004a52e
test r15, r15
js 0x14004a68b
mov rax, qword [rsp + 0xf8]
mov r9d, 1
sub rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xf8]
movsd xmm4, qword [0x140216560]
movsd xmm5, qword [0x140215ec0]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xd0]
sub rax, r14
mov qword [rsp + 0xb8], r9
sub rdx, r14
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rdx
nop dword [rax + rax]
lea r11, [rsi + rax*8]
movaps xmm3, xmm5
mov rax, qword [r13 + 0x48]
lea r10, [rsi + rdx*8]
mov r8, r12
mov qword [rsp + 0x108], r10
mov rcx, qword [rax + rsi]
mov rax, qword [rbx + 0x48]
divsd xmm3, qword [rcx + r11]
mov rcx, qword [r10 + rax]
lea rcx, [rcx + rbp*8]
call fcn.14003f800
cmp r9, r15
jg 0x14004a4fe
mov rbx, qword [rsp + 0xe8]
mov rdi, r15
mov r14, qword [rsp + 0xd0]
inc rbx
sub r14, qword [rsp + 0xf8]
sub rdi, r9
mov r15, qword [rsp + 0xf0]
shl r14, 3
lea rbx, [r11 + rbx*8]
inc rdi
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [r15 + 0x48]
mov rax, qword [r13 + 0x48]
mov rcx, qword [rax + rsi]
mov rax, qword [rdx + r10]
add rcx, r14
movsd xmm0, qword [rcx + rbx]
lea r8, [rax + rbp*8]
mov rax, qword [rbx + rdx]
xorps xmm0, xmm4
mov edx, 1
movsd qword [rsp + 0x28], xmm0
mov r9d, edx
mov qword [rsp + 0x20], r12
lea rcx, [rax + rbp*8]
call fcn.14003f5b0
mov r10, qword [rsp + 0x108]
lea rbx, [rbx + 8]
sub rdi, 1
jne 0x14004a490
mov r15, qword [rsp + 0x50]
mov rbx, qword [rsp + 0xf0]
mov r9, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x58]
inc r9
mov rdx, qword [rsp + 0x60]
add rsi, 8
sub rdi, 1
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0xb0], rdi
jne 0x14004a410
jmp 0x14004a68b
test r15, r15
js 0x14004a68b
mov rdi, qword [rsp + 0xd0]
lea rsi, [r15 + r14]
mov rbx, qword [rsp + 0xf8]
mov rax, rdi
mov rdx, qword [rsp + 0xf8]
sub rax, r14
movsd xmm4, qword [0x140216560]
sub rbx, rdi
movsd xmm5, qword [0x140215ec0]
mov r9, qword [rsp + 0xf0]
shl rsi, 3
sub rdx, r14
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rax
nop dword [rax]
lea r11, [rsi + rax*8]
movaps xmm3, xmm5
mov rax, qword [r13 + 0x48]
lea r10, [rsi + rdx*8]
mov r8, r12
mov qword [rsp + 0xb8], r10
mov rcx, qword [rax + rsi]
mov rax, qword [r9 + 0x48]
divsd xmm3, qword [rcx + r11]
mov rcx, qword [r10 + rax]
lea rcx, [rcx + rbp*8]
call fcn.14003f800
lea rax, [r15 - 1]
mov qword [rsp + 0xe8], rax
mov r14, rax
cmp r15, 1
jb 0x14004a671
sub rdi, qword [rsp + 0xf8]
dec rbx
shl rdi, 3
lea rbx, [r11 + rbx*8]
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [r9 + 0x48]
mov rax, qword [r13 + 0x48]
mov rcx, qword [rax + rsi]
mov rax, qword [rdx + r10]
add rcx, rdi
movsd xmm0, qword [rcx + rbx]
lea r8, [rax + rbp*8]
mov rax, qword [rdx + rbx]
xorps xmm0, xmm4
mov edx, 1
movsd qword [rsp + 0x28], xmm0
mov r9d, edx
mov qword [rsp + 0x20], r12
lea rcx, [rax + rbp*8]
call fcn.14003f5b0
sub r14, 1
mov r9, qword [rsp + 0xf0]
mov r10, qword [rsp + 0xb8]
lea rbx, [rbx - 8]
jns 0x14004a600
mov rax, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x108]
mov rdi, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x58]
sub rsi, 8
test rax, rax
mov r15, rax
mov rax, qword [rsp + 0x60]
jns 0x14004a590
mov r15, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x80]
mov rbx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x78]
add rsp, 0x88
pop r14
pop r13
pop r12
pop rdi
ret