Function at 0x1401705a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, rcx
add rdx, r8
setb al
nop dword [rax]
mov ecx, dword [0x140226bc8]
mov r8d, dword [0x140226bcc]
mov r9d, ecx
not r9d
and r9d, r8d
mov r10d, r8d
not r10d
and r10d, ecx
imul r10d, r9d
mov r9d, ecx
and r9d, r8d
or ecx, r8d
imul ecx, r9d
add ecx, r10d
xor ecx, 0xb365e31b
add ecx, 0x92d8eef9
mov r8d, ecx
not r8d
mov r9d, ecx
and r9d, 0x21c91d1e
and r8d, 0xde36e2e1
imul r8d, r9d
mov r9d, ecx
and r9d, 0xde36e2e1
or ecx, 0xde36e2e1
imul ecx, r9d
add ecx, r8d
cmp ecx, 0x7d1af048
ja 0x1401705c0
test al, al
jne 0x1401709db
mov rax, qword [rsi]
lea rcx, [rax + rax]
cmp rcx, rdx
cmova rdx, rcx
cmp rdx, 5
mov r12d, 4
cmovae r12, rdx
movabs rcx, 0x5f417d05f417d1
xor edi, edi
cmp r12, rcx
setb dil
imul rbx, r12, 0x158
shl rdi, 3
nop dword [rax + rax]
mov ecx, dword [str._txI]
mov edx, dword [0x140226bd4]
mov r8d, ecx
and r8d, edx
xor ecx, edx
lea ecx, [rcx + r8*2]
mov edx, ecx
not edx
or edx, 0x18044454
or ecx, 0x20080201
and ecx, edx
and ecx, 0x380c4655
mov edx, ecx
not edx
or edx, 0x96e9e03f
add ecx, edx
inc ecx
cmp ecx, 0xa69d91fd
ja 0x140170680
test rax, rax
je 0x1401706ee
mov ecx, dword [0x140226bd8]
imul ecx, dword [0x140226bdc]
or ecx, 0xd45e5cbd
and ecx, 0xffffdebd
cmp ecx, 0x62875514
jne 0x1401706f6
jmp 0x14017072d
xor r13d, r13d
jmp 0x140170823
mov ecx, dword [0x140226be0]
mov edx, dword [0x140226be4]
not ecx
not edx
or edx, ecx
not edx
add edx, 0x69df8b5b
and edx, 0x2aaa90c8
xor edx, 0xfd75eff7
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x28], rcx
add edx, 0x70249e0b
jb 0x140170738
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x28], rcx
jmp 0x1401706f6
mov ecx, eax
not ecx
and ecx, 0x158
mov rdx, rax
and rdx, 0xfffffffffffffea7
imul rdx, rcx
mov ecx, eax
and ecx, 0x158
or rax, 0x158
imul rax, rcx
add rax, rdx
nop word cs:[rax + rax]
mov ecx, dword [0x140226be8]
add ecx, dword [0x140226bec]
or ecx, 0x34149c7b
add ecx, 0x7926616e
not ecx
and ecx, 0xde6bcf12
cmp ecx, 0x6ec91401
ja 0x140170770
mov ecx, dword [0x140226bf0]
mov edx, dword [0x140226bf4]
mov r8d, ecx
and r8d, edx
xor ecx, edx
lea ecx, [rcx + r8*2]
add ecx, 0xdb95978
mov edx, 0x91985cc5
imul rdx, rcx
shr rdx, 0x3b
not edx
or edx, 0x7b2454f0
cmp edx, 0xcf1d7275
je 0x140170816
mov ecx, dword [0x140226bf8]
mov edx, dword [0x140226bfc]
mov r8d, ecx
xor r8d, edx
not r8d
and r8d, edx
add r8d, r8d
sub edx, r8d
add edx, ecx
mov ecx, edx
xor ecx, 0x92204
or edx, 0x4020003
and edx, ecx
and edx, 0x40b2207
mov qword [rsp + 0x38], rax
cmp edx, 0xa845e4f7
jbe 0x14017081d
mov qword [rsp + 0x38], rax
jmp 0x1401707d3
mov r13d, 8
mov ecx, dword [0x140226c00]
mov eax, dword [0x140226c04]
mov edx, ecx
xor edx, eax
not edx
and edx, eax
add edx, edx
sub eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x3bbcdc6
and ecx, 0x443239
imul ecx, edx
mov edx, eax
and edx, 0x443239
or eax, 0x443239
imul eax, edx
add eax, ecx
and eax, 0x2041850
cmp eax, 0x7e096e90
jne 0x14017088a
mov qword [rsp + 0x30], r13
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x28]
mov rdx, rdi
mov r8, rbx
call fcn.1400ac0c0
lea r14, [rsp + 0x40]
lea r15, [rsp + 0x28]
nop word cs:[rax + rax]
mov eax, dword [0x140226c08]
xor edx, edx
div dword [0x140226c0c]
shr eax, 1
imul rbp, rax, 0x67f3a049
shr rbp, 0x3b
or ebp, 0xf585b298
mov qword [rsp + 0x30], r13
mov rcx, r14
mov rdx, rdi
mov r8, rbx
mov r9, r15
call fcn.140150370
cmp ebp, 0xebc652fd
jb 0x1401708a0
cmp qword [rsp + 0x40], 0
jne 0x1401709db
mov rax, qword [rsp + 0x48]
mov ecx, dword [0x140226c20]
mov edx, dword [0x140226c24]
mov r8d, ecx
and r8d, edx
add r8d, r8d
add ecx, edx
sub ecx, r8d
mov edx, ecx
xor edx, 0x12b38fff
or ecx, 0xed4c7000
and ecx, edx
imul rdx, rcx, 0x46113cbb
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1f
or ecx, 0x87f46e1a
cmp ecx, 0xc06d472f
jbe 0x140170950
mov qword [rsi + 8], rax
mov qword [rsi], r12
nop word cs:[rax + rax]
mov ecx, dword [0x140226c28]
xor ecx, dword [0x140226c2c]
or ecx, 0x9e244dc
shr ecx, 2
imul rcx, rcx, 0x5ab4cee3
shr rcx, 0x37
mov qword [rsi + 8], rax
mov qword [rsi], r12
cmp ecx, 0xb284a638
je 0x140170950
mov eax, 0xcb668481
nop word cs:[rax + rax]
mov ecx, dword [0x140226c34]
add ecx, dword [0x140226c30]
mov edx, ecx
xor edx, 0xd69fa44d
xor ecx, 0x160d2004
and ecx, 0x1e0d3b34
add ecx, ecx
sub edx, ecx
add edx, 0x1e0d3b34
imul rdx, rax
shr rdx, 0x3d
cmp edx, 0x8f39eedd
je 0x140170990
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
test al, al
je 0x1401709f0
ud2
mov ecx, dword [0x140226c14]
mov eax, ecx
xor eax, ecx
not eax
and eax, dword [0x140226c10]
xor eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x74ecbaee
and ecx, 0x8b134511
imul ecx, edx
mov edx, eax
and edx, 0x8b134511
or eax, 0x8b134511
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x3fd91036
or eax, 0x3fd91036
add eax, ecx
and eax, 0xcdc0e19b
ud2