Function at 0x140008a60
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xd8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x40], xmm9
movdqa xmmword [rbp + 0x30], xmm8
movdqa xmmword [rbp + 0x20], xmm7
movdqa xmmword [rbp + 0x10], xmm6
mov qword [rbp + 8], 0xfffffffffffffffe
mov rdi, rcx
mov rax, qword [rcx + 0x28]
cmp dword [rcx], 1
mov rdx, qword [rcx + 0x50]
jne 0x140008ae8
test rax, rax
js 0x140008b23
cvtsi2ss xmm0, rax
test rdx, rdx
jns 0x140008b41
mov rax, rdx
shr rax, 1
mov ecx, edx
and ecx, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
divss xmm0, xmm1
ucomiss xmm0, dword [0x1401c5d70]
jb 0x140008b53
mov qword [rdi], 0
jmp 0x140008b07
mov rcx, rdx
shr rcx, 2
mov r8, rdx
sub r8, rcx
cmp rax, r8
jne 0x140008f5f
test rax, rax
je 0x140008e92
add rdx, rdx
mov rcx, rdi
call fcn.140009730
mov ecx, eax
mov al, 1
test cl, cl
je 0x140008f5f
jmp 0x140008f61
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
test rdx, rdx
js 0x140008abb
cvtsi2ss xmm1, rdx
divss xmm0, xmm1
ucomiss xmm0, dword [0x1401c5d70]
jae 0x140008adf
mov rcx, rdi
call fcn.140187230
mov rax, qword [rdi + 0x50]
test rax, rax
je 0x140008bcf
mov rdx, qword [rdi + 0x48]
lea rcx, [rax - 1]
movabs r8, 0x3fffffffffffffff
and r8, rcx
mov rcx, rdx
cmp r8, 7
jb 0x140008bb9
inc r8
mov r9, r8
and r9, 0xfffffffffffffff8
lea rcx, [rdx + r9*4]
xor r10d, r10d
movaps xmm0, xmmword [0x1401c5d60]
nop word [rax + rax]
movups xmmword [rdx + r10*4], xmm0
movups xmmword [rdx + r10*4 + 0x10], xmm0
add r10, 8
cmp r9, r10
jne 0x140008ba0
cmp r8, r9
je 0x140008bcf
lea rax, [rdx + rax*4]
nop dword [rax]
mov dword [rcx], 0xffff
add rcx, 4
cmp rcx, rax
jne 0x140008bc0
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x140008f5f
mov r9, qword [rdi + 0x20]
imul rax, rax, 0x68
add rax, r9
mov qword [rbp], rax
cmp dword [rdi], 2
movzx r14d, word [rdi + 0x58]
movzx eax, r14w
mov qword [rbp - 8], rax
mov r12, qword [rdi + 0x50]
mov r13, qword [rdi + 0x48]
jne 0x140008f87
movdqu xmm6, xmmword [rdi + 8]
pshufd xmm7, xmm6, 0x44
pxor xmm7, xmmword [str.uespemosarenegylmodnarodsetybdet]
pshufd xmm8, xmm6, 0xee
pxor xmm8, xmmword [0x1401c5d50]
lea rax, [rbp - 0x30]
xorps xmm9, xmm9
lea rdi, [rbp - 0x60]
lea r15, [rbp - 0x18]
xor ebx, ebx
mov dword [rbp - 0x10], r14d
movdqa xmmword [rbp - 0x60], xmm7
movdqa xmmword [rbp - 0x50], xmm8
movdqa xmmword [rbp - 0x40], xmm6
movaps xmmword [rax], xmm9
mov qword [rax + 0x10], 0
mov rsi, qword [r9 + 0x40]
xor eax, eax
test rsi, rsi
setne al
mov qword [rbp - 0x18], rax
mov r8d, 8
mov rcx, rdi
mov rdx, r15
mov r14, r9
call fcn.140009b90
test rsi, rsi
je 0x140008c92
mov rdx, qword [r14 + 0x48]
mov r8, qword [r14 + 0x50]
mov rcx, rdi
jmp 0x140008ca7
movzx eax, byte [r14 + 0x48]
mov qword [rbp - 0x18], rax
mov r8d, 8
mov rcx, rdi
mov rdx, r15
call fcn.140009b90
mov r8, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x30]
shl rcx, 0x38
or rcx, qword [rbp - 0x28]
mov r9, qword [rbp - 0x48]
mov r10, qword [rbp - 0x60]
add r10, r8
rol r8, 0xd
xor r9, rcx
xor r8, r10
rol r10, 0x20
mov rax, qword [rbp - 0x58]
add rax, r9
rol r9, 0x10
xor r9, rax
add r10, r9
rol r9, 0x15
add rax, r8
rol r8, 0x11
xor r9, r10
xor r8, rax
rol rax, 0x20
xor r10, rcx
add r10, r8
rol r8, 0xd
xor r8, r10
rol r10, 0x20
xor rax, 0xff
add rax, r9
rol r9, 0x10
xor r9, rax
add r10, r9
rol r9, 0x15
add rax, r8
rol r8, 0x11
xor r8, rax
rol rax, 0x20
xor r9, r10
add r10, r8
rol r8, 0xd
xor r8, r10
rol r10, 0x20
lea rcx, [r14 + 0x68]
add rax, r9
rol r9, 0x10
xor r9, rax
add r10, r9
rol r9, 0x15
lea rdx, [rbx + 1]
add rax, r8
rol r8, 0x11
xor r9, r10
xor r8, rax
rol rax, 0x20
add r10, r8
rol r8, 0xd
xor r8, r10
add rax, r9
shl r9, 0x10
xor r9, rax
shr r9, 0x2b
add rax, r8
shr r8, 0x2f
mov r10, rax
shr r10, 0x20
xor r9d, r8d
xor eax, r10d
xor eax, r9d
and eax, 0x7fff
mov r8d, eax
mov rdi, qword [rbp - 8]
and r8d, edi
mov word [r14 + 0x60], ax
xor r9d, r9d
xor esi, esi
mov r14d, dword [rbp - 0x10]
cmp r8, r12
cmovae r8, rsi
jb 0x140008dd9
nop word cs:[rax + rax]
test r12, r12
je 0x140008e80
cmp word [r13 + r8*4], 0xffff
je 0x140008e46
movzx r10d, word [r13 + r8*4 + 2]
and r10d, r14d
mov r11d, r8d
sub r11d, r10d
mov r10d, edi
and r10d, r11d
cmp r10, r9
jb 0x140008e2b
inc r9
inc r8
cmp r8, r12
cmovae r8, rsi
jae 0x140008dd0
jmp 0x140008dd9
movzx r10d, word [r13 + r8*4 + 2]
mov word [r13 + r8*4], bx
mov word [r13 + r8*4 + 2], ax
inc r8
mov eax, r10d
mov ebx, r9d
cmp r8, r12
cmovae r8, rsi
jb 0x140008e39
test r12, r12
je 0x140008e90
movzx r9d, word [r13 + r8*4]
cmp r9w, 0xffff
jne 0x140008e10
mov word [r13 + r8*4], bx
mov word [r13 + r8*4 + 2], ax
mov r9, rcx
mov rbx, rdx
cmp rcx, qword [rbp]
lea rax, [rbp - 0x30]
lea rdi, [rbp - 0x60]
lea r15, [rbp - 0x18]
jne 0x140008c40
jmp 0x140008f5f
jmp 0x140008e80
jmp 0x140008e90
mov word [rdi + 0x58], 7
movzx eax, byte [0x1402d1f71]
mov ecx, 0x20
mov edx, 2
call fcn.140010a50
test rax, rax
je 0x140009172
mov rsi, rax
movaps xmm0, xmmword [0x1401c5d60]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov rdx, qword [rdi + 0x50]
test rdx, rdx
je 0x140008ee4
mov rcx, qword [rdi + 0x48]
shl rdx, 2
mov r8d, 2
call fcn.140010a60
mov qword [rdi + 0x48], rsi
mov qword [rdi + 0x50], 8
movzx eax, byte [0x1402d1f71]
mov ecx, 0x270
mov edx, 8
call fcn.140010a50
mov qword [rbp - 8], rax
test rax, rax
je 0x140009181
mov qword [rbp], rdi
lea rcx, [rdi + 0x18]
mov qword [rbp - 0x10], rcx
call fcn.140002750
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
test rax, rax
mov rsi, qword [rbp]
je 0x140008f47
mov rcx, qword [rsi + 0x20]
imul rdx, rax, 0x68
mov r8d, 8
call fcn.140010a60
mov qword [rsi + 0x18], 6
mov rax, qword [rbp - 8]
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x28], 0
xor eax, eax
movaps xmm6, xmmword [rbp + 0x10]
movaps xmm7, xmmword [rbp + 0x20]
movaps xmm8, xmmword [rbp + 0x30]
movaps xmm9, xmmword [rbp + 0x40]
add rsp, 0xd8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor eax, eax
xor ecx, ecx
mov r8, qword [r9 + 0x40]
xor edx, edx
test r8, r8
setne dl
xor edx, 0x2325
imul edx, edx, 0x4a21
test r8, r8
je 0x140009081
mov r10, qword [r9 + 0x50]
test r10, r10
mov rbx, qword [rbp - 8]
je 0x140009098
mov rdi, r9
mov r8, qword [r9 + 0x48]
mov r11, r10
mov r9, r8
and r11, 7
je 0x140008fe4
movzx esi, byte [r9]
inc r9
xor edx, esi
imul edx, edx, 0x1b3
dec r11
jne 0x140008fd0
cmp r10, 8
jb 0x14000909b
add r8, r10
nop word cs:[rax + rax]
movzx r10d, byte [r9]
xor edx, r10d
imul edx, edx, 0x1b3
movzx r10d, byte [r9 + 1]
xor r10d, edx
imul edx, r10d, 0x1b3
movzx r10d, byte [r9 + 2]
xor r10d, edx
imul edx, r10d, 0x1b3
movzx r10d, byte [r9 + 3]
xor r10d, edx
imul edx, r10d, 0x1b3
movzx r10d, byte [r9 + 4]
xor r10d, edx
imul edx, r10d, 0x1b3
movzx r10d, byte [r9 + 5]
xor r10d, edx
imul edx, r10d, 0x1b3
movzx r10d, byte [r9 + 6]
xor r10d, edx
imul edx, r10d, 0x1b3
movzx r10d, byte [r9 + 7]
add r9, 8
xor r10d, edx
imul edx, r10d, 0x1b3
cmp r9, r8
jne 0x140009000
jmp 0x14000909b
mov rdi, r9
movzx r8d, byte [r9 + 0x48]
xor edx, r8d
imul edx, edx, 0x4a21
mov rbx, qword [rbp - 8]
jmp 0x14000909b
mov rdi, r9
lea r8, [rcx + 1]
and edx, 0x7fff
mov r9d, edx
and r9d, r14d
mov word [rdi + 0x60], dx
add rdi, 0x68
xor r10d, r10d
cmp r9, r12
cmovae r9, rax
jb 0x1400090c9
nop
test r12, r12
je 0x140009160
cmp word [r13 + r9*4], 0xffff
je 0x140009136
movzx r11d, word [r13 + r9*4 + 2]
and r11d, r14d
mov esi, r9d
sub esi, r11d
mov r11d, ebx
and r11d, esi
cmp r11, r10
jb 0x14000911b
inc r10
inc r9
cmp r9, r12
cmovae r9, rax
jae 0x1400090c0
jmp 0x1400090c9
movzx r11d, word [r13 + r9*4 + 2]
mov word [r13 + r9*4], cx
mov word [r13 + r9*4 + 2], dx
inc r9
mov edx, r11d
mov ecx, r10d
cmp r9, r12
cmovae r9, rax
jb 0x140009129
test r12, r12
je 0x140009170
movzx r10d, word [r13 + r9*4]
cmp r10w, 0xffff
jne 0x140009100
mov word [r13 + r9*4], cx
mov word [r13 + r9*4 + 2], dx
mov rcx, r8
mov r9, rdi
cmp rdi, qword [rbp]
jne 0x140008f8b
jmp 0x140008f5f
jmp 0x140009160
jmp 0x140009170
mov ecx, 2
mov edx, 0x20
call fcn.1401c3d00
mov ecx, 8
mov edx, 0x270
call fcn.1401c3d00
int3