Function at 0x140096760
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
mov dword [rcx + 8], 0
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
cmp rax, rcx
je 0x1400967bf
add rax, 0x50
xorps xmm0, xmm0
nop word [rax + rax]
movups xmmword [rax - 0x14], xmm0
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x30], xmm0
movups xmmword [rax - 0x40], xmm0
movups xmmword [rax - 0x50], xmm0
cmp rax, rcx
je 0x1400967bf
add rax, 0x50
jmp 0x1400967a0
mov rcx, qword [rsi + 0x10]
mov rax, qword [rsi + 0x28]
mov qword [rsi + 0x18], rcx
mov rcx, qword [rsi + 0x30]
cmp rax, rcx
je 0x1400967ff
add rax, 0x50
xorps xmm0, xmm0
nop dword [rax + rax]
movups xmmword [rax - 0x14], xmm0
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x30], xmm0
movups xmmword [rax - 0x40], xmm0
movups xmmword [rax - 0x50], xmm0
cmp rax, rcx
je 0x1400967ff
add rax, 0x50
jmp 0x1400967e0
mov rax, qword [rsi + 0x28]
mov rcx, qword [rsi + 0x40]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x48], rcx
mov qword [rsi + 0x58], 0
test rcx, rcx
je 0x1400968a3
lea rdi, [rsi + 0x40]
lea rax, [fcn.140096760]
add eax, eax
add eax, 0x1ee0
mov r8d, eax
not r8d
nop dword [rax + rax]
test r8d, eax
jne 0x140096856
mov rdx, qword [rsi + 0x50]
mov r9d, dword [0x1406939fc]
cmp r9d, 0x4b
jle 0x14009686c
mov edx, dword [0x1406939f8]
lea r9d, [rdx + 1]
imul r9d, edx
test r9b, 1
jne 0x140096840
jmp 0x140096845
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140096890
mov rax, qword [rcx - 8]
sub rcx, rax
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1400968d5
add rdx, 0x27
mov rcx, rax
call fcn.1400a75d0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
lea r14, [rsi + 0x10]
lea r15, [rsi + 0x28]
mov ecx, dword [0x1406939f8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1405ff11c]
lea r8d, [rcx + 0x5b65d713]
xor edx, edx
div r8d
add ecx, 0x5b65d711
cmp edx, ecx
jne 0x1400968f0
jmp 0x1400968da
call fcn.1404ca324
mov rax, qword [r15]
mov ecx, dword [0x1406939fc]
cmp ecx, 0x4c
jl 0x140096903
nop dword [rax + rax]
mov eax, dword [0x1406939f8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400968f0
jmp 0x1400968da
test rax, rax
je 0x140096a9c
movabs rcx, 0x243c83c7e537ebba
add rcx, qword [0x1405ff110]
cmp rsi, rcx
je 0x140096940
mov rcx, qword [rsi + 0x30]
mov edx, dword [0x1406939fc]
cmp edx, 0x61
jl 0x14009696c
nop word cs:[rax + rax]
mov ecx, dword [0x1406939fc]
mov edx, dword [0x1405ff11c]
mov r8d, edx
xor r8d, 0xf9c6eff0
and edx, 0x79c6eff0
lea edx, [r8 + rdx*2]
add edx, 0x619ee73f
cmp ecx, edx
jge 0x140096940
jmp 0x140096922
cmp rax, rcx
je 0x14009699f
add rax, 0x50
xorps xmm0, xmm0
nop dword [rax + rax]
movups xmmword [rax - 0x14], xmm0
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x30], xmm0
movups xmmword [rax - 0x40], xmm0
movups xmmword [rax - 0x50], xmm0
cmp rax, rcx
je 0x14009699f
add rax, 0x50
jmp 0x140096980
mov rbx, qword [rsi + 0x28]
mov rdi, qword [rsi + 0x38]
sub rdi, rbx
cmp rdi, 0x1000
jb 0x140096a48
mov rax, qword [rbx - 8]
sub rbx, rax
movabs rcx, 0xcfac0d87808e802f
add rcx, rbx
movabs rdx, 0x3053f2787f717fc9
mov r8, rcx
xor r8, rdx
and rcx, rdx
lea rcx, [r8 + rcx*2]
cmp rcx, 0x20
jae 0x1400969f0
xor ecx, ecx
test cl, cl
je 0x1400969f5
jmp 0x140096a01
call fcn.1404ca324
cmp dword [0x1405ff11c], 0xa49a28ef
je 0x140096a41
mov ecx, 0x5b65d712
lea rdx, [fcn.140096760]
add edx, edx
add edx, 0x2200
mov r8d, edx
not r8d
nop dword [rax + rax]
mov r9d, dword [0x1405ff11c]
add r9d, ecx
mov r10d, edx
xor r10d, r9d
not r9d
and r9d, r8d
or r9d, r10d
cmp r9d, 0xffffffff
jne 0x140096a20
jmp 0x1400969f5
add rdi, 0x27
mov rbx, rax
mov eax, dword [0x1406939fc]
cmp eax, 0x55
jle 0x140096a6d
mov rcx, rbx
mov rdx, rdi
call fcn.1400a75d0
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
mov rcx, rbx
mov rdx, rdi
call fcn.1400a75d0
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
jmp 0x140096a9c
cmp dword [0x1405ff11c], 0xa49a28ef
je 0x140096aa7
mov eax, dword [0x1406939fc]
cmp eax, 0x5f
jg 0x140096a90
mov rax, qword [r14]
mov ecx, dword [0x1406939fc]
cmp ecx, 0xd
jg 0x140096a90
test rax, rax
je 0x140096b63
mov rcx, qword [rsi + 0x18]
cmp rax, rcx
je 0x140096aef
add rax, 0x50
xorps xmm0, xmm0
nop
movups xmmword [rax - 0x14], xmm0
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x30], xmm0
movups xmmword [rax - 0x40], xmm0
movups xmmword [rax - 0x50], xmm0
cmp rax, rcx
je 0x140096aef
add rax, 0x50
jmp 0x140096ad0
mov rcx, qword [rsi + 0x10]
mov rax, qword [rsi + 0x20]
sub rax, rcx
movabs rdx, 0x99f13c9d8efde484
add rdx, rax
movabs rax, 0x660ec36271021b7c
mov r8, rdx
xor r8, rax
and rdx, rax
lea rdx, [r8 + rdx*2]
cmp rdx, 0x1000
jb 0x140096b4f
mov rax, qword [rcx - 8]
sub rcx, rax
add rcx, 0xfffffffffffffff8
movabs r8, 0x243c83c7e537ebda
add r8, qword [0x1405ff110]
cmp rcx, r8
jae 0x140096b70
add rdx, 0x27
mov rcx, rax
call fcn.1400a75d0
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
call fcn.1404ca324
int3