Function at 0x1402615a0
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 rsi, rcx
test rdx, rdx
je 0x140261617
mov rdi, r8
mov r9, rdx
mov qword [rbp - 0x10], 0
movsxd r15, dword [0x140457110]
mov r12d, dword [0x140457118]
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
movabs rax, 0xb30d86c2e49c206c
add rax, qword [0x140545ef8]
cmp r8, rax
jbe 0x14026162b
lea rcx, [rbp - 0x20]
mov rdx, rdi
call fcn.140088c30
jmp 0x140261643
cmp qword [rsi + 0x20], 0x10
jb 0x1402616d1
mov rax, qword [rsi + 8]
jmp 0x1402616d5
mov qword [rbp - 0x10], rdi
lea rcx, [rbp - 0x20]
mov rdx, r9
mov r8, rdi
call fcn.14042d4b0
mov byte [rbp + rdi - 0x20], 0
mov rdi, qword [rbp - 0x10]
cmp qword [rbp - 8], 0x10
jb 0x140261654
mov r14, qword [rbp - 0x20]
jmp 0x140261658
lea r14, [rbp - 0x20]
lea rbx, [rbp - 0x40]
cmp rdi, 0xf
ja 0x140261674
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
mov r13d, 0xf
jmp 0x140261701
mov r13, rdi
or r13, 0xf
movabs rax, 0x7fffffffffffffff
cmp r13, rax
cmovae r13, rax
cmp r13, 0xfff
jb 0x1402616e5
lea rcx, [r13 + 0x28]
call fcn.1404058bc
mov rdx, rax
add rdx, 0x27
movabs rcx, 0xb30d86c2e49c203d
add rcx, qword [0x140545ef8]
mov r8, rdx
not r8
xor rdx, rcx
not rcx
and rcx, r8
or rcx, rdx
not rcx
mov qword [rcx - 8], rax
jmp 0x1402616f1
lea rax, [rsi + 8]
mov qword [rsi + 0x18], 0
mov byte [rax], 0
jmp 0x140261859
lea rcx, [r13 + 1]
call fcn.1404058bc
mov rcx, rax
mov qword [rbp - 0x40], rcx
lea r8, [rdi + 1]
mov rdx, r14
call fcn.14042d4b0
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], r13
lea rax, [0x140449f08]
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x48]
cmp rax, rsi
je 0x140261796
movabs rax, 0xb30d86c2e49c205d
add rax, qword [0x140545ef8]
lea r14, [rsi + 8]
cmp rdi, rax
jne 0x14026174c
cmp qword [rsi + 0x20], 0x10
jb 0x140261742
mov r14, qword [rsi + 8]
mov qword [rsi + 0x18], 0
jmp 0x14026178e
cmp r13, 0x10
jb 0x140261756
mov rbx, qword [rbp - 0x40]
mov rax, qword [rsi + 0x20]
cmp rax, rdi
jae 0x14026176f
mov rcx, r14
mov rdx, rdi
mov r9, rbx
call fcn.140088c30
jmp 0x140261792
cmp rax, 0x10
jb 0x140261779
mov r14, qword [rsi + 8]
mov qword [rsi + 0x18], rdi
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.14042d4b0
add r14, rdi
mov byte [r14], 0
mov r13, qword [rbp - 0x28]
cmp r13, 0x10
jb 0x140261819
mov r8, qword [rbp - 0x40]
lea r9, [r13 + 1]
cmp r9, 0x1000
jb 0x1402617fd
mov rax, qword [r8 - 8]
sub r8, rax
add r8, 0xfffffffffffffff8
cmp r8, 0x20
jae 0x140261854
mov rcx, qword [0x140545ef8]
add r13, rcx
movabs rdx, 0xb30d86c2e49c2085
xor rdx, rcx
movabs r8, 0x330d86c2e49c2085
and r8, rcx
lea rcx, [rdx + r8*2]
movabs r9, 0xb30d86c2e49c205d
add r9, r13
add r9, rcx
mov r8, rax
mov dword [rsp + 0x28], 0x75bd0fbe
mov dword [rsp + 0x20], 0xa8261d12
xor ecx, ecx
mov edx, 1
call fcn.140262c70
lea rax, [0x140457110]
add r15, rax
mov r10, qword [rbp - 8]
mov r11d, dword [0x140545084]
mov r8d, r11d
mov eax, 0x84b2eecb
add eax, dword [0x140545f00]
xor r8d, 1
and eax, r11d
mov ecx, dword [0x140590334]
cmp ecx, 0x53
jge 0x1402618d0
jmp 0x140261870
call fcn.1403e571c
mov rax, rsi
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov edx, dword [0x140545f00]
mov ecx, edx
xor ecx, 0x84b2eecc
mov r9d, edx
and r9d, 0x4b2eecc
lea ecx, [rcx + r9*2]
imul ecx, eax
add ecx, r8d
mov dword [0x140545084], ecx
mov r9d, edx
xor r9d, 0x84b2eecb
and edx, 0x4b2eecb
lea edx, [r9 + rdx*2]
lea r9, [fcn.1402615a0]
add r9d, r9d
add r9d, 0x3040
test r9d, edx
je 0x14026196a
nop word cs:[rax + rax]
mov r9d, dword [0x140545f00]
mov ecx, r9d
xor ecx, 0x84b2eecc
mov edx, r9d
and edx, 0x4b2eecc
lea edi, [rcx + rdx*2]
mov edx, edi
mov ecx, eax
shl edx, cl
sub r9d, edi
mov edi, 2
mov ecx, edx
shl edi, cl
mov ecx, 4
sub ecx, edi
add edi, 0xfffffffe
imul edi, ecx
mov ecx, 2
sub ecx, edi
imul ecx, edi
mov edx, 2
sub edx, ecx
imul edx, ecx
lea ecx, [r9 + rdx]
add ecx, 0x84b2eeca
add r9d, edx
mov edx, 0x7b4d1138
sub edx, r9d
imul edx, ecx
mov r9d, edx
shl r9d, cl
mov ecx, edx
sub ecx, r9d
imul ecx, r9d
imul ecx, edx
mov edx, r8d
shl edx, cl
add edx, ecx
mov dword [0x140545084], edx
mov ecx, dword [0x140590334]
cmp ecx, 0x3b
jge 0x1402618d0
jmp 0x140261870
mov eax, r11d
not eax
xor r11d, ecx
not ecx
nop word cs:[rax + rax]
mov edx, dword [0x140590334]
cmp edx, 0xf
jg 0x14026199f
mov edx, dword [0x140590330]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x1402619ac
mov edx, dword [0x140590334]
cmp edx, 0x45
jge 0x140261980
jmp 0x14026198b
and eax, ecx
or r11d, eax
xor ecx, ecx
xor r11d, 0xffffffff
mov edx, 0
jne 0x140261a25
xor eax, eax
mov ecx, 0
mov edx, 0
test r12d, r12d
jle 0x140261a25
xor ecx, ecx
xor edx, edx
nop word cs:[rax + rax]
movsxd r8, eax
mov r9, qword [r15 + r8]
mov r8, qword [r15 + r8 + 8]
nop dword [rax]
mov edi, dword [0x140590330]
lea ebx, [rdi - 1]
imul ebx, edi
test bl, 1
jne 0x1402619f0
xor rcx, r9
xor rdx, r8
mov r8d, eax
xor r8d, 0x10
and eax, 0x10
add eax, eax
mov r9d, r8d
xor r9d, eax
and eax, r8d
lea eax, [r9 + rax*2]
cmp eax, r12d
jl 0x1402619e0
cmp r10, 0xf
jbe 0x140261859
mov r8, qword [rbp - 0x20]
lea r9, [r10 + 1]
mov rax, qword [0x140545ef8]
movabs rdi, 0xb30d86c2e49c305c
xor rdi, rax
movabs rbx, 0x330d86c2e49c305c
and rbx, rax
lea rax, [rdi + rbx*2]
cmp r9, rax
jbe 0x140261baa
mov rax, qword [r8 - 8]
xor r9d, r9d
test r11d, r11d
setne r9b
mov r11, qword [0x140457100]
xor edi, edi
add r9, 0xffffffffffffffff
adc rdi, 0xffffffffffffffff
mov rbx, qword [0x1404570f8]
sub rbx, rcx
sbb r11, rdx
mov ecx, dword [0x140590330]
not r9
not rdi
not r11
mov rcx, r11
xor rcx, rdi
not rbx
mov rdx, rbx
xor rdx, r9
and rdx, rbx
and rcx, r11
or rcx, rdi
or rdx, r9
not rdx
not rcx
mov r9d, 0x84b2eeca
nop word [rax + rax]
mov r11d, dword [0x140590330]
lea edi, [r11 - 1]
imul edi, r11d
and edi, 1
mov r11d, dword [0x140545f00]
add r11d, r9d
cmp edi, r11d
jne 0x140261ad0
or rdx, rcx
nop word cs:[rax + rax]
movzx ecx, byte [0x140545ef8]
add cl, 0x7d
mov r9, rdx
shr r9, cl
mov ecx, dword [0x140590334]
cmp ecx, 0x1c
jle 0x140261b26
mov ecx, dword [0x140590334]
cmp ecx, 0x2f
jmp 0x140261b00
or r9d, edx
xor ecx, ecx
mov edx, 0x84b2eeca
mov r11d, dword [0x140590330]
mov edi, dword [0x140545f00]
neg edi
add edi, r11d
inc edi
imul edi, r11d
test dil, 1
jne 0x140261b52
test cl, cl
je 0x140261b75
mov r11d, dword [0x140590330]
lea edi, [r11 - 1]
imul edi, r11d
and edi, 1
mov r11d, dword [0x140545f00]
add r11d, edx
cmp edi, r11d
jne 0x140261b30
jmp 0x140261b4e
add r9d, dword [0x14058f4cc]
sub r8, rax
add r8, qword [0x140545ef8]
mov dword [0x14058f4cc], r9d
movabs rcx, 0xb30d86c2e49c2055
add rcx, r8
cmp rcx, 0x20
jae 0x140261bdb
add r10, 0x28
mov r9, r10
mov r8, rax
mov eax, dword [0x140545f00]
lea ecx, [rax - 0x7b4d1136]
lea edx, [rax - 0x7b4d1135]
lea r10d, [rax + 0x2cd90bdc]
add eax, 0xfa6ffe88
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call fcn.140262c70
jmp 0x140261859
call fcn.1403e571c
int3