Function at 0x140045683
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]
neg rsp
sub rsp, 0xffffffffffffff28
neg rsp
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], 0x3c36df5e
add qword [rdx + 0x18], 0x3b6cd070
sub qword [rdx + 0x18], 0x77a3afcd
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.140016fb8
mov r8, rax
mov ecx, 0x14b6d848
xor ecx, 0x257ca7c3
add ecx, 0x1198e1b7
mov r9d, 0x39d3f7b1
sub r9d, 0x353e33a3
xor r9d, 0x495c4f1
test rsi, rsi
je 0x1400456a7
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 0x140045686
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x140045b5b
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x1d5fef82
xor edx, 0x6239534d
sub edx, 0x7f66bcc5
mov rcx, r14
call 0x1400bc7e0
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff7a759e40
sub r15, 0x683f924c
xor r15, 0x34e5db6d
add r15, 0x7fffffff
add r15, 0x592c2f67
test rax, rax
je 0x140045723
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x14004573a
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x14004572b
lea rdi, [rbx + 1]
mov eax, 0x13884e36
xor eax, 0x585f6596
sub eax, 0x4bd72b9e
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.1400bb5d0
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.1400bc950
cmp byte [r13 + 0x884], 0
je 0x140045817
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.14004eb60
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.140032f90
cmp eax, dword [rdi]
jle 0x140045817
mov edx, 0x33e643f3
xor edx, 0x2e252e32
xor edx, 0x5eedde83
sub edx, 0x432eb322
mov rcx, rsi
call fcn.1400bca60
test rax, rax
jne 0x1400457f9
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x1400457db
cmp rax, 1
jbe 0x1400459fe
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 0x14004578d
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 0x140045834
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.140016fb8
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x50c05cc8
xor edx, 0x4e5460b5
xor edx, 0x5df75d3f
popf
mov rdi, r14
jbe 0x1400458ba
mov r8, rsi
mov r9d, 0x5651da53
xor r9d, 0x71a2a669
sub r9d, 0x27f37b3b
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 0x140045895
mov rax, qword [r12 + 8]
test rax, rax
je 0x140045a4a
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x140045a41
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400bba10
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x1400459ae
nop
movabs rsi, 0xffffffff34891e1e
add rsi, 0x2f741432
add rsi, 0x7fffffff
add rsi, 0x1c02cd79
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.140016fb8
mov rdi, r13
cmp qword [rbx], r13
jbe 0x14004598e
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 0x140045976
mov rcx, qword [r12 + 8]
inc r15
sub rbx, 0xffffffffffffffc0
cmp r15, rcx
jb 0x140045932
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x140045a38
mov rbx, r14
test rcx, rcx
je 0x140045a2f
nop
mov rax, qword [r12]
mov rcx, qword [r14 + rax]
lea rdi, [rax + 8]
add rdi, r14
cmp rcx, rdi
jne 0x140045a0a
xor eax, eax
mov ecx, 0x665444e9
sub ecx, 0x40c19b9f
add ecx, 0x1d1ac1b0
sub ecx, 0x42ad6aca
rep stosb byte [rdi], al
jmp 0x140045a0f
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x14004581a
call fcn.1400bb730
inc rbx
nop
add r14, 0x19a18a21
sub r14, 0x19a189e1
cmp rbx, qword [r12 + 8]
jb 0x1400459c6
xor r14d, r14d
mov rcx, qword [r12]
call fcn.1400bb730
mov qword [r12], r13
jmp 0x140045a71
mov r13, qword [r12]
jmp 0x140045a71
mov r13, qword [r12]
test r13, r13
jne 0x140045a71
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400bba10
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.140016fb8
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x140045ae5
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 0x140045acc
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x140045b14
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x31c8f4bc
add ecx, 0x452b51e2
sub ecx, 0x76f4466e
rep stosb byte [rdi], al
jmp 0x140045b19
call fcn.1400bb730
mov rcx, rsi
call fcn.1400bb5e0
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x140045b4f
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x884], 0
je 0x140045b4f
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x1400456c8
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 0x140045bb1
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x51515385
xor ecx, 0x4756fdb1
sub ecx, 0x1607ae04
rep stosb byte [rdi], al
mov rax, r12
sub rsp, 0x5efcbbec
add rsp, 0x5efcbcc4
pop r14
pop r12
pop rdi
pop rbp
ret
mov rcx, r14
call fcn.1400bb730
mov rax, r12
sub rsp, 0xffffffffffffff28
pop r14
pop r12
pop rdi
pop rbp
ret