Function at 0x140190ec0
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 [0x1403a7038]
xor rax, rsp
mov qword [rsp + 0x1e8], rax
test rdx, rdx
je 0x140191049
mov rbx, r8
mov r13, rdx
mov r12, rcx
movaps xmm6, xmmword [0x14033b990]
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x190], xmm6
test byte [0x1403befd7], 0x40
je 0x14019118f
mov eax, 0x40000000
and eax, dword [0x1403befd0]
je 0x14019118f
lea rcx, [rsp + 0x190]
mov edx, 0x20
call fcn.140019e50
test eax, eax
je 0x14019118f
lea rdi, [rsp + 0x18c]
xor eax, eax
mov cl, byte [rbx + rax]
xor byte [rsp + rax + 0x190], cl
inc rax
cmp rax, 0x20
jne 0x140190f58
lea r14, [rsp + 0x60]
mov r8d, 0x130
mov rcx, r14
mov dl, 0xaa
call fcn.1401d34c0
mov ecx, 1
call fcn.1401a4a00
test rax, rax
je 0x140191075
mov rsi, rax
mov rbx, rax
add rbx, 0x128
cmp dword [rax + 0x128], 0xfff
ja 0x1401911b0
cmp qword [rsi + 0x120], 0
jne 0x1401911b0
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.14009e140
test eax, eax
je 0x140191206
inc dword [rbx]
sub r13, rdi
je 0x140191040
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.14009e140
test eax, eax
je 0x140191206
add r12, rdi
inc dword [rbx]
sub r13, rdi
jne 0x140191008
cmp rsi, r14
je 0x140191222
mov rcx, qword [rsp + 0x1e8]
xor rcx, rsp
call fcn.1401d1390
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.1401a45c0
test rax, rax
je 0x140191236
mov rsi, rax
lea r8, [0x140258580]
mov ecx, 1
mov rdx, rax
call fcn.1400fbc30
test eax, eax
je 0x140191236
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.1400fbed0
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, [0x1403483f0]
mov dl, byte [rax + rcx]
xor byte [rsp + rax + 0x1b0], dl
inc rax
cmp rax, 0x30
jne 0x140191100
mov eax, dword [0x1403befd4]
lea rcx, [rsp + 0x1b0]
mov edx, 0x100
mov r8, rsi
bt eax, 0x19
jae 0x14019123e
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 0x140190fb0
call fcn.1402b4c00
test eax, eax
je 0x14019120b
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x190], xmm0
jmp 0x140190f4e
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.1400fbed0
mov r8d, 0x30
mov rcx, rsi
mov rdx, rdi
call fcn.140191590
test eax, eax
je 0x140191206
mov qword [rsi + 0x118], 1
mov dword [rbx], 0
mov qword [rsi + 0x120], 0
jmp 0x140190fbe
call fcn.1401e9f10
lea rcx, [rsp + 0x190]
mov edx, 0x20
call fcn.1402b4c30
jmp 0x140190f4e
lea rcx, [rsp + 0x60]
mov edx, 0x120
call fcn.1401a4640
jmp 0x140191049
mov rsi, r14
jmp 0x1401910b1
bt eax, 9
jae 0x14019125c
call fcn.140004450
lea rax, [0x140004920]
lea rcx, [0x140004620]
jmp 0x140191146
call fcn.140248e60
lea rax, [0x140249680]
lea rcx, [0x140248d40]
jmp 0x140191146