Function at 0x14019ca70
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.14011b310
mov eax, dword [0x1405a9bdc]
add eax, dword [rbp + 0x18]
mov ecx, dword [0x1405a9910]
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 [0x1405a9bd8]
mov eax, 0x76a2eb08
add eax, dword [0x140549fb8]
cmp edx, eax
je 0x14019cafa
cmp qword [rbp + 0x20], 0x10
jb 0x14019caf1
mov rcx, qword [rbp + 8]
jmp 0x14019caf5
lea rcx, [rbp + 8]
call fcn.140086c20
mov rcx, rbp
lea rdx, [rbp - 0x28]
mov r8b, 1
call fcn.14026e3f0
lea rdx, [rbp - 0x50]
mov rcx, rsi
mov r8b, 1
call fcn.14026e3f0
mov eax, dword [0x140549fb8]
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 0x14019cb40
mov r8, qword [rbp - 0x38]
movabs rdi, 0xcad23197b5cc4a6e
cmp r8, qword [rbp - 0x10]
jne 0x14019cb7a
mov rax, qword [0x140549fc0]
add rax, rdi
cmp qword [rbp - 0x30], rax
jbe 0x14019cb7e
mov rcx, qword [rbp - 0x48]
cmp qword [rbp - 8], rax
ja 0x14019cb88
lea rdx, [rbp - 0x20]
jmp 0x14019cb8c
xor esi, esi
jmp 0x14019cbad
lea rcx, [rbp - 0x48]
cmp qword [rbp - 8], rax
jbe 0x14019cb74
mov rdx, qword [rbp - 0x20]
mov dword [rsp + 0x28], 0x549f8e42
mov dword [rsp + 0x20], 0xdf659d28
mov r9d, 0x6b26425a
call fcn.1400ac090
test eax, eax
sete sil
mov eax, dword [0x140549fb8]
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 [0x1405a97e0]
test dl, cl
jne 0x14019cbde
xor dl, cl
je 0x14019cc5b
mov r8, qword [rbp - 0x48]
mov rcx, qword [0x140549fc0]
movabs rdx, 0xcad23197b5cc4a60
xor rdx, rcx
movabs r9, 0x4ad23197b5cc4a60
and r9, rcx
lea r9, [rdx + r9*2]
add r9, rax
cmp r9, 0x1000
jb 0x14019cc3f
mov rcx, qword [r8 - 8]
add r8, 0xfffffffffffffff8
sub r8, rcx
cmp r8, 0x20
jae 0x14019cd13
add rax, qword [0x140549fc0]
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.1401af550
mov rax, qword [rbp - 8]
add rdi, qword [0x140549fc0]
cmp rax, rdi
jbe 0x14019cd0b
mov r8, qword [rbp - 0x20]
mov rcx, qword [0x140549fc0]
movabs rdx, 0xcad23197b5cc4a60
add rdx, rcx
mov r9, rax
xor r9, rdx
and rdx, rax
lea rdx, [r9 + rdx*2]
mov r9, qword [0x1405a9418]
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 0x14019ccef
mov rcx, qword [r8 - 8]
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x20
jae 0x14019cd31
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.1401af550
xor eax, eax
test al, al
jne 0x14019cd50
jmp 0x14019cd36
xor eax, eax
mov cl, 1
mov edx, dword [0x1405a9bbc]
cmp edx, 0x2d
jg 0x14019cd26
test al, al
je 0x14019cd2c
test cl, cl
je 0x14019cd17
jmp 0x14019cd22
call fcn.1403fe3cc
call fcn.1403fe3cc
mov rax, qword [0x1405a9858]
add rax, qword [rbp + 0x20]
mov ecx, dword [0x1405a9bbc]
cmp ecx, 0x23
jl 0x14019cd67
nop dword [rax]
mov eax, dword [0x1405a9bb8]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x14019cd50
jmp 0x14019cd36
cmp rax, 0x10
jb 0x14019ce4c
mov ecx, dword [0x1405a9bb8]
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 [0x1405a97e0]
mov edx, dword [0x1405a9bb8]
lea r10d, [rdx - 1]
imul r10d, edx
test r10b, 1
jne 0x14019cd80
test cl, 1
je 0x14019cdf0
mov rcx, qword [r8 - 8]
add r8, 0xfffffffffffffff8
sub r8, rcx
cmp r8, 0x20
jae 0x14019ce77
add rax, 0x28
mov r9, rax
mov r8, rcx
mov eax, dword [0x140549fb8]
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.1401af550
mov eax, dword [0x1405a9bb8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x140549fb8]
mov edx, eax
xor edx, 0x76a2eb08
and eax, 0x76a2eb08
lea eax, [rdx + rax*2]
cmp ecx, eax
jne 0x14019ceb0
jmp 0x14019ce7c
call fcn.1403fe3cc
mov eax, 0x76a2eb09
add eax, dword [0x140549fb8]
lea rcx, [fcn.14019ca70]
add ecx, ecx
add ecx, 0x2900
mov edx, ecx
xor edx, eax
or eax, ecx
not eax
or eax, edx
cmp eax, 0xffffffff
je 0x14019cebd
nop word cs:[rax + rax]
mov eax, dword [0x1405a9bbc]
cmp eax, 0x5e
jge 0x14019ceb0
jmp 0x14019ce7c
mov eax, esi
add rsp, 0xb0
pop rdi
pop rsi
pop rbp
ret