Function at 0x140192bd0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], 0xfffffffffffffffe
mov rsi, rcx
mov dword [rsp + 0x20], 0x8d386e5d
mov rcx, rbp
mov r8d, 0x90cd76d9
mov r9d, 0x1d4d1230
call fcn.14010eb50
mov eax, dword [0x1405a7134]
add eax, dword [rbp + 0x18]
mov ecx, dword [0x1405a713c]
mov edx, eax
xor edx, eax
not edx
and edx, ecx
xor edx, eax
and eax, ecx
add eax, eax
mov ecx, edx
xor ecx, eax
and eax, edx
lea edx, [rcx + rax*2]
add edx, dword [0x1405a7130]
mov eax, 0x76a2eb08
add eax, dword [0x140546f48]
cmp edx, eax
je 0x140192c5a
cmp qword [rbp + 0x20], 0x10
jb 0x140192c51
mov rcx, qword [rbp + 8]
jmp 0x140192c55
lea rcx, [rbp + 8]
call fcn.140089ef0
mov rcx, rbp
lea rdx, [rbp - 0x28]
mov r8b, 1
call fcn.140264570
lea rdx, [rbp - 0x50]
mov rcx, rsi
mov r8b, 1
call fcn.140264570
mov eax, dword [0x140546f48]
mov ecx, eax
xor ecx, 0x95d14f7
and ecx, eax
xor eax, 0x76a2eb08
add ecx, ecx
add ecx, eax
nop word cs:[rax + rax]
mov al, 1
test al, al
je 0x140192ca0
mov r8, qword [rbp - 0x38]
movabs rdi, 0xcad23197b5cc4a6e
cmp r8, qword [rbp - 0x10]
jne 0x140192cda
mov rax, qword [0x140546f50]
add rax, rdi
cmp qword [rbp - 0x30], rax
jbe 0x140192cde
mov rcx, qword [rbp - 0x48]
cmp qword [rbp - 8], rax
ja 0x140192ce8
lea rdx, [rbp - 0x20]
jmp 0x140192cec
xor esi, esi
jmp 0x140192d0d
lea rcx, [rbp - 0x48]
cmp qword [rbp - 8], rax
jbe 0x140192cd4
mov rdx, qword [rbp - 0x20]
mov dword [rsp + 0x28], 0x549f8e42
mov dword [rsp + 0x20], 0xdf659d28
mov r9d, 0x6b26425a
call fcn.1400b1f70
test eax, eax
sete sil
mov eax, dword [0x140546f48]
mov ecx, eax
xor ecx, 0x76a2eb08
and eax, 0x76a2eb08
add eax, eax
add eax, ecx
mov rax, qword [rbp - 0x30]
cmp rax, 0x10
setae cl
movzx edx, byte [0x1405a6d10]
test dl, cl
jne 0x140192d3e
xor dl, cl
je 0x140192dbb
mov r8, qword [rbp - 0x48]
mov rcx, qword [0x140546f50]
movabs rdx, 0xcad23197b5cc4a60
xor rdx, rcx
movabs r9, 0x4ad23197b5cc4a60
and r9, rcx
lea r9, [rdx + r9*2]
add r9, rax
cmp r9, 0x1000
jb 0x140192d9f
mov rcx, qword [r8 - 8]
add r8, 0xfffffffffffffff8
sub r8, rcx
cmp r8, 0x20
jae 0x140192e73
add rax, qword [0x140546f50]
movabs r9, 0xcad23197b5cc4a87
add r9, rax
mov r8, rcx
mov dword [rsp + 0x28], 0xc2a99
mov dword [rsp + 0x20], 0x5e4221ee
mov ecx, 1
xor edx, edx
call fcn.1401a56b0
mov rax, qword [rbp - 8]
add rdi, qword [0x140546f50]
cmp rax, rdi
jbe 0x140192e6b
mov r8, qword [rbp - 0x20]
mov rcx, qword [0x140546f50]
movabs rdx, 0xcad23197b5cc4a60
add rdx, rcx
mov r9, rax
xor r9, rdx
and rdx, rax
lea rdx, [r9 + rdx*2]
mov r9, qword [0x1405a7080]
mov r10, rdx
xor r10, rdx
not r10
and r10, r9
xor r10, rdx
and r9, rdx
lea r9, [r10 + r9*2]
movabs rdx, 0xcad23197b5cc5a5e
xor rdx, rcx
movabs r10, 0x4ad23197b5cc5a5e
and r10, rcx
lea rcx, [rdx + r10*2]
cmp r9, rcx
jbe 0x140192e4f
mov rcx, qword [r8 - 8]
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x20
jae 0x140192e91
add rax, 0x28
mov r9, rax
mov r8, rcx
mov dword [rsp + 0x28], 0xc2a99
mov dword [rsp + 0x20], 0x5e4221ee
mov ecx, 1
xor edx, edx
call fcn.1401a56b0
xor eax, eax
test al, al
jne 0x140192eb0
jmp 0x140192e96
xor eax, eax
mov cl, 1
mov edx, dword [0x1405a7114]
cmp edx, 0x2d
jg 0x140192e86
test al, al
je 0x140192e8c
test cl, cl
je 0x140192e77
jmp 0x140192e82
call fcn.1403f89dc
call fcn.1403f89dc
mov rax, qword [0x1405a6d88]
add rax, qword [rbp + 0x20]
mov ecx, dword [0x1405a7114]
cmp ecx, 0x23
jl 0x140192ec7
nop dword [rax]
mov eax, dword [0x1405a7110]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x140192eb0
jmp 0x140192e96
cmp rax, 0x10
jb 0x140192fac
mov ecx, dword [0x1405a7110]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
mov r8, qword [rbp + 8]
mov rcx, rax
xor rcx, 1
mov rdx, rax
not rdx
movabs r9, 0x7ffffffffffffffe
and r9, rdx
or r9, rcx
not r9
lea r9, [rcx + r9*2]
cmp r9, 0x1000
setae cl
or cl, byte [0x1405a6d10]
mov edx, dword [0x1405a7110]
lea r10d, [rdx - 1]
imul r10d, edx
test r10b, 1
jne 0x140192ee0
test cl, 1
je 0x140192f50
mov rcx, qword [r8 - 8]
add r8, 0xfffffffffffffff8
sub r8, rcx
cmp r8, 0x20
jae 0x140192fd7
add rax, 0x28
mov r9, rax
mov r8, rcx
mov eax, dword [0x140546f48]
mov ecx, eax
xor ecx, 0x76a2eb09
mov edx, eax
and edx, 0x76a2eb09
add edx, edx
mov r10d, ecx
xor r10d, edx
and edx, ecx
lea ecx, [r10 + rdx*2]
lea edx, [rax + 0x76a2eb08]
mov r10d, eax
xor r10d, 0x1620af7d
mov r11d, eax
and r11d, 0x1620af7d
lea r10d, [r10 + r11*2]
add r10d, 0xbec45d79
add eax, 0x76af15a1
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call fcn.1401a56b0
mov eax, dword [0x1405a7110]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x140546f48]
mov edx, eax
xor edx, 0x76a2eb08
and eax, 0x76a2eb08
lea eax, [rdx + rax*2]
cmp ecx, eax
jne 0x140193010
jmp 0x140192fdc
call fcn.1403f89dc
mov eax, 0x76a2eb09
add eax, dword [0x140546f48]
lea rcx, [fcn.140192bd0]
add ecx, ecx
add ecx, 0x2900
mov edx, ecx
xor edx, eax
or eax, ecx
not eax
or eax, edx
cmp eax, 0xffffffff
je 0x14019301d
nop word cs:[rax + rax]
mov eax, dword [0x1405a7114]
cmp eax, 0x5e
jge 0x140193010
jmp 0x140192fdc
mov eax, esi
add rsp, 0xb0
pop rdi
pop rsi
pop rbp
ret