Function at 0x1401e6f30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x188
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x100], 0xfffffffffffffffe
mov ebx, r8d
mov rdi, rcx
mov qword [rdx + 0x18], 0
mov qword [rdx + 0x20], 0xf
mov byte [rdx + 8], 0
lea rax, [0x14035e258]
mov qword [rbp + 0xf8], rdx
mov qword [rdx], rax
mov eax, dword [0x1404915e8]
add eax, dword [0x14049167c]
mov ecx, dword [0x140493eb8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x1401e7547
mov r10, qword [0x1404915d8]
mov rsi, qword [rdi + 0x18]
cmp qword [rdi + 0x20], 0x10
jb 0x1401e6fc4
mov rax, qword [rdi + 8]
jmp 0x1401e6fc8
lea rax, [rdi + 8]
test r10, r10
setne cl
test rsi, rsi
sete dl
cmp cl, dl
je 0x1401e71f6
test r10, r10
je 0x1401e71f6
cmp qword [0x1404915e0], 0x10
jb 0x1401e6ff8
mov r9, qword [0x1404915c8]
jmp 0x1401e6fff
lea r9, [0x1404915c8]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xa0], xmm0
movaps xmmword [rbp + 0x90], xmm0
movaps xmmword [rbp + 0x80], xmm0
movaps xmmword [rbp + 0x70], xmm0
movaps xmmword [rbp + 0x60], xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
mov r8, qword [0x140456e98]
movsxd rcx, dword [r8]
mov edx, dword [0x14036b898]
mov r14, r10
mov r11, r9
and r14, 7
je 0x1401e70b4
mov r11, r9
nop word [rax + rax]
movzx r15d, byte [r11]
movzx r12d, byte [0x140491678]
mov r13d, r12d
xor r13b, r15b
and r12b, r15b
add r12b, r12b
add r12b, r13b
movzx r15d, byte [0x140490bb0]
mov r13d, r15d
xor r13b, r12b
and r12b, r15b
add r12b, r12b
add r12b, r13b
movzx r15d, r12b
mov byte [rbp + r15 - 0x50], 1
inc r11
dec r14
jne 0x1401e7070
cmp r10, 8
jb 0x1401e7120
add r9, r10
nop dword [rax]
movzx r10d, byte [r11]
mov byte [rbp + r10 - 0x50], 1
movzx r10d, byte [r11 + 1]
mov byte [rbp + r10 - 0x50], 1
movzx r10d, byte [r11 + 2]
mov byte [rbp + r10 - 0x50], 1
movzx r10d, byte [r11 + 3]
mov byte [rbp + r10 - 0x50], 1
movzx r10d, byte [r11 + 4]
mov byte [rbp + r10 - 0x50], 1
movzx r10d, byte [r11 + 5]
mov byte [rbp + r10 - 0x50], 1
movzx r10d, byte [r11 + 6]
mov byte [rbp + r10 - 0x50], 1
movzx r10d, byte [r11 + 7]
mov byte [rbp + r10 - 0x50], 1
add r11, 8
cmp r11, r9
jne 0x1401e70c0
lea r9, [rax + rsi]
dec r9
movzx r10d, byte [rax + rsi - 1]
cmp byte [rbp + r10 - 0x50], 0
jne 0x1401e7167
lea r10, [rsi - 1]
nop dword [rax]
test r10, r10
je 0x1401e71f6
movzx r11d, byte [0x140491680]
add r11b, byte [r9 - 1]
dec r9
movzx r11d, r11b
dec r10
cmp byte [rbp + r11 - 0x50], 0
je 0x1401e7140
sub r9, rax
cmp r9, 0xffffffffffffffff
je 0x1401e71f6
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xf0], 0xf
mov byte [rbp + 0xd8], 0
cmp rsi, r9
jbe 0x1401e75da
mov r10d, dword [0x140456e7c]
lea r15d, [r10 + 1]
mov dword [0x140456e7c], r15d
mov r11d, r10d
not r11d
xor r10d, r15d
not r15d
and r15d, r11d
or r15d, r10d
xor r15d, 0xffffffff
jne 0x1401e71cf
xor r10d, r10d
test edx, edx
jg 0x1401e750b
xor r12d, r12d
lea rcx, [r9 + 1]
sub rsi, rcx
add r9, rax
inc r9
cmp rsi, 0xf
jbe 0x1401e7230
lea rcx, [rbp + 0xd8]
mov rdx, rsi
call fcn.1400733f0
jmp 0x1401e7251
mov rcx, qword [rbp + 0xf8]
mov rdx, rdi
call fcn.1401ec490
test bl, bl
jne 0x1401e7215
mov rcx, qword [rbp + 0xf8]
call fcn.1401e5e40
mov rax, qword [rbp + 0xf8]
add rsp, 0x188
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp + 0xe8], rsi
lea rcx, [rbp + 0xd8]
mov rdx, r9
mov r8, rsi
call fcn.1403414a0
mov byte [rbp + rsi + 0xd8], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xc8], xmm0
mov r14, qword [rbp + 0xe8]
cmp qword [rbp + 0xf0], 0x10
jb 0x1401e7275
mov rdi, qword [rbp + 0xd8]
jmp 0x1401e727c
lea rdi, [rbp + 0xd8]
lea rsi, [rbp + 0xb8]
cmp r14, 0xf
ja 0x1401e72df
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
mov r13d, 0xf
cmp r13, 0x10
jb 0x1401e72a2
mov rsi, qword [rbp + 0xb8]
mov qword [rbp + 0xc8], r14
mov qword [rbp + 0xd0], r13
lea rax, [0x14035c428]
mov qword [rbp + 0xb0], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
cmp r14, 0xf
ja 0x1401e731a
lea rax, [rbp - 0x48]
movups xmm0, xmmword [rsi]
movups xmmword [rax], xmm0
mov edi, 0xf
jmp 0x1401e739f
mov r13, r14
or r13, 0xf
movabs rax, 0x7fffffffffffffff
cmp r13, rax
cmovae r13, rax
cmp r13, 0xfff
jb 0x1401e7355
lea rcx, [r13 + 0x28]
call fcn.14031953c
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1401e7361
mov rdi, r14
or rdi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x1401e7383
lea rcx, [rdi + 0x28]
call fcn.14031953c
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1401e738f
lea rcx, [r13 + 1]
call fcn.14031953c
mov rcx, rax
mov qword [rbp + 0xb8], rcx
lea r8, [r14 + 1]
mov rdx, rdi
call fcn.1403414a0
cmp r13, 0x10
jae 0x1401e729b
jmp 0x1401e72a2
lea rcx, [rdi + 1]
call fcn.14031953c
mov rcx, rax
mov qword [rbp - 0x48], rcx
lea r8, [r14 + 1]
mov rdx, rsi
call fcn.1403414a0
xor eax, eax
cmp r15d, 1
sbb rax, rax
mov rcx, qword [0x14036b900]
sub rcx, r12
xor rax, rcx
not rax
and rax, rcx
add rax, qword [0x1404903e0]
mov qword [0x1404903e0], rax
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], rdi
lea rax, [0x14035e258]
mov qword [rbp - 0x50], rax
lea rdx, [rbp - 0x50]
mov rcx, qword [rbp + 0xf8]
call fcn.1401ec490
mov rax, qword [rbp - 0x30]
cmp rax, 0x10
jb 0x1401e743b
mov rdx, qword [rbp - 0x48]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x1401e7426
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x1401e75e4
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0xb0de58bf
mov ecx, 1
xor r8d, r8d
call fcn.140157eb0
mov qword [rbp - 0x38], 0
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov rax, qword [rbp + 0xd0]
cmp rax, 0x10
jb 0x1401e74a4
mov rdx, qword [rbp + 0xb8]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x1401e748f
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x1401e75e9
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0xb0de58bf
mov ecx, 1
xor r8d, r8d
call fcn.140157eb0
mov rax, qword [rbp + 0xf0]
cmp rax, 0x10
jb 0x1401e7205
mov rdx, qword [rbp + 0xd8]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x1401e74f1
mov rcx, qword [rdx - 8]
cmp byte [0x140490960], 0
jne 0x1401e74e7
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x1401e75df
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0xb0de58bf
mov ecx, 1
xor r8d, r8d
call fcn.140157eb0
jmp 0x1401e7205
add rcx, r8
xor r8d, r8d
nop word cs:[rax + rax]
movsxd r10, r10d
mov r11, qword [rcx + r10]
mov r12, r11
xor r12, r11
not r12
and r12, r8
xor r12, r11
add r10d, 8
mov r8, r12
cmp r10d, edx
jl 0x1401e7520
jmp 0x1401e71d2
mov dword [rsp + 0x20], 0xb0de58bf
lea rdx, [0x1404915e8]
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
call fcn.140157eb0
cmp dword [0x1404915e8], 0xffffffff
jne 0x1401e6fac
mov dword [rsp + 0x20], 0xbeb982a3
mov ecx, 1
mov edx, 1
mov r8d, 1
mov r9d, 1
call fcn.1401eae40
lea rcx, [0x1404915c0]
mov rdx, rax
call fcn.140089340
lea rcx, [0x1401e5770]
mov edx, 0x20541db4
call fcn.1400db710
mov dword [rsp + 0x20], 0xb0de58bf
lea rdx, [0x1404915e8]
mov ecx, 1
mov r8d, 1
xor r9d, r9d
call fcn.140157eb0
jmp 0x1401e6fac
call fcn.1400d7710
call fcn.1402f9bec
call fcn.1402f9bec
call fcn.1402f9bec
int3