Function at 0x1403b6bb0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp], 0xfffffffffffffffe
mov r10, rcx
mov rsi, qword [rcx]
mov rax, qword [rcx + 8]
sub rax, rsi
mov r15, qword [0x14057ae68]
lea ecx, [r15 + 0x34]
sar rax, cl
movabs r14, 0x937c2e999a9d1430
add r14, r15
add r14, rax
mov r9, qword [r10 + 0x10]
sub r9, rsi
sar r9, 5
lea ecx, [r15 + 0x30]
mov r11, r9
shr r11, cl
movabs rax, 0x7ffffffffffffff
mov rcx, rax
sub rcx, r11
add r11, r9
cmp r11, r14
cmovbe r11, r14
cmp r9, rcx
cmova r11, rax
mov rcx, r11
shr rcx, 0x3b
jne 0x1403b7195
mov r12, r8
mov rdi, rdx
movzx ecx, byte [0x14057ae68]
add cl, 0x34
mov rdx, r11
shl rdx, cl
mov rcx, qword [0x140590570]
movsxd rbx, dword [0x140471af0]
mov r8d, dword [0x140592774]
cmp r8d, 0x45
jl 0x1403b6c79
mov r8d, dword [0x140471ad4]
mov r8d, dword [0x140471ad4]
mov dword [rbp - 0x10], r8d
mov r8, qword [0x14057ae68]
add rcx, r8
movabs r9, 0x937c2e999a9d142f
add rcx, r9
add rcx, rdx
movabs rdx, 0x937c2e999a9d14ae
add rdx, r8
cmp r11, rdx
mov qword [rbp - 0x38], r10
mov qword [rbp - 0x20], r11
mov qword [rbp - 0x30], r14
jbe 0x1403b6d44
cmp r11, rax
jae 0x1403b7195
mov eax, 0x68af
add eax, dword [0x14057aec0]
add rcx, 0x27
cdqe
add rax, qword [0x14057aee8]
mov edx, 0xbb48ad0d
mov r8d, 0xc3b8aeb9
call qword [case.0x140114b5b.0]
lea r10, [rax + 0x27]
mov rcx, r10
not rcx
mov rdx, qword [0x14057ae68]
movabs r8, 0x937c2e999a9d140f
xor r8, rdx
movabs r9, 0x137c2e999a9d140f
and r9, rdx
lea r8, [r8 + r9*2]
movabs r9, 0x937c2e999a9d142e
add r9, rdx
xor r9, r8
and r9, rcx
xor r10, 0xffffffffffffffe0
or r10, r9
not r10
mov qword [r10 - 8], rax
jmp 0x1403b6d76
test r11, r11
je 0x1403b6d73
mov eax, 0x68af
add eax, dword [0x14057aec0]
cdqe
add rax, qword [0x14057aee8]
mov edx, 0xbb48ad0d
mov r8d, 0xc3b8aeb9
call qword [case.0x140114b5b.0]
mov r10, rax
jmp 0x1403b6d76
xor r10d, r10d
add r15, rdi
sub r15, rsi
movabs rax, 0x937c2e999a9d142f
add r15, rax
sar r15, 5
shl r15, 5
xorps xmm0, xmm0
mov rax, r10
mov qword [rbp - 8], r10
movups xmmword [r10 + r15 + 0x10], xmm0
mov rax, qword [r12]
mov qword [rbp - 0x50], rax
mov rax, qword [r12 + 0x10]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x58], r12
mov rax, qword [r12 + 0x18]
mov qword [rbp - 0x48], rax
mov ecx, dword [0x14057ab90]
mov eax, dword [0x14057ae70]
add eax, ecx
add eax, 0xc6c6a47e
mov dword [0x14057ab90], eax
xor r13d, r13d
mov esi, 0
mov qword [rbp - 0x40], rcx
mov dword [rbp - 0x24], eax
test ecx, eax
jne 0x1403b6ec9
xor r9d, r9d
mov r13d, 0
mov esi, 0
cmp dword [rbp - 0x10], 0
jle 0x1403b6ec9
lea rax, [0x140471af0]
add rbx, rax
xor r14d, r14d
xor r12d, r12d
nop word [rax + rax]
mov ecx, dword [0x140592774]
movsxd rax, r9d
cmp ecx, 0x23
jle 0x1403b6e44
nop
mov rcx, qword [rbx + rax]
mov rcx, qword [rbx + rax + 8]
mov ecx, dword [0x140592774]
cmp ecx, 0x39
jge 0x1403b6e30
mov rcx, qword [rbx + rax]
mov r8, qword [rbx + rax + 8]
mov r10, r14
not r10
mov r11, r12
not r11
mov eax, dword [0x140592770]
nop
mov edx, dword [0x140592770]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x14057ae70]
mov esi, edx
xor esi, 0xc6c6a47f
and edx, 0x46c6a47f
lea esi, [rsi + rdx*2]
xor edx, edx
div esi
test edx, edx
jne 0x1403b6e60
mov rsi, r12
xor rsi, r8
xor r8, r11
mov r13, r14
xor r13, rcx
xor rcx, r10
not rcx
not r8
and r8, r11
and rcx, r10
and rsi, r12
xor rsi, r8
and r13, r14
xor r13, rcx
add r9d, 0x10
mov r14, r13
mov r12, rsi
cmp r9d, dword [rbp - 0x10]
jl 0x1403b6e20
mov rax, qword [rbp - 8]
lea rbx, [rax + r15]
cmp qword [rbp - 0x48], 0x10
mov r14, qword [rbp - 0x58]
cmovae r14, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x18]
cmp rcx, 0x10
jae 0x1403b6efb
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
mov r12d, 0xf
jmp 0x1403b6fc1
add rax, r15
add rax, 0x20
mov qword [rbp - 0x10], rax
mov eax, ecx
movabs r12, 0x937c2e999a9d143e
add r12, qword [0x14057ae68]
and eax, 0xf
xor r12, rcx
or r12, rax
movabs rax, 0x7fffffffffffffff
cmp r12, rax
cmovae r12, rax
cmp r12, 0xfff
jb 0x1403b6f9d
lea rcx, [r12 + 0x28]
call fcn.1404058bc
mov rcx, rax
xor rcx, 0x27
mov edx, eax
and edx, 0x27
lea rcx, [rcx + rdx*2]
mov rdx, qword [0x14057ae68]
movabs r8, 0x937c2e999a9d142e
add r8, rdx
xor r8, rcx
movabs r9, 0x937c2e999a9d140f
add r9, rdx
xor r9, rcx
mov rcx, r8
not rcx
xor r8, 0x1f
and rcx, 0xffffffffffffffe0
or rcx, r8
not rcx
or rcx, r9
not rcx
mov qword [rcx - 8], rax
jmp 0x1403b6faa
lea rcx, [r12 + 1]
call fcn.1404058bc
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [rbx], rcx
lea r8, [rax + 1]
mov rdx, r14
call fcn.14042d4b0
mov rcx, qword [rbp - 0x18]
mov qword [rbx + 0x10], rcx
mov qword [rbp - 0x10], rbx
mov qword [rbx + 0x18], r12
mov r14, qword [rbp - 0x38]
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
cmp rcx, rdi
je 0x1403b70c3
cmp rax, rdi
sete cl
movzx edx, byte [0x14058f759]
test dl, cl
mov r9, qword [rbp - 0x20]
mov r8, qword [rbp - 0x30]
jne 0x1403b705b
xor dl, cl
jne 0x1403b705b
mov rcx, qword [rbp - 8]
add rcx, 0x10
xor edx, edx
xorps xmm0, xmm0
nop dword [rax + rax]
movups xmmword [rcx + rdx], xmm0
movups xmm1, xmmword [rax + rdx]
movups xmm2, xmmword [rax + rdx + 0x10]
movups xmmword [rcx + rdx - 0x10], xmm1
movups xmmword [rcx + rdx], xmm2
mov qword [rax + rdx + 0x10], 0
mov qword [rax + rdx + 0x18], 0xf
movzx r10d, byte [0x14057ae74]
add r10b, 0xb5
mov byte [rax + rdx], r10b
lea r10, [rax + rdx]
add r10, 0x20
cmp r10, rdi
je 0x1403b705b
add rdx, 0x20
jmp 0x1403b7010
mov rax, qword [r14 + 8]
cmp rax, rdi
je 0x1403b715b
mov rcx, qword [rbp - 8]
add rcx, r15
add rcx, 0x30
xor edx, edx
xorps xmm0, xmm0
nop dword [rax + rax]
movups xmmword [rcx + rdx], xmm0
movups xmm1, xmmword [rdi + rdx]
movups xmm2, xmmword [rdi + rdx + 0x10]
movups xmmword [rcx + rdx - 0x10], xmm1
movups xmmword [rcx + rdx], xmm2
mov qword [rdi + rdx + 0x10], 0
mov qword [rdi + rdx + 0x18], 0xf
mov byte [rdi + rdx], 0
lea r10, [rdi + rdx]
add r10, 0x20
cmp r10, rax
je 0x1403b715b
add rdx, 0x20
jmp 0x1403b7080
cmp rax, rcx
mov r9, qword [rbp - 0x20]
mov r8, qword [rbp - 0x30]
je 0x1403b715b
mov rdx, qword [rbp - 8]
add rdx, 0x10
xor r12d, r12d
xorps xmm0, xmm0
movabs r15, 0x137c2e999a9d142f
movabs r10, 0x937c2e999a9d143e
movabs rbx, 0x937c2e999a9d142f
movups xmmword [rdx + r12], xmm0
movups xmm1, xmmword [rax + r12]
movups xmm2, xmmword [rax + r12 + 0x10]
movups xmmword [rdx + r12 - 0x10], xmm1
movups xmmword [rdx + r12], xmm2
mov r11, qword [0x14057ae68]
mov rdi, r11
xor rdi, rbx
and r11, r15
lea r11, [rdi + r11*2]
mov qword [rax + r12 + 0x10], r11
mov r11, qword [0x14057ae68]
add r11, r10
mov qword [rax + r12 + 0x18], r11
mov byte [rax + r12], 0
lea r11, [rax + r12]
add r11, 0x20
cmp r11, rcx
je 0x1403b715b
add r12, 0x20
jmp 0x1403b7100
mov rax, qword [0x140471ae8]
mov r11, qword [0x140471ae0]
xor ecx, ecx
mov edx, dword [rbp - 0x24]
test dword [rbp - 0x40], edx
setne cl
xor r15d, r15d
add rcx, 0xffffffffffffffff
adc r15, 0xffffffffffffffff
mov edx, dword [0x140592770]
lea r10d, [rdx - 1]
imul r10d, edx
test r10b, 1
jne 0x1403b71d0
jmp 0x1403b71af
mov eax, 0x68af
add eax, dword [0x14057aec4]
cdqe
add rax, qword [0x14057af00]
call qword [case.0x140114b5b.0]
mov rdx, r11
sub rdx, r13
mov rdi, rax
sbb rdi, rsi
mov r10b, 1
test r10b, r10b
jne 0x1403b71dd
nop word cs:[rax + rax]
mov edx, dword [0x140592774]
cmp edx, 0x53
jge 0x1403b71d0
jmp 0x1403b71af
xor rdi, r15
xor rdx, rcx
not rdx
not rdi
movzx eax, byte [0x14058f759]
and rdx, rcx
and rdi, r15
nop word cs:[rax + rax]
mov ecx, dword [0x140592770]
lea r11d, [rcx - 1]
imul r11d, ecx
test r11b, 1
jne 0x1403b722e
mov rcx, rdx
or rcx, rdi
sete cl
setne sil
mov r11d, dword [0x140592774]
cmp r11d, 0x54
jle 0x1403b7235
test r10b, r10b
je 0x1403b7200
jmp 0x1403b7214
xor cl, sil
and cl, al
and al, sil
xor al, sil
xor al, cl
cmp dword [0x14057ae70], 0x39395b83
jne 0x1403b7264
mov ecx, eax
and cl, 1
mov byte [0x14058f759], cl
mov ecx, dword [0x140592774]
cmp ecx, 0x44
jl 0x1403b7296
mov ecx, eax
and cl, 1
mov edx, 0xc6c6a4a5
nop
mov byte [0x14058f759], cl
mov r11d, dword [0x140592774]
mov r10d, dword [0x14057ae70]
add r10d, edx
mov dword [0x140592774], r10d
cmp r11d, 0x59
jge 0x1403b7270
jmp 0x1403b724e
mov eax, 0x68af
add eax, dword [0x14057aecc]
cdqe
add rax, qword [0x14057aef8]
mov rcx, r14
mov rdx, qword [rbp - 8]
call qword [case.0x140114b5b.0]
mov rax, qword [rbp - 0x10]
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret