Function at 0x140081650
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x208
movaps xmmword [rsp + 0x1f0], xmm6
mov rax, qword [0x140158018]
xor rax, rsp
mov qword [rsp + 0x1e8], rax
test rdx, rdx
je 0x1400817d9
mov rbx, r8
mov r13, rdx
mov r12, rcx
movaps xmm6, xmmword [0x140136a00]
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x190], xmm6
test byte [0x14016c1b7], 0x40
je 0x14008191f
mov eax, 0x40000000
and eax, dword [0x14016c1b0]
je 0x14008191f
lea rcx, [rsp + 0x190]
mov edx, 0x20
call fcn.140019a50
test eax, eax
je 0x14008191f
lea rdi, [rsp + 0x18c]
xor eax, eax
mov cl, byte [rbx + rax]
xor byte [rsp + rax + 0x190], cl
inc rax
cmp rax, 0x20
jne 0x1400816e8
lea r14, [rsp + 0x60]
mov r8d, 0x130
mov rcx, r14
mov dl, 0xaa
call fcn.1400a05e0
mov ecx, 1
call fcn.14008d7f0
test rax, rax
je 0x140081805
mov rsi, rax
mov rbx, rax
add rbx, 0x128
cmp dword [rax + 0x128], 0xfff
ja 0x140081940
cmp qword [rsi + 0x120], 0
jne 0x140081940
mov edi, 0x10000
cmp r13, rdi
cmovb rdi, r13
mov qword [rsp + 0x20], 0x20
lea r9, [rsp + 0x190]
mov rcx, rsi
mov rdx, r12
mov r8, rdi
call fcn.14004a8f0
test eax, eax
je 0x140081996
inc dword [rbx]
sub r13, rdi
je 0x1400817d0
add r12, rdi
mov ebp, 0x10000
lea r15, [rsp + 0x190]
cmp r13, rbp
mov edi, 0x10000
cmovb rdi, r13
mov qword [rsp + 0x20], 0
mov rcx, rsi
mov rdx, r12
mov r8, rdi
mov r9, r15
call fcn.14004a8f0
test eax, eax
je 0x140081996
add r12, rdi
inc dword [rbx]
sub r13, rdi
jne 0x140081798
cmp rsi, r14
je 0x1400819b2
mov rcx, qword [rsp + 0x1e8]
xor rcx, rsp
call fcn.14009d8b0
movaps xmm6, xmmword [rsp + 0x1f0]
add rsp, 0x208
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 0x130
call fcn.1400832c0
test rax, rax
je 0x1400819c6
mov rsi, rax
lea r8, [0x140106250]
mov ecx, 1
mov rdx, rax
call fcn.140057270
test eax, eax
je 0x1400819c6
mov rdi, rsi
add rdi, 0x12c
mov dword [rdi], 0
lea rdi, [rsp + 0x30]
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
mov edx, 0x30
mov rcx, rdi
call fcn.140057510
movaps xmm0, xmmword [rdi]
movaps xmm1, xmmword [rdi + 0x10]
movaps xmm2, xmmword [rdi + 0x20]
movaps xmmword [rsp + 0x1d0], xmm2
movaps xmmword [rsp + 0x1c0], xmm1
movaps xmmword [rsp + 0x1b0], xmm0
xor eax, eax
lea rcx, [0x1401448f0]
mov dl, byte [rax + rcx]
xor byte [rsp + rax + 0x1b0], dl
inc rax
cmp rax, 0x30
jne 0x140081890
mov eax, dword [0x14016c1b4]
lea rcx, [rsp + 0x1b0]
mov edx, 0x100
mov r8, rsi
bt eax, 0x19
jae 0x1400819ce
call fcn.140003260
lea rax, [0x140001d60]
lea rcx, section..text
mov qword [rsi + 0xf8], rcx
mov qword [rsi + 0x100], rax
movaps xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rsi + 0x108], xmm0
mov qword [rsi + 0x118], 1
lea rbx, [rsi + 0x128]
mov dword [rsi + 0x128], 0
mov qword [rsi + 0x120], 0
jmp 0x140081740
call fcn.14011de90
test eax, eax
je 0x14008199b
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x190], xmm0
jmp 0x1400816de
lea rdi, [rsp + 0x1b0]
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
mov edx, 0x30
mov rcx, rdi
call fcn.140057510
mov r8d, 0x30
mov rcx, rsi
mov rdx, rdi
call fcn.140081eb0
test eax, eax
je 0x140081996
mov qword [rsi + 0x118], 1
mov dword [rbx], 0
mov qword [rsi + 0x120], 0
jmp 0x14008174e
call fcn.1400aef40
lea rcx, [rsp + 0x190]
mov edx, 0x20
call fcn.14011dec0
jmp 0x1400816de
lea rcx, [rsp + 0x60]
mov edx, 0x120
call fcn.140083340
jmp 0x1400817d9
mov rsi, r14
jmp 0x140081841
bt eax, 9
jae 0x1400819ec
call fcn.140004450
lea rax, [0x140004920]
lea rcx, [0x140004620]
jmp 0x1400818d6
call fcn.1400f6a40
lea rax, [0x1400f7260]
lea rcx, [0x1400f6910]
jmp 0x1400818d6