Function at 0x1401697b8
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
mov qword [rbp + 0x17], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov r13, rdx
xor r9d, r9d
cmp byte [0x1402cf6b8], r9b
je 0x1401697fb
mov al, 1
jmp 0x1401698b9
mov r14d, 0x1000
cmp r8, r14
jb 0x1401698b7
mov dword [rbp + 0x7f], r9d
mov rbx, qword [0x1402cdac0]
mov rbx, qword [rbx]
xor eax, eax
mov byte [rbp + 0x67], al
cmp byte [rbx + 0x19], r9b
jne 0x1401698b7
lea r15, [r8 - 0x1000]
mov rsi, r9
test r15, r15
je 0x14016986a
mov rdx, qword [rbx + 0x28]
mov r8, qword [rbx + 0x30]
sub r8, rdx
lea rdi, [rsi + r13]
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_memcmp]
xor r9d, r9d
test eax, eax
je 0x14016985f
inc rsi
cmp rsi, r15
jb 0x140169836
jmp 0x14016986a
mov eax, dword [rbx + 0x20]
mov dword [rbp + 0x7f], eax
test rsi, rsi
jne 0x1401698d4
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], r9b
je 0x140169892
mov rax, qword [rbx + 8]
jmp 0x140169887
cmp rbx, qword [rax + 0x10]
jne 0x14016988d
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], r9b
je 0x14016987a
mov rbx, rax
jmp 0x1401698ad
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], r9b
jne 0x1401698ad
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], r9b
je 0x14016989e
cmp byte [rbx + 0x19], r9b
je 0x14016982e
xor al, al
mov rbx, qword [rsp + 0x100]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rax, [rsi + 0x1000]
cmp rsi, rax
jae 0x1401698fc
mov rbx, r14
lea rdx, [rbp + 0x7f]
call fcn.140170f24
mov ecx, dword [rax]
xor byte [rdi], cl
inc rdi
sub rbx, 1
jne 0x1401698e3
xor r9d, r9d
mov r12, rsi
mov qword [rbp - 0x19], 1
mov dword [rbp - 0x69], 0x53
mov eax, dword [rbp - 0x69]
xor al, 0x55
mov byte [rbp - 0x65], al
mov eax, dword [rbp - 0x69]
inc al
xor al, 0x73
mov byte [rbp - 0x64], al
mov eax, dword [rbp - 0x69]
add al, 2
xor al, 0x65
mov byte [rbp - 0x63], al
mov eax, dword [rbp - 0x69]
add al, 3
xor al, 0x72
mov byte [rbp - 0x62], al
mov eax, dword [rbp - 0x69]
add al, 4
xor al, 0x41
mov byte [rbp - 0x61], al
mov eax, dword [rbp - 0x69]
add al, 5
xor al, 0x67
mov byte [rbp - 0x60], al
mov eax, dword [rbp - 0x69]
add al, 6
xor al, 0x65
mov byte [rbp - 0x5f], al
mov eax, dword [rbp - 0x69]
add al, 7
xor al, 0x6e
mov byte [rbp - 0x5e], al
mov eax, dword [rbp - 0x69]
add al, 8
xor al, 0x74
mov byte [rbp - 0x5d], al
xor eax, eax
mov byte [rbp - 0x5c], al
mov al, byte [rbp - 0x65]
mov rdx, r9
mov al, byte [rbp + rdx - 0x65]
mov ecx, dword [rbp - 0x69]
add cl, dl
xor cl, al
mov byte [rbp + rdx - 0x65], cl
inc rdx
cmp rdx, 9
jb 0x140169971
mov byte [rbp - 0x5c], r9b
mov qword [rbp - 0x59], r9
mov qword [rbp - 0x49], r9
mov qword [rbp - 0x41], 0xf
mov byte [rbp - 0x59], r9b
lea rax, [rbp - 0x65]
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], r9b
jne 0x1401699a9
lea rcx, [rbp - 0x59]
cmp rbx, 0xf
ja 0x1401699d5
mov qword [rbp - 0x49], rbx
mov r8, rbx
lea rdx, [rbp - 0x65]
call qword [sym.imp.VCRUNTIME140.dll_memmove]
xor ecx, ecx
mov byte [rbp + rbx - 0x59], cl
jmp 0x1401699e3
lea r9, [rbp - 0x65]
mov rdx, rbx
call fcn.1400ada10
xor ecx, ecx
mov r15, qword [0x1402cf6a8]
mov rbx, qword [r15 + 8]
mov qword [rbp - 0x39], rbx
mov dword [rbp - 0x31], ecx
mov rdi, r15
cmp byte [rbx + 0x19], cl
jne 0x140169a38
xor r13d, r13d
mov qword [rbp - 0x39], rbx
lea rcx, [rbx + 0x20]
lea rdx, [rbp - 0x59]
call fcn.1400c65f8
test al, al
je 0x140169a1f
mov dword [rbp - 0x31], r13d
mov rbx, qword [rbx + 0x10]
jmp 0x140169a2c
mov dword [rbp - 0x31], 1
mov rdi, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], r13b
je 0x140169a00
mov r13, qword [rbp + 0x6f]
xor ecx, ecx
lea rdx, [0x1402cf6a8]
cmp byte [rdi + 0x19], cl
jne 0x140169a62
lea rdx, [rdi + 0x20]
lea rcx, [rbp - 0x59]
call fcn.1400c65f8
xor ecx, ecx
test al, al
je 0x140169b01
lea rdx, [0x1402cf6a8]
movabs rax, 0x333333333333333
cmp qword [0x1402cf6b0], rax
je 0x140169d3d
mov qword [rbp - 9], rdx
mov qword [rbp - 1], rcx
mov ecx, 0x50
call fcn.14027b028
mov rdi, rax
xor eax, eax
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], rax
lea r8d, [rax + 0x20]
lea rdx, [rbp - 0x59]
lea rcx, [rdi + 0x20]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
xor eax, eax
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], 0xf
mov byte [rbp - 0x59], al
mov qword [rdi + 0x40], rax
mov dword [rdi + 0x48], eax
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
mov word [rdi + 0x18], ax
mov qword [rbp - 1], rax
lea rcx, [rbp - 9]
call fcn.1401722dc
movups xmm0, xmmword [rbp - 0x39]
movdqu xmmword [rbp - 9], xmm0
mov r8, rdi
lea rdx, [rbp - 9]
lea rcx, [0x1402cf6a8]
call fcn.1400af1bc
mov rdi, rax
movzx ebx, word [rdi + 0x48]
mov word [rbp + 0x67], bx
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x140169b43
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, r14
jb 0x140169b3e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140169b3e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14027b384
xor eax, eax
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], 0xf
mov byte [rbp - 0x59], al
xor edx, edx
lea r8d, [rax + 0xa]
lea rcx, [rbp - 0x65]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [rsi + 0x1000]
cmp rsi, rcx
jae 0x140169d23
xor r8d, r8d
movzx eax, word [r12 + r13]
rol ax, 8
test ax, ax
je 0x140169d09
cmp ax, bx
jne 0x140169ce3
movzx eax, word [r12 + r13 + 4]
rol ax, 8
movzx r15d, ax
lea rdi, [r13 + 6]
add rdi, r12
mov qword [rbp - 0x39], r8
mov qword [rbp - 0x29], r8
mov qword [rbp - 0x21], 0xf
mov byte [rbp - 0x39], r8b
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], r8b
jne 0x140169bbf
lea rcx, [rbp - 0x39]
cmp rbx, 0xf
ja 0x140169bea
mov qword [rbp - 0x29], rbx
mov r8, rbx
mov rdx, rdi
call qword [sym.imp.VCRUNTIME140.dll_memmove]
xor eax, eax
mov byte [rbp + rbx - 0x39], al
jmp 0x140169bf6
mov r9, rdi
mov rdx, rbx
call fcn.1400ada10
nop
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 9]
call fcn.1400bc09c
mov r9, r15
mov r8, rax
lea rdx, [rbp - 0x59]
lea rcx, [0x1402cf6a8]
call fcn.14016ac28
mov r8, r15
xor edx, edx
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea r8, [r15 - 1]
cmp qword [rbp - 0x49], r8
cmovb r8, qword [rbp - 0x49]
lea rdx, [rbp - 0x59]
cmp qword [rbp - 0x41], 0x10
cmovae rdx, qword [rbp - 0x59]
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x140169c82
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, r14
jb 0x140169c7d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140169d2f
call fcn.14027b384
xor r8d, r8d
mov qword [rbp - 0x49], r8
mov qword [rbp - 0x41], 0xf
mov byte [rbp - 0x59], r8b
mov rdx, qword [rbp - 0x21]
cmp rdx, 0x10
jb 0x140169ccb
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, r14
jb 0x140169cc3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140169d36
call fcn.14027b384
xor r8d, r8d
mov rax, qword [rbp - 0x19]
dec rax
mov qword [rbp - 0x19], rax
lea rcx, [rsi + 0x1000]
movzx ebx, word [rbp + 0x67]
jmp 0x140169ce7
mov rax, qword [rbp - 0x19]
test rax, rax
je 0x140169d09
movzx eax, word [r12 + r13 + 4]
rol ax, 8
movzx eax, ax
add r12, 6
add r12, rax
cmp r12, rcx
jb 0x140169b77
lea rbx, [rsi + r13]
lea rdx, [rbp + 0x7f]
call fcn.140170f24
mov ecx, dword [rax]
xor byte [rbx], cl
inc rbx
sub r14, 1
jne 0x140169d0d
mov byte [0x1402cf6b8], 1
jmp 0x1401697f4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.14009f074
int3