Function at 0x1402e6460
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 r13, rdx
mov rsi, rcx
mov eax, dword [0x1406950e4]
cmp eax, 0x5f
jg 0x1402e6524
mov qword [r13 + 0x18], 0
movabs rax, 0x462690a2fb09ed67
add rax, qword [0x14063a9a8]
movabs rcx, 0x8c398256264434b5
xor rcx, rax
movabs rdx, 0xc398256264434b5
and rdx, rax
lea rax, [rcx + rdx*2]
mov qword [r13 + 0x20], rax
mov byte [r13 + 8], 0
lea r14, [0x140530b08]
mov qword [r13], r14
mov eax, dword [0x14063a9b0]
mov ecx, eax
xor ecx, 0x54e8876
and ecx, eax
xor eax, 0x7ab17789
lea eax, [rax + rcx*2]
add eax, 0xd03e34f2
lea rcx, [fcn.1402e6460]
add ecx, ecx
add ecx, 0x48e0
mov edx, ecx
xor edx, eax
or eax, ecx
not eax
or eax, edx
cmp eax, 0xffffffff
je 0x1402e655f
lea rax, [0x140530b08]
nop dword [rax + rax]
mov qword [r13 + 0x18], 0
mov qword [r13 + 0x20], 0xf
mov byte [r13 + 8], 0
mov qword [r13], rax
mov ecx, dword [0x1406950e0]
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
jne 0x1402e6530
jmp 0x1402e649e
mov eax, dword [0x140697a88]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov eax, dword [rax + 0x26838]
cmp dword [0x140695040], eax
mov qword [rbp + 0xf8], r13
jg 0x1402e68cb
mov rdx, qword [0x140695030]
movabs rax, 0x62620565bee0837d
add rax, qword [0x14063a9a8]
mov rdi, qword [rsi + 0x18]
movabs rcx, 0x6ffe0d93626d9e9f
mov r8, rax
xor r8, rcx
and rax, rcx
lea rax, [r8 + rax*2]
cmp qword [rsi + 0x20], rax
jbe 0x1402e65ca
mov rax, qword [rsi + 8]
jmp 0x1402e65ce
lea rax, [rsi + 8]
add rdx, qword [0x1406950e8]
setne cl
test rdi, rdi
sete r8b
cmp cl, r8b
je 0x1402e685e
test rdx, rdx
je 0x1402e685e
cmp qword [0x140695038], 0x10
jb 0x1402e6604
mov rcx, qword [0x140695020]
jmp 0x1402e660b
lea rcx, [0x140695020]
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 r9, rdx
not r9
mov r8d, r9d
and r8d, 7
mov r10, rdx
and r10, 0xfffffffffffffff8
or r10, r8
and r9, 0xfffffffffffffff8
mov r8, r10
and r8, r9
or r9, r10
or r9, r8
xor r9, 0xffffffffffffffff
mov r8, rcx
je 0x1402e6703
lea r8, [rcx + 1]
xor r10d, r10d
nop
movzx r11d, byte [r8 - 1]
movzx r15d, byte [0x1406950f0]
mov r12d, r15d
xor r12b, r11b
not r15b
not r11b
and r11b, r15b
or r11b, r12b
not r11b
add r11b, r11b
add r11b, r12b
add r11b, byte [0x140694271]
movzx r11d, r11b
mov byte [rbp + r11 - 0x50], 1
mov r11, r10
neg r11
dec r10
add r11, r11
mov r15, r10
xor r15, r11
and r11, r10
lea r10, [r15 + r11*2]
neg r10
cmp r10, r9
sete r11b
movzx r15d, byte [0x140694f94]
test r15b, r11b
jne 0x1402e6703
xor r15b, r11b
jne 0x1402e6703
inc r8
jmp 0x1402e6690
cmp rdx, 8
jb 0x1402e67ac
add rcx, rdx
movzx edx, byte [r8]
movzx r9d, byte [0x1406950f1]
mov r10d, r9d
xor r10b, dl
and r9b, dl
add r9b, r9b
mov edx, r10d
xor dl, r9b
and r9b, r10b
add r9b, r9b
add r9b, dl
movzx edx, r9b
mov byte [rbp + rdx - 0x50], 1
movzx edx, byte [r8 + 1]
mov byte [rbp + rdx - 0x50], 1
movzx edx, byte [r8 + 2]
mov byte [rbp + rdx - 0x50], 1
movzx edx, byte [r8 + 3]
mov byte [rbp + rdx - 0x50], 1
movzx edx, byte [r8 + 4]
mov byte [rbp + rdx - 0x50], 1
movzx edx, byte [r8 + 5]
movzx r9d, byte [0x14063a9b4]
mov r10d, r9d
xor r10b, 0x66
and r9b, 0x66
add r9b, r9b
add r9b, r10b
mov byte [rbp + rdx - 0x50], r9b
movzx edx, byte [r8 + 6]
mov byte [rbp + rdx - 0x50], 1
movzx edx, byte [r8 + 7]
mov byte [rbp + rdx - 0x50], 1
add r8, 8
cmp r8, rcx
jne 0x1402e6710
lea rcx, [rdi + rax]
dec rcx
movzx edx, byte [rdi + rax - 1]
cmp byte [rbp + rdx - 0x50], 0
je 0x1402e6827
sub rcx, rax
cmp rcx, 0xffffffffffffffff
je 0x1402e685e
mov edx, 0x4aefac7a
add edx, dword [0x14063a9b0]
lea r8, [fcn.1402e6460]
lea r9d, [r8 + r8]
add r9d, 0x1c41
add r8d, r8d
add r8d, 0x1c40
xor r8d, 0xfffffffe
mov r10d, r9d
and r10d, r8d
xor r8d, r9d
xor r8d, r10d
or r8d, r10d
not r8d
cmp r8d, edx
je 0x1402e69df
jmp 0x1402e6a19
dec rcx
test dl, dl
jne 0x1402e67bf
cmp rcx, rax
je 0x1402e685e
nop dword [rax]
mov edx, dword [0x1406950e4]
cmp edx, 0xc
jg 0x1402e6851
movzx edx, byte [rcx - 1]
movzx edx, byte [rbp + rdx - 0x50]
mov r8d, dword [0x1406950e4]
cmp r8d, 0x5b
jle 0x1402e6820
mov edx, dword [0x1406950e4]
cmp edx, 0x16
jge 0x1402e6830
jmp 0x1402e683b
mov rcx, r13
mov rdx, rsi
call fcn.1402f02e0
mov al, 1
nop dword [rax + rax]
mov ecx, dword [0x1406950e4]
cmp ecx, 0x1e
jl 0x1402e6886
nop dword [rax + rax]
test al, al
je 0x1402e6880
jmp 0x1402e6870
test bl, bl
jne 0x1402e68b0
mov eax, dword [0x1406950e0]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1402e68a0
mov rcx, qword [rbp + 0xf8]
call fcn.1402e4bb0
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 dword [rsp + 0x28], 0xe4445752
mov dword [rsp + 0x20], 0x790a6c13
lea rdx, [0x140695040]
mov ecx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.1402ee1a0
cmp dword [0x140695040], 0xffffffff
jne 0x1402e658b
mov eax, dword [0x1406950e4]
cmp eax, 0x48
jg 0x1402e695b
mov r9d, dword [0x14063a9b0]
lea ecx, [r9 + 0x4aefac7b]
lea r8d, [r9 - 0x7cb60eba]
add r9d, 0x30f17cc8
mov edx, ecx
call fcn.1402ed120
mov ecx, 0x4aefac7b
add ecx, dword [0x14063a9b0]
lea rdx, [fcn.1402e6460]
add edx, edx
add edx, 0x1a0
mov r8d, edx
xor r8d, ecx
not ecx
not edx
and edx, ecx
or edx, r8d
cmp edx, 0xffffffff
je 0x1402e6989
mov ecx, 1
mov edx, 1
mov r8d, 0x385a44cc
mov r9d, 0xe601d04e
call fcn.1402ed120
mov eax, dword [0x1406950e0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402e695b
jmp 0x1402e690a
lea rcx, [0x140695018]
mov rdx, rax
call fcn.1400ae850
lea rcx, [0x1402e3f90]
mov edx, 0x750a0b22
mov r8d, 0x421bd833
call fcn.1401676c0
mov dword [rsp + 0x28], 0xe4445752
mov dword [rsp + 0x20], 0x790a6c13
lea rdx, [0x140695040]
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
call fcn.1402ee1a0
mov r13, qword [rbp + 0xf8]
jmp 0x1402e658b
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xf0], 0xf
movzx edx, byte [0x14063a9b4]
add dl, 0x65
mov byte [rbp + 0xd8], dl
mov edx, dword [0x1406950e0]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x1402e6a81
mov edx, 0x4aefac7b
lea r8, [fcn.1402e6460]
add r8d, r8d
add r8d, 0x32e0
not r8d
nop word cs:[rax + rax]
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xf0], 0xf
mov byte [rbp + 0xd8], 0
mov r9d, dword [0x14063a9b0]
add r9d, edx
not r9d
mov r10d, r9d
xor r10d, r8d
and r10d, r9d
or r10d, r8d
cmp r10d, 0xffffffff
jne 0x1402e6a40
jmp 0x1402e69df
cmp rdi, rcx
jbe 0x1402e6d08
lea rdx, [rcx + 1]
sub rdi, rdx
lea r9, [rax + rcx]
inc r9
cmp rdi, 0xf
jbe 0x1402e6aaf
lea rcx, [rbp + 0xd8]
mov rdx, rdi
call fcn.140088ee0
jmp 0x1402e6ad0
mov qword [rbp + 0xe8], rdi
lea rcx, [rbp + 0xd8]
mov rdx, r9
mov r8, rdi
call fcn.140511c70
mov byte [rbp + rdi + 0xd8], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xc8], xmm0
mov r15, qword [rbp + 0xe8]
movabs rax, 0xd26012f9214e221c
add rax, qword [0x14063a9a8]
cmp qword [rbp + 0xf0], rax
jbe 0x1402e6b04
mov rdi, qword [rbp + 0xd8]
jmp 0x1402e6b0b
lea rdi, [rbp + 0xd8]
mov r13, qword [rbp + 0xf8]
lea rsi, [rbp + 0xb8]
cmp r15, 0xf
ja 0x1402e6b79
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
mov r12d, 0xf
cmp r12, 0x10
jb 0x1402e6b38
mov rsi, qword [rbp + 0xb8]
mov qword [rbp + 0xc8], r15
mov qword [rbp + 0xd0], r12
lea rax, [0x14052ecd8]
mov qword [rbp + 0xb0], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
cmp r15, 0xf
ja 0x1402e6c15
lea rax, [rbp - 0x48]
movups xmm0, xmmword [rsi]
movups xmmword [rax], xmm0
mov edi, 0xf
jmp 0x1402e6ce8
mov eax, r15d
and eax, 0xf
mov rcx, r15
xor rcx, rax
not rax
mov r12, r15
xor r12, 0xfffffffffffffff0
and r12, rax
xor rcx, 0xf
or r12, rcx
not r12
or r12, rcx
movabs rax, 0x7fffffffffffffff
cmp r12, rax
cmovae r12, rax
movabs rax, 0xd26012f9214e320b
add rax, qword [0x14063a9a8]
cmp r12, rax
jbe 0x1402e6c76
lea rcx, [r12 + 0x28]
call fcn.1404e9d4c
mov ecx, dword [0x1406950e4]
cmp ecx, 0x14
mov r13, qword [rbp + 0xf8]
jg 0x1402e6c15
mov rcx, rax
add rcx, 0x27
mov edx, ecx
not edx
and edx, 0x1f
mov r8, rcx
and r8, 0xffffffffffffffe0
or r8, rdx
xor r8, 0xffffffffffffffe0
and ecx, 0x1f
or rcx, r8
not rcx
mov qword [rcx - 8], rax
mov al, 1
test al, al
jne 0x1402e6c8a
mov rax, r15
not rax
mov rcx, r15
xor rcx, 0xf
mov rdi, rax
and rdi, 0xfffffffffffffff0
or rdi, rcx
and eax, 0xf
mov rcx, r15
and rcx, 0xfffffffffffffff0
or rcx, rax
xor rdi, rcx
and rcx, rdi
not rdi
or rdi, rcx
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmovae rdi, rax
cmp byte [0x140694f94], 0
jne 0x1402e6cb9
cmp rdi, 0xfff
jae 0x1402e6cb9
lea rcx, [rdi + 1]
call fcn.1404e9d4c
mov rcx, rax
jmp 0x1402e6cd1
lea rcx, [r12 + 1]
call fcn.1404e9d4c
mov rcx, rax
mov r13, qword [rbp + 0xf8]
mov qword [rbp + 0xb8], rcx
mov rax, r15
xor rax, 1
mov edx, r15d
and edx, 1
lea r8, [rax + rdx*2]
mov rdx, rdi
call fcn.140511c70
cmp r12, 0x10
jae 0x1402e6b31
jmp 0x1402e6b38
lea rcx, [rdi + 0x28]
call fcn.1404e9d4c
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
mov qword [rbp - 0x48], rcx
lea r8, [r15 + 1]
mov rdx, rsi
call fcn.140511c70
mov r13, qword [rbp + 0xf8]
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x50], r14
lea rdx, [rbp - 0x50]
mov rcx, r13
call fcn.1402f02e0
xor eax, eax
test al, al
jne 0x1402e6d20
jmp 0x1402e6d0d
call fcn.14015f530
mov rax, qword [rbp - 0x30]
mov ecx, dword [0x1406950e4]
cmp ecx, 0x20
jl 0x1402e6d2d
nop dword [rax]
mov eax, dword [0x1406950e4]
cmp eax, 0x3b
jge 0x1402e6d20
jmp 0x1402e6d0d
cmp rax, 0x10
jb 0x1402e6dd8
mov rdx, qword [rbp - 0x48]
mov rcx, qword [0x14063a9a8]
add rcx, rax
movabs r9, 0xd26012f9214e220e
add r9, rcx
cmp r9, 0x1000
jb 0x1402e6db8
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
movabs r8, 0xb6ba0f179a43401c
xor r8, rdx
movabs r9, 0x4945f0e865bcbfe3
xor r9, rdx
and r9, rdx
lea rdx, [r8 + r9*2]
sub rdx, rcx
movabs r8, 0x4945f0e865bcbfe4
add r8, rdx
movabs rdx, 0xd26012f9214e222d
add rdx, qword [0x14063a9a8]
cmp r8, rdx
jae 0x1402e6eec
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x28], 0xe4445752
mov dword [rsp + 0x20], 0x790a6c13
mov ecx, 1
mov r8d, 1
call fcn.1402ee1a0
mov qword [rbp - 0x38], 0
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov rax, qword [rbp + 0xd0]
cmp rax, 0x10
jb 0x1402e6e4c
mov rdx, qword [rbp + 0xb8]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x1402e6e2c
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x1402e6ef1
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x28], 0xe4445752
mov dword [rsp + 0x20], 0x790a6c13
mov ecx, 1
mov r8d, 1
call fcn.1402ee1a0
mov rax, qword [rbp + 0xf0]
cmp rax, 0x10
jb 0x1402e6869
mov rdx, qword [rbp + 0xd8]
mov rcx, qword [0x14063a9a8]
add rcx, rax
movabs r9, 0xd26012f9214e220e
add r9, rcx
cmp r9, 0x1000
jb 0x1402e6ec7
mov rcx, qword [rdx - 8]
sub rdx, rcx
add rdx, 0xfffffffffffffff8
cmp rdx, 0x20
jae 0x1402e6f24
mov rdx, qword [0x14063a9a8]
movabs r8, 0xd26012f9214e2235
xor r8, rdx
movabs r9, 0x526012f9214e2235
and r9, rdx
lea rdx, [r8 + r9*2]
add rax, rdx
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x28], 0xe4445752
mov dword [rsp + 0x20], 0x790a6c13
mov ecx, 1
mov r8d, 1
call fcn.1402ee1a0
jmp 0x1402e6869
call fcn.1404ca324
lea rax, [fcn.1402e6460]
add eax, eax
add eax, 0x4b40
mov ecx, eax
not ecx
test ecx, eax
jne 0x1402e6f12
mov edx, dword [0x1406950e4]
cmp edx, 0xf
jle 0x1402e6f1f
mov edx, dword [0x1406950e4]
cmp edx, 0x2f
jge 0x1402e6f03
jmp 0x1402e6f07
call fcn.1404ca324
call fcn.1404ca324
int3