Function at 0x140225b70
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov rsi, r9
mov rdi, r8
xorps xmm0, xmm0
movups xmmword [rcx + 8], xmm0
lea rax, [0x14039c068]
mov qword [rcx], rax
mov byte [rcx + 0x18], 0
mov qword [rcx + 0x20], rdx
movups xmmword [rcx + 0x40], xmm0
mov rbx, qword [r8 + 0x18]
cmp qword [r8 + 0x20], 0x10
jb 0x140225bc7
mov rdi, qword [rdi + 8]
jmp 0x140225bcb
add rdi, 8
lea rax, [rcx + 8]
mov qword [rbp - 0x28], rax
lea r15, [rcx + 0x30]
cmp rbx, 0xf
mov qword [rbp + 8], rcx
ja 0x140225bf0
movups xmm0, xmmword [rdi]
movups xmmword [r15], xmm0
mov r14d, 0xf
jmp 0x140225c53
mov r14, rbx
or r14, 0xf
movabs rax, 0x7fffffffffffffff
cmp r14, rax
cmovae r14, rax
cmp r14, 0xfff
jb 0x140225c34
lea rcx, [r14 + 0x28]
call fcn.140348e0c
mov rcx, rax
xor rcx, 0x27
mov edx, eax
and edx, 0x27
lea rcx, [rcx + rdx*2]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140225c40
lea rcx, [r14 + 1]
call fcn.140348e0c
mov rcx, rax
mov qword [r15], rcx
lea r8, [rbx + 1]
mov rdx, rdi
call fcn.140370d70
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x40], rbx
mov qword [rcx + 0x48], r14
lea rbx, [0x14038b458]
mov qword [rcx + 0x28], rbx
xorps xmm0, xmm0
movups xmmword [rcx + 0x68], xmm0
mov rdi, qword [rsi + 0x18]
cmp qword [rsi + 0x20], 0x10
jb 0x140225c7e
mov rsi, qword [rsi + 8]
jmp 0x140225c82
add rsi, 8
lea rax, [rcx + 0x28]
mov qword [rbp - 0x20], rax
lea r15, [rcx + 0x58]
cmp rdi, 0xf
ja 0x140225ca3
movups xmm0, xmmword [rsi]
movups xmmword [r15], xmm0
mov r14d, 0xf
jmp 0x140225cfd
mov r14, rdi
or r14, 0xf
movabs rax, 0x7fffffffffffffff
cmp r14, rax
cmovae r14, rax
cmp r14, 0xfff
jb 0x140225cde
lea rcx, [r14 + 0x28]
call fcn.140348e0c
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140225cea
lea rcx, [r14 + 1]
call fcn.140348e0c
mov rcx, rax
mov qword [r15], rcx
lea r8, [rdi + 1]
mov rdx, rsi
call fcn.140370d70
mov rcx, qword [rbp + 8]
mov r8, qword [rbp + 0x88]
mov rax, qword [rbp + 0x80]
lea rdx, [rcx + 0x50]
mov qword [rbp - 0x18], rdx
mov qword [rcx + 0x68], rdi
mov qword [rcx + 0x70], r14
mov qword [rcx + 0x50], rbx
lea rdx, [rcx + 0x78]
mov qword [rbp - 0x10], rdx
lea r13, [rcx + 0x80]
lea rdi, [rax + 8]
movsxd r14, dword [0x14039c084]
mov r15d, dword [0x14039c090]
xorps xmm0, xmm0
movups xmmword [rcx + 0x90], xmm0
mov rsi, qword [rax + 0x18]
cmp qword [rax + 0x20], 0x10
jb 0x140225d59
mov rdi, qword [rax + 8]
cmp rsi, 0x10
jae 0x140225d6f
movups xmm0, xmmword [rdi]
movups xmmword [r13], xmm0
mov r12d, 0xf
jmp 0x140225dcf
mov r12, rsi
or r12, 0xf
movabs rax, 0x7fffffffffffffff
cmp r12, rax
cmovae r12, rax
cmp r12, 0xfff
jb 0x140225dab
lea rcx, [r12 + 0x28]
call fcn.140348e0c
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140225db8
lea rcx, [r12 + 1]
call fcn.140348e0c
mov rcx, rax
mov qword [r13], rcx
lea r8, [rsi + 1]
mov rdx, rdi
call fcn.140370d70
mov r8, qword [rbp + 0x88]
mov rax, qword [rbp + 8]
mov qword [rax + 0x90], rsi
mov qword [rax + 0x98], r12
mov qword [rax + 0x78], rbx
lea rcx, [rax + 0xa0]
mov qword [rbp], rcx
mov qword [rax + 0xb8], 0
mov qword [rax + 0xc0], 0xf
mov byte [rax + 0xa8], 0
mov qword [rax + 0xa0], rbx
xorps xmm0, xmm0
movups xmmword [rax + 0xc8], xmm0
cmp qword [r8 + 0x18], 0
je 0x140225e6d
lea rcx, [rbp - 8]
mov rdx, r8
mov r8b, 1
call fcn.14022b610
lea rcx, [rbp - 0x50]
call fcn.14022c780
lea rdx, [rbp - 0x50]
mov rcx, qword [rbp]
call fcn.14021bd80
mov eax, dword [0x1404c0194]
lea ecx, [rax + 1]
mov dword [0x1404c0194], ecx
test eax, ecx
je 0x140225efe
xor r8d, r8d
mov rsi, qword [rbp + 8]
jmp 0x140225f30
lea rcx, [rbp - 0x50]
call fcn.14022c780
lea rdx, [rbp - 0x50]
mov rcx, qword [rbp]
call fcn.14021bd80
mov rax, qword [rbp - 0x30]
cmp rax, 0x10
mov rsi, qword [rbp + 8]
jb 0x140225f87
mov rdx, qword [rbp - 0x48]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x140225ee1
mov rcx, qword [rdx - 8]
mov r8, rdx
xor r8, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and r9, rdx
lea rdx, [r8 + r9*2]
sub rdx, rcx
cmp rdx, 0x20
jae 0x140225fc2
mov rdx, qword [0x1404c01b8]
lea r9, [rdx + rax]
add r9, 0x28
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140122c50
jmp 0x140225f87
xor edx, edx
mov r8d, 0
test r15d, r15d
mov rsi, qword [rbp + 8]
jle 0x140225f30
lea r8, [0x14039c084]
add r14, r8
xor r8d, r8d
nop dword [rax]
movsxd rdx, edx
xor r8w, word [r14 + rdx]
add edx, 2
cmp edx, r15d
jl 0x140225f20
mov r10, qword [rbp - 0x30]
cmp r10, 0xf
jbe 0x140225f7e
mov rdx, qword [rbp - 0x48]
lea r9, [r10 + 1]
cmp r9, 0x1000
jb 0x140225f66
mov r11, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, r11
cmp rdx, 0x20
jae 0x140225f9e
add r10, 0x28
mov r9, r10
mov rdx, r11
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140122c50
lea rcx, [rbp - 8]
call fcn.140228600
mov rax, rsi
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
and eax, ecx
xor ecx, ecx
cmp eax, 1
sbb ecx, ecx
movzx eax, word [0x14039c082]
sub eax, r8d
and eax, ecx
movzx eax, ax
add qword [0x1404c01b8], rax
call fcn.1403294cc
call fcn.1403294cc
int3