Function at 0x140080220
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x268
movaps xmmword [rsp + 0x250], xmm7
movaps xmmword [rsp + 0x240], xmm6
mov rax, qword [0x14015e028]
xor rax, rsp
mov qword [rsp + 0x238], rax
test rdx, rdx
je 0x140080534
mov rdi, r8
mov r13, rdx
mov r12, rcx
movaps xmm6, xmmword [0x1401399e0]
movaps xmmword [rsp + 0x1f0], xmm6
movaps xmmword [rsp + 0x1e0], xmm6
mov eax, dword [0x14016a2b4]
and eax, dword [0x14016a2b0]
bt eax, 0x1e
jae 0x1400806ac
lea rcx, [rsp + 0x1e0]
mov edx, 0x20
call fcn.140019a50
test eax, eax
je 0x1400806ac
lea r14, [rsp + 0x1dc]
xor eax, eax
mov cl, byte [rdi + rax]
xor byte [rsp + rax + 0x1e0], cl
inc rax
cmp rax, 0x20
jne 0x1400802b8
lea rdi, [rsp + 0xb0]
mov r8d, 0x130
mov rcx, rdi
mov dl, 0xaa
call fcn.14009fa40
mov ecx, 1
call fcn.140088f50
test rax, rax
je 0x140080568
mov r15, rax
add rax, 0x128
mov qword [rsp + 0x30], rax
cmp dword [r15 + 0x128], 0xfff
ja 0x1400806d1
cmp qword [r15 + 0x120], 0
jne 0x1400806d1
mov ebp, 0x20
lea rax, [r15 + 0x108]
mov qword [rsp + 0x28], rax
xorps xmm7, xmm7
lea rbx, [rsp + 0x1e0]
mov eax, 0x10000
cmp r13, rax
mov esi, 0x10000
cmovb rsi, r13
mov ecx, 0
movabs rax, 0x1000000000000
cmp qword [r15 + 0x118], rax
ja 0x1400803bc
test rbp, rbp
je 0x140080384
mov rcx, r15
mov rdx, rbx
mov r8, rbp
call fcn.140080bf0
mov ecx, 0
test eax, eax
je 0x1400803bc
mov r14, rsi
mov rdi, r12
cmp rsi, 0x10
jae 0x1400803e1
test r14, r14
jne 0x1400804c3
mov rcx, r15
mov rdx, rbx
mov r8, rbp
call fcn.140080bf0
mov ecx, 0
test eax, eax
je 0x1400803bc
inc qword [r15 + 0x118]
mov ecx, 1
test ecx, ecx
je 0x140080732
mov rax, qword [rsp + 0x30]
inc dword [rax]
add r12, rsi
mov ebp, 0
sub r13, rsi
jne 0x14008033f
jmp 0x140080523
mov rdi, r12
mov r14, rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], rbp
mov rbp, r13
mov rsi, r12
mov eax, 0x2000
cmp r14, rax
mov r12d, 0x2000
cmovb r12, r14
mov rax, r15
mov r15d, r12d
and r15d, 0x3ff0
cmp qword [rax + 0x100], 0
je 0x140080737
shr r12, 4
cmp r15d, 0x20
jne 0x140080784
movups xmmword [rdi + 0x10], xmm7
movups xmmword [rdi], xmm7
mov r13, qword [rsp + 0x40]
mov ecx, dword [r13 + 0x114]
call fcn.1400a8a9c
lea ecx, [rax + 1]
call fcn.1400a8a9c
mov dword [r13 + 0x114], eax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rdi
mov r8, r12
mov r9, r13
call qword [r13 + 0x100]
mov ecx, dword [r13 + 0x114]
call fcn.1400a8a9c
lea ecx, [r12 + rax]
dec ecx
call fcn.1400a8a9c
mov dword [r13 + 0x114], eax
add rdi, r15
sub r14, r15
cmp r14, 0xf
mov r12, rsi
mov r13, rbp
mov r15, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x38]
jbe 0x140080390
jmp 0x1400803f6
movaps xmmword [rsp + 0x200], xmm6
mov ecx, dword [r15 + 0x114]
call fcn.1400a8a9c
lea ecx, [rax + 1]
call fcn.1400a8a9c
mov dword [r15 + 0x114], eax
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x38], rbp
mov rbp, r12
lea r12, [rsp + 0x200]
mov rdx, r12
mov r8, r15
call qword [r15 + 0xf8]
mov rcx, rdi
mov rdx, r12
mov r12, rbp
mov rbp, qword [rsp + 0x38]
mov r8, r14
call fcn.14009f630
jmp 0x140080399
lea rax, [rsp + 0xb0]
cmp r15, rax
je 0x14008079f
mov rcx, qword [rsp + 0x238]
xor rcx, rsp
call fcn.14009d180
movaps xmm6, xmmword [rsp + 0x240]
movaps xmm7, xmmword [rsp + 0x250]
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 0x130
call fcn.140081a40
test rax, rax
je 0x1400807d4
mov r15, rax
lea r8, [0x14010e230]
mov ecx, 1
mov rdx, rax
call fcn.14004a8f0
test eax, eax
je 0x1400807d4
mov r14, r15
add r14, 0x12c
mov dword [r14], 0
lea r14, [rsp + 0x80]
movaps xmmword [r14 + 0x20], xmm6
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm6
mov edx, 0x30
mov rcx, r14
call fcn.14004abd0
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
movaps xmm0, xmmword [r14]
movaps xmm1, xmmword [r14 + 0x10]
movaps xmm2, xmmword [r14 + 0x20]
movaps xmmword [rsp + 0x220], xmm2
movaps xmmword [rsp + 0x210], xmm1
movaps xmmword [rsp + 0x200], xmm0
xor eax, eax
lea rcx, [0x140148730]
mov dl, byte [rax + rcx]
xor byte [rsp + rax + 0x200], dl
inc rax
cmp rax, 0x30
jne 0x14008060c
mov eax, dword [0x14016a2b4]
lea rcx, [rsp + 0x200]
mov edx, 0x100
mov r8, r15
bt eax, 0x19
jae 0x1400807dc
call fcn.140003260
lea rax, section..text
mov qword [r15 + 0xf8], rax
lea rax, [0x140001d60]
mov qword [r15 + 0x100], rax
movaps xmm0, xmmword [rsp + 0x220]
movups xmmword [r15 + 0x108], xmm0
mov qword [r15 + 0x118], 1
mov al, 1
test al, al
je 0x140080732
lea rax, [r15 + 0x128]
mov qword [rsp + 0x30], rax
mov dword [r15 + 0x128], 0
mov qword [r15 + 0x120], 0
jmp 0x140080315
call fcn.140120200
test eax, eax
je 0x1400807b6
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmmword [rsp + 0x1e0], xmm0
jmp 0x1400802ae
lea rdi, [rsp + 0x200]
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
mov edx, 0x30
mov rcx, rdi
call fcn.14004abd0
mov r8d, 0x30
mov rbx, r15
mov rcx, r15
mov rdx, rdi
call fcn.140080bf0
test eax, eax
je 0x140080732
mov r15, rbx
mov qword [rbx + 0x118], 1
mov rax, qword [rsp + 0x30]
mov dword [rax], 0
mov qword [rbx + 0x120], 0
jmp 0x140080323
call fcn.1400ae3a0
test r15, r15
je 0x140080499
xor r12d, r12d
mov r13, qword [rsp + 0x40]
mov ecx, dword [r13 + 0x114]
call fcn.1400a8a9c
lea ecx, [rax + 1]
call fcn.1400a8a9c
mov dword [r13 + 0x114], eax
lea rdx, [rdi + r12]
mov rcx, qword [rsp + 0x28]
mov r8, r13
call qword [r13 + 0xf8]
add r12, 0x10
cmp r12, r15
jb 0x140080743
jmp 0x140080499
test r15, r15
je 0x14008043e
mov rcx, rdi
xor edx, edx
mov r8, r15
call fcn.14009fa40
jmp 0x14008043e
lea rcx, [rsp + 0xb0]
mov edx, 0x120
call fcn.140081ab0
jmp 0x140080534
test byte [0x14016a2b7], 0x40
lea rcx, [rsp + 0x1e0]
mov edx, 0x20
call fcn.14004abd0
jmp 0x1400802ae
mov r15, rdi
jmp 0x1400805a4
bt eax, 9
jae 0x140080801
call fcn.140004450
lea rax, [0x140004620]
mov qword [r15 + 0xf8], rax
lea rax, [0x140004920]
jmp 0x140080659
call fcn.1400fc8d0
lea rax, [0x1400fc7a0]
mov qword [r15 + 0xf8], rax
lea rax, [0x1400fd0f0]
jmp 0x140080659