Function at 0x1401b1b90
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.140131350
mov eax, dword [0x14058f15c]
add eax, dword [rbp + 0x18]
mov ecx, dword [0x14058f164]
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 [0x14058f158]
mov eax, 0x76a2eb08
add eax, dword [0x140535038]
cmp edx, eax
je 0x1401b1c1a
cmp qword [rbp + 0x20], 0x10
jb 0x1401b1c11
mov rcx, qword [rbp + 8]
jmp 0x1401b1c15
lea rcx, [rbp + 8]
call fcn.140088ca0
mov rcx, rbp
lea rdx, [rbp - 0x28]
mov r8b, 1
call fcn.140264f90
lea rdx, [rbp - 0x50]
mov rcx, rsi
mov r8b, 1
call fcn.140264f90
mov eax, dword [0x140535038]
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 0x1401b1c60
mov r8, qword [rbp - 0x38]
movabs rdi, 0xcad23197b5cc4a6e
cmp r8, qword [rbp - 0x10]
jne 0x1401b1c9a
mov rax, qword [0x140535040]
add rax, rdi
cmp qword [rbp - 0x30], rax
jbe 0x1401b1c9e
mov rcx, qword [rbp - 0x48]
cmp qword [rbp - 8], rax
ja 0x1401b1ca8
lea rdx, [rbp - 0x20]
jmp 0x1401b1cac
xor esi, esi
jmp 0x1401b1ccd
lea rcx, [rbp - 0x48]
cmp qword [rbp - 8], rax
jbe 0x1401b1c94
mov rdx, qword [rbp - 0x20]
mov dword [rsp + 0x28], 0x549f8e42
mov dword [rsp + 0x20], 0xdf659d28
mov r9d, 0x6b26425a
call fcn.1400af360
test eax, eax
sete sil
mov eax, dword [0x140535038]
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 [0x14058ed68]
test dl, cl
jne 0x1401b1cfe
xor dl, cl
je 0x1401b1d7b
mov r8, qword [rbp - 0x48]
mov rcx, qword [0x140535040]
movabs rdx, 0xcad23197b5cc4a60
xor rdx, rcx
movabs r9, 0x4ad23197b5cc4a60
and r9, rcx
lea r9, [rdx + r9*2]
add r9, rax
cmp r9, 0x1000
jb 0x1401b1d5f
mov rcx, qword [r8 - 8]
add r8, 0xfffffffffffffff8
sub r8, rcx
cmp r8, 0x20
jae 0x1401b1e33
add rax, qword [0x140535040]
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.1401c4670
mov rax, qword [rbp - 8]
add rdi, qword [0x140535040]
cmp rax, rdi
jbe 0x1401b1e2b
mov r8, qword [rbp - 0x20]
mov rcx, qword [0x140535040]
movabs rdx, 0xcad23197b5cc4a60
add rdx, rcx
mov r9, rax
xor r9, rdx
and rdx, rax
lea rdx, [r9 + rdx*2]
mov r9, qword [0x14058f0a8]
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 0x1401b1e0f
mov rcx, qword [r8 - 8]
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x20
jae 0x1401b1e51
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.1401c4670
xor eax, eax
test al, al
jne 0x1401b1e70
jmp 0x1401b1e56
xor eax, eax
mov cl, 1
mov edx, dword [0x14058f13c]
cmp edx, 0x2d
jg 0x1401b1e46
test al, al
je 0x1401b1e4c
test cl, cl
je 0x1401b1e37
jmp 0x1401b1e42
call fcn.1403e88ec
call fcn.1403e88ec
mov rax, qword [0x14058ede8]
add rax, qword [rbp + 0x20]
mov ecx, dword [0x14058f13c]
cmp ecx, 0x23
jl 0x1401b1e87
nop dword [rax]
mov eax, dword [0x14058f138]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x1401b1e70
jmp 0x1401b1e56
cmp rax, 0x10
jb 0x1401b1f6c
mov ecx, dword [0x14058f138]
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 [0x14058ed68]
mov edx, dword [0x14058f138]
lea r10d, [rdx - 1]
imul r10d, edx
test r10b, 1
jne 0x1401b1ea0
test cl, 1
je 0x1401b1f10
mov rcx, qword [r8 - 8]
add r8, 0xfffffffffffffff8
sub r8, rcx
cmp r8, 0x20
jae 0x1401b1f97
add rax, 0x28
mov r9, rax
mov r8, rcx
mov eax, dword [0x140535038]
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.1401c4670
mov eax, dword [0x14058f138]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x140535038]
mov edx, eax
xor edx, 0x76a2eb08
and eax, 0x76a2eb08
lea eax, [rdx + rax*2]
cmp ecx, eax
jne 0x1401b1fd0
jmp 0x1401b1f9c
call fcn.1403e88ec
mov eax, 0x76a2eb09
add eax, dword [0x140535038]
lea rcx, [fcn.1401b1b90]
add ecx, ecx
add ecx, 0x2900
mov edx, ecx
xor edx, eax
or eax, ecx
not eax
or eax, edx
cmp eax, 0xffffffff
je 0x1401b1fdd
nop word cs:[rax + rax]
mov eax, dword [0x14058f13c]
cmp eax, 0x5e
jge 0x1401b1fd0
jmp 0x1401b1f9c
mov eax, esi
add rsp, 0xb0
pop rdi
pop rsi
pop rbp
ret