Function at 0x14016d590
Capabilities:
Encode data using xor

Disassembly:
push r13
mov qword [rsp], rbp
nop
push 0x575a78fc
mov qword [rsp], rbx
nop
sub rsp, 8
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r14
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
mov rdi, rcx
xor r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, dword [rdi + 0x48]
mov qword [rbp + 0x67], rdi
xchg r15, rdi
mov qword [rbp + 0x77], r15
xchg rdi, r15
xchg rdi, r10
mov qword [rbp + 0x6f], r10
xchg rdi, r10
test ecx, ecx
je 0x14016d761
sub ecx, 1
je 0x14016d69e
cmp ecx, 1
jne 0x14016d761
mov rax, qword [rdi + 0x30]
cmp rax, qword [rdi + 0x38]
jne 0x14016d68f
mov rcx, qword [rdi + 0x40]
sub rcx, rax
movabs rax, 0x2aaaaaaa1b8c71e8
add rax, 0xd650507
sub rax, 0x255c1dc5
xor rax, 0x41f55109
xor rax, 0x452766ce
add rax, 0x7fffffff
add rax, 0x23633bbf
imul rcx
sar rdx, 2
xchg r14, rax
mov r14, rdx
xchg r14, rax
shr rax, 0x1a
shr rax, 0xf
shr rax, 7
shr rax, 0xc
shr rax, 2
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016d686
lea edx, [r14 + 0x54]
lea rcx, [rdi + 0x30]
call fcn.140174b60
lea rcx, [rbp + 0x67]
call fcn.14009c740
xchg r12, rdx
mov r12, qword [rdi + 0x30]
xchg r12, rdx
jmp 0x14016d82d
xchg r8, rax
mov r8, qword [rdi + 0x18]
xchg r8, rax
cmp rax, qword [rdi + 0x20]
jne 0x14016d752
xchg r14, rcx
mov r14, qword [rdi + 0x28]
xchg r14, rcx
sub rcx, rax
movabs rax, 0x2aaaaaaa602e049f
sub rax, 0x31988895
add rax, 0x440405de
xor rax, 0x2c4280a6
sub rax, 0x547034a4
add rax, 0x7fffffff
xor rax, 0x20c06602
imul rcx
sar rdx, 2
xchg rdi, rdx
mov rax, rdi
xchg rdi, rdx
shr rax, 1
shr rax, 0x33
shr rax, 5
shr rax, 4
shr rax, 1
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016d749
mov edx, 0x7750970a
sub edx, 0x738eacf7
add edx, 0x215dde65
xor edx, 0x54533dec
sub edx, 0x2d0b2e16
xor edx, 0x4441c72a
lea rcx, [rdi + 0x18]
call fcn.140174b60
lea rcx, [rbp + 0x6f]
call fcn.140136590
xchg rdx, r14
mov r14, qword [rdi + 0x18]
xchg r14, rdx
jmp 0x14016d82d
mov rax, qword [rdi]
cmp rax, qword [rdi + 8]
jne 0x14016d824
mov rcx, qword [rdi + 0x10]
sub rcx, rax
movabs rax, 0x2aaaaaaa3490dd20
add rax, 0x44a4b71a
xor rax, 0x2cd3c62d
xor rax, 0x39b7a6d3
sub rax, 0x68cec249
add rax, 0x3453e86d
add rax, 0x7fffffff
xor rax, 0x1d7db04c
imul rcx
sar rdx, 1
sar rdx, 1
xchg rdx, rax
mov rdx, rax
xchg rdx, rax
shr rax, 6
shr rax, 7
shr rax, 1
shr rax, 0x2c
shr rax, 1
shr rax, 1
shr rax, 1
shr rax, 1
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016d81b
mov edx, 0x7e953b31
xor edx, 0x406b4a02
xor edx, 0x4252737f
sub edx, 0x77854635
add edx, 0x5cdfcd7c
xor edx, 0x218c5404
sub edx, 0x438add43
xchg r13, rdi
mov rcx, r13
xchg rdi, r13
call fcn.140174b60
lea rcx, [rbp + 0x77]
call fcn.1400f2ea0
xchg rbx, rdx
mov rbx, qword [rdi]
xchg rdx, rbx
nop
add rdx, 0x3e1a75a0
sub rdx, 0x3e1a7588
lea rcx, [rbp - 9]
call fcn.14007ac60
nop
lea rcx, [rbp - 9]
call fcn.14007b520
xorps xmm0, xmm0
xchg rbp, rsi
movups xmmword [rsi - 0x29], xmm0
xchg rsi, rbp
xchg r14, r12
mov qword [rbp - 0x19], r12
xchg r12, r14
xchg rdx, r14
mov qword [rbp - 0x11], rdx
xchg r14, rdx
nop
movabs rbx, 0xffffffff795620c2
sub rbx, 0x34e64857
add rbx, 0x29ea28fa
xor rbx, 0x2b6f4f14
xor rbx, 0x57c960d9
add rbx, 0x7fffffff
add rbx, 0x6d03d158
xchg rbp, rbx
mov r8, rbp
xchg rbp, rbx
inc r8
cmp word [rax + r8*2], 0
jne 0x14016d8ae
xchg r9, rax
mov rdx, r9
xchg r9, rax
lea rcx, [rbp - 0x29]
call fcn.140030ca0
nop
lea rcx, [rbp - 9]
call fcn.14007b1a0
mov dword [rbp - 0x69], 0x7a25e734
xor dword [rbp - 0x69], 0x74f60332
xor dword [rbp - 0x69], 0x6d19b7d1
sub dword [rbp - 0x69], 0x372826dd
xor dword [rbp - 0x69], 0x3a695633
add dword [rbp - 0x69], 0x405fbd0a
sub dword [rbp - 0x69], 0x22b34e19
sub dword [rbp - 0x69], 0x328d238
add dword [rbp - 0x69], 0xc5a7df74
mov dword [rbp - 0x5f], 0x3b2d6d28
add dword [rbp - 0x5f], 0x355ed586
xor dword [rbp - 0x5f], 0x4071d262
sub dword [rbp - 0x5f], 0x3d24b91
add dword [rbp - 0x5f], 0x3761eee7
xor dword [rbp - 0x5f], 0x48ed00db
add dword [rbp - 0x5f], 0xd2daca31
mov dword [rbp - 0x5b], 0x69ab3387
sub dword [rbp - 0x5b], 0x623afca8
add dword [rbp - 0x5b], 0x2ef793d
xor dword [rbp - 0x5b], 0x5199bbae
sub dword [rbp - 0x5b], 0x3a4393a6
add dword [rbp - 0x5b], 0xddad8776
mov dword [rbp - 0x65], 0x695a0763
sub dword [rbp - 0x65], 0xa651494
sub dword [rbp - 0x65], 0x5cb82667
xor dword [rbp - 0x65], 0x5fea9f51
sub dword [rbp - 0x65], 0x2737449d
add dword [rbp - 0x65], 0xc057e85a
mov dword [rbp - 0x57], 0x28fab98
xor dword [rbp - 0x57], 0x1ad8efff
add dword [rbp - 0x57], 0x11cf48f7
add dword [rbp - 0x57], 0xb960e48
xor dword [rbp - 0x57], 0x39ee593e
add dword [rbp - 0x57], 0x32e6d828
add dword [rbp - 0x57], 0x245b3896
add dword [rbp - 0x57], 0x9bb02c0c
mov dword [rbp - 0x53], 0x62d1df33
sub dword [rbp - 0x53], 0x4bdbff0
add dword [rbp - 0x53], 0x15b8b961
sub dword [rbp - 0x53], 0x339a2d24
xor dword [rbp - 0x53], 0x26d74b89
sub dword [rbp - 0x53], 0x579f2dae
xor dword [rbp - 0x53], 0xf0694d71
mov byte [rbp - 0x61], 0x12
add byte [rbp - 0x61], 0x1b
xor byte [rbp - 0x61], 0x48
sub byte [rbp - 0x61], 0x54
add byte [rbp - 0x61], 0x54
add byte [rbp - 0x61], 0x91
mov dword [rbp - 0x4f], 0x4eefadcd
sub dword [rbp - 0x4f], 0x6fe00ec
sub dword [rbp - 0x4f], 0x2e1a1165
xor dword [rbp - 0x4f], 0x39a6db57
add dword [rbp - 0x4f], 0x695460a
sub dword [rbp - 0x4f], 0x270586b8
mov rdx, r14
nop dword [rax]
movzx eax, word [rbp + rdx*2 - 0x5f]
movzx ecx, byte [rbp + rdx - 0x69]
add cx, ax
mov word [rbp + rdx*2 - 0x5f], cx
mov byte [rbp + rdx - 0x69], 0x52
add byte [rbp + rdx - 0x69], 7
add byte [rbp + rdx - 0x69], 0xb
sub byte [rbp + rdx - 0x69], 0x25
xor byte [rbp + rdx - 0x69], 0x3b
add byte [rbp + rdx - 0x69], 0x42
add byte [rbp + rdx - 0x69], 0x21
xor byte [rbp + rdx - 0x69], 0x67
inc rdx
cmp rdx, 9
jb 0x14016da50
xorps xmm0, xmm0
xchg r9, rbp
movups xmmword [r9 + 0x17], xmm0
xchg r9, rbp
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x27], xmm1
lea rax, [rbp - 0x5f]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x14016dab1
xchg r10, r8
mov r10, rbx
xchg r10, r8
lea rdx, [rbp - 0x5f]
lea rcx, [rbp + 0x17]
call fcn.140030ca0
nop
lea r8, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae r8, qword [rbp - 0x29]
mov r9, qword [rbp - 0x19]
xor edx, edx
lea rcx, [rbp + 0x17]
call fcn.1401769e0
xorps xmm0, xmm0
xchg rbp, rdi
movups xmmword [rdi - 0x49], xmm0
xchg rdi, rbp
xorps xmm1, xmm1
xchg rbp, rcx
movdqu xmmword [rcx - 0x39], xmm1
xchg rcx, rbp
xchg r13, rax
movups xmm0, xmmword [r13]
xchg r13, rax
xchg r12, rbp
movups xmmword [r12 - 0x49], xmm0
xchg r12, rbp
movups xmm1, xmmword [rax + 0x10]
xchg rbp, r13
movups xmmword [r13 - 0x39], xmm1
xchg rbp, r13
xchg r14, r8
mov qword [rax + 0x10], r8
xchg r14, r8
mov qword [rax + 0x18], 0x22884765
sub qword [rax + 0x18], 0x72734ad
xor qword [rax + 0x18], 0x5b884762
add qword [rax + 0x18], 0x3cf6c5f9
sub qword [rax + 0x18], 0x33ab7368
sub qword [rax + 0x18], 0x4a34a864
mov word [rax], r14w
xchg rdx, r13
mov r13, qword [rbp + 0x2f]
xchg rdx, r13
cmp rdx, 8
jb 0x14016dbd4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x17]
xchg rsi, rcx
mov rax, rsi
xchg rcx, rsi
cmp rdx, 0x1000
jb 0x14016dbcf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
sub rax, 0xffffffff8181a2be
add rax, 0xffffffff8181a2b6
cmp rax, 0x1f
jbe 0x14016dbcf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fc5cc
movdqa xmm0, xmmword [0x140002c70]
movdqu xmmword [rbp + 0x27], xmm0
mov word [rbp + 0x17], r14w
xchg r14, r15
mov rax, r15
xchg r14, r15
mov byte [rbp + rax - 0x5f], 0x4d
xor byte [rbp + rax - 0x5f], 0x5c
sub byte [rbp + rax - 0x5f], 0xb
add byte [rbp + rax - 0x5f], 0x3d
sub byte [rbp + rax - 0x5f], 0x27
xor byte [rbp + rax - 0x5f], 0x1c
inc rax
cmp rax, 0x12
jb 0x14016dbef
mov r8d, esi
lea rdx, [rbp - 9]
xchg rcx, rsi
mov rsi, rdi
xchg rsi, rcx
call fcn.1401638c0
nop
cmp qword [rax + 0x18], 8
jb 0x14016dc3e
mov rax, qword [rax]
lea rdx, [rbp - 0x49]
cmp qword [rbp - 0x31], 8
cmovae rdx, qword [rbp - 0x49]
xchg rdx, r9
mov rdx, rax
xchg rdx, r9
mov r8d, esi
xchg r13, rdi
mov rcx, r13
xchg r13, rdi
call fcn.14016cc80
nop
mov rdx, qword [rbp + 0xf]
cmp rdx, 8
jb 0x14016dcbd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016dcb7
neg rdx
add rdx, 0xffffffffffffffd9
neg rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x14016dcb7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fc5cc
nop
xchg rdi, rdx
mov rdi, qword [rbp - 0x31]
xchg rdx, rdi
cmp rdx, 8
jb 0x14016dd2d
lea rdx, [rdx*2 + 2]
xchg rcx, r9
mov r9, qword [rbp - 0x49]
xchg rcx, r9
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
cmp rdx, 0x1000
jb 0x14016dd28
nop
add rdx, 0x2792a384
sub rdx, 0x2792a35d
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14016dd28
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fc5cc
movdqa xmm0, xmmword [0x140002c70]
xchg rbp, r8
movdqu xmmword [r8 - 0x39], xmm0
xchg rbp, r8
mov word [rbp - 0x49], r14w
xchg rdx, r10
mov r10, qword [rbp - 0x11]
xchg rdx, r10
cmp rdx, 8
jb 0x14016ddae
lea rdx, [rdx*2 + 2]
xchg rcx, r10
mov r10, qword [rbp - 0x29]
xchg r10, rcx
xchg r13, rax
mov r13, rcx
xchg r13, rax
cmp rdx, 0x1000
jb 0x14016dda9
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
sub rax, 0xffffffffacbcf1ed
add rax, 0xffffffffacbcf1e5
cmp rax, 0x1f
jbe 0x14016dda9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fc5cc
add rsp, 0xc0
nop
add rsp, 8
xchg qword [rsp - 8], r14
nop
add rsp, 8
xchg qword [rsp - 8], rdi
push rdx
xchg qword [rsp + 8], rsi
pop rdx
add rsp, 8
push rdx
push rdx
push rax
push rcx
push rcx
xchg qword [rsp + 0x28], rbx
add rsp, 0x30
nop
add rsp, 8
mov rbp, qword [rsp - 8]
nop
add rsp, 8
jmp qword [rsp - 8]