Function at 0x14016d720
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
nop
sub rsp, 8
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
nop
mov qword [rsp - 8], r14
sub rsp, 8
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
xchg rcx, r9
mov rdi, r9
xchg rcx, r9
xor r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, dword [rdi + 0x48]
xchg r12, rdi
mov qword [rbp + 0x67], r12
xchg r12, rdi
mov qword [rbp + 0x77], rdi
xchg rdi, r10
mov qword [rbp + 0x6f], r10
xchg rdi, r10
test ecx, ecx
je 0x14016d905
sub ecx, 1
je 0x14016d83f
cmp ecx, 1
jne 0x14016d905
xchg r11, rax
mov r11, qword [rdi + 0x30]
xchg r11, rax
cmp rax, qword [rdi + 0x38]
jne 0x14016d830
mov rcx, qword [rdi + 0x40]
sub rcx, rax
movabs rax, 0x2aaaaaaa7222c29c
sub rax, 0x35d82cd1
add rax, 0x18e37500
add rax, 0x203e7803
sub rax, 0x84155af
add rax, 0x121adde
xor rax, 0x367383ed
add rax, 0x7fffffff
sub rax, 0x2d94ae64
imul rcx
sar rdx, 1
sar rdx, 1
xchg r12, rax
mov r12, rdx
xchg r12, rax
shr rax, 0x37
shr rax, 3
shr rax, 1
shr rax, 2
shr rax, 1
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016d827
lea edx, [r14 + 0x54]
lea rcx, [rdi + 0x30]
call fcn.140174e70
lea rcx, [rbp + 0x67]
call fcn.14009c7f0
xchg rdx, r10
mov r10, qword [rdi + 0x30]
xchg rdx, r10
jmp 0x14016d9dc
xchg r14, rax
mov r14, qword [rdi + 0x18]
xchg r14, rax
cmp rax, qword [rdi + 0x20]
jne 0x14016d8fc
xchg rcx, r8
mov r8, qword [rdi + 0x28]
xchg rcx, r8
sub rcx, rax
movabs rax, 0x2aaaaaaa3e113e6a
xor rax, 0x1d8e00ea
add rax, 0x9e5e8fc
xor rax, 0x65a26a9f
sub rax, 0x748f1af
xor rax, 0x6ab7a26e
add rax, 0x7fffffff
xor rax, 0xc354f2
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x26
shr rax, 4
shr rax, 0xa
shr rax, 3
shr rax, 3
shr rax, 3
shr rax, 1
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016d8f3
mov edx, 0x321bc439
xor edx, 0x6b240462
xor edx, 0x43ace39d
add edx, 0x5ba6a2b
add edx, 0x488bd0d3
xor edx, 0x68d95e90
lea rcx, [rdi + 0x18]
call fcn.140174e70
lea rcx, [rbp + 0x6f]
call fcn.140136510
mov rdx, qword [rdi + 0x18]
jmp 0x14016d9dc
xchg r11, rax
mov r11, qword [rdi]
xchg r11, rax
cmp rax, qword [rdi + 8]
jne 0x14016d9d3
mov rcx, qword [rdi + 0x10]
sub rcx, rax
movabs rax, 0x2aaaaaaa0dd6a485
add rax, 0x6ca4e143
sub rax, 0x6436e454
xor rax, 0x3acc3a1f
xor rax, 0x5e1273ac
xor rax, 0x4424fea3
add rax, 0x343a44b6
add rax, 0x3fb24f91
imul rcx
sar rdx, 1
sar rdx, 1
mov rax, rdx
shr rax, 0xe
shr rax, 0x28
shr rax, 2
shr rax, 1
shr rax, 2
shr rax, 1
shr rax, 2
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016d9ca
mov edx, 0x2e7bc4c3
add edx, 0x23e9c26a
sub edx, 0x434c14f3
xor edx, 0x1083feba
xor edx, 0x721d4572
sub edx, 0x4358125
sub edx, 0x2c6221cc
sub edx, 0x3672786b
sub edx, 0x67dae42
xchg rdi, rcx
mov rdi, rcx
xchg rdi, rcx
call fcn.140174e70
lea rcx, [rbp + 0x77]
call fcn.1400f30f0
xchg r14, rdx
mov r14, qword [rdi]
xchg r14, rdx
neg rdx
add rdx, 0xffffffffffffffe8
neg rdx
lea rcx, [rbp - 9]
call fcn.14007a8a0
nop
lea rcx, [rbp - 9]
call fcn.14007b0f0
xorps xmm0, xmm0
xchg rdi, rbp
movups xmmword [rdi - 0x29], xmm0
xchg rdi, rbp
xchg rdx, r14
mov qword [rbp - 0x19], rdx
xchg rdx, r14
xchg r14, r8
mov qword [rbp - 0x11], r8
xchg r8, r14
nop
movabs rbx, 0xffffffff741f6194
sub rbx, 0x1e2df883
add rbx, 0x6821484
add rbx, 0xa6f607d
xor rbx, 0x18d65be8
xor rbx, 0x12df4173
add rbx, 0x7fffffff
xor rbx, 0x13143b77
mov r8, rbx
inc r8
cmp word [rax + r8*2], 0
jne 0x14016da59
xchg rdx, rax
mov rax, rdx
xchg rdx, rax
lea rcx, [rbp - 0x29]
call fcn.140030d00
nop
lea rcx, [rbp - 9]
call fcn.14007adb0
mov dword [rbp - 0x69], 0x79e3079a
sub dword [rbp - 0x69], 0xa266789
add dword [rbp - 0x69], 0x6e997cb
sub dword [rbp - 0x69], 0x679dee8b
add dword [rbp - 0x69], 0x501b2bcf
add dword [rbp - 0x69], 0x97d381d6
mov dword [rbp - 0x5f], 0x644038f9
xor dword [rbp - 0x5f], 0x5aeac49d
xor dword [rbp - 0x5f], 0x2b829e71
add dword [rbp - 0x5f], 0x48286dea
sub dword [rbp - 0x5f], 0x4b77de93
add dword [rbp - 0x5f], 0x5dab38c8
sub dword [rbp - 0x5f], 0x65463ef2
add dword [rbp - 0x5f], 0x6947999f
add dword [rbp - 0x5f], 0x8bb57a49
mov dword [rbp - 0x5b], 0x5b2bcb96
sub dword [rbp - 0x5b], 0x1124fd42
xor dword [rbp - 0x5b], 0x7306b83
add dword [rbp - 0x5b], 0x1356c247
sub dword [rbp - 0x5b], 0x301393e3
xor dword [rbp - 0x5b], 0xcf562bb9
mov dword [rbp - 0x65], 0x57f926bd
sub dword [rbp - 0x65], 0x27ec8c8b
add dword [rbp - 0x65], 0x21a83f8a
sub dword [rbp - 0x65], 0x13494063
add dword [rbp - 0x65], 0x11d31415
add dword [rbp - 0x65], 0xa6b84988
mov dword [rbp - 0x57], 0xe036a42
add dword [rbp - 0x57], 0x50272351
xor dword [rbp - 0x57], 0x24be7dd1
xor dword [rbp - 0x57], 0x411bac3f
add dword [rbp - 0x57], 0x2214bffa
add dword [rbp - 0x57], 0xa1a0e2eb
mov dword [rbp - 0x53], 0x4b5e0a4e
xor dword [rbp - 0x53], 0x6183ffb
sub dword [rbp - 0x53], 0x4517459b
add dword [rbp - 0x53], 0x75e74592
xor dword [rbp - 0x53], 0x19dcc357
add dword [rbp - 0x53], 0x9765082f
mov byte [rbp - 0x61], 0x29
xor byte [rbp - 0x61], 0x4f
sub byte [rbp - 0x61], 0x55
add byte [rbp - 0x61], 2
xor byte [rbp - 0x61], 1
add byte [rbp - 0x61], 0x25
add byte [rbp - 0x61], 0x2d
xor byte [rbp - 0x61], 0x92
mov dword [rbp - 0x4f], 0x7791960b
sub dword [rbp - 0x4f], 0x5d6fb218
xor dword [rbp - 0x4f], 0x23a34b1
xor dword [rbp - 0x4f], 0x42ab741a
add dword [rbp - 0x4f], 0x1c80841d
sub dword [rbp - 0x4f], 0x773027f8
xchg rdi, rdx
mov rdi, r14
xchg rdx, rdi
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], 0x4b
sub byte [rbp + rdx - 0x69], 0x3c
add byte [rbp + rdx - 0x69], 0x3a
add byte [rbp + rdx - 0x69], 0x26
xor byte [rbp + rdx - 0x69], 0x5b
xor byte [rbp + rdx - 0x69], 0xd
sub byte [rbp + rdx - 0x69], 0x39
inc rdx
cmp rdx, 9
jb 0x14016dbed
xorps xmm0, xmm0
movups xmmword [rbp + 0x17], xmm0
xorps xmm1, xmm1
xchg rbp, rcx
movdqu xmmword [rcx + 0x27], xmm1
xchg rcx, rbp
lea rax, [rbp - 0x5f]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x14016dc48
xchg rbp, rbx
mov r8, rbp
xchg rbp, rbx
lea rdx, [rbp - 0x5f]
lea rcx, [rbp + 0x17]
call fcn.140030d00
nop
lea r8, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae r8, qword [rbp - 0x29]
xchg r12, r9
mov r12, qword [rbp - 0x19]
xchg r12, r9
xor edx, edx
lea rcx, [rbp + 0x17]
call fcn.140176d00
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
xorps xmm1, xmm1
xchg rdi, rbp
movdqu xmmword [rdi - 0x39], xmm1
xchg rdi, rbp
xchg rcx, rax
movups xmm0, xmmword [rcx]
xchg rcx, rax
xchg rbp, r12
movups xmmword [r12 - 0x49], xmm0
xchg r12, rbp
xchg r9, rax
movups xmm1, xmmword [r9 + 0x10]
xchg r9, rax
movups xmmword [rbp - 0x39], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0x2403432
xor qword [rax + 0x18], 0x2674448f
add qword [rax + 0x18], 0x58f9437f
sub qword [rax + 0x18], 0x92ccf2e
sub qword [rax + 0x18], 0x212b67de
sub qword [rax + 0x18], 0x52d57d29
mov word [rax], r14w
mov rdx, qword [rbp + 0x2f]
cmp rdx, 8
jb 0x14016dd61
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x17]
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
cmp rdx, 0x1000
jb 0x14016dd5c
nop
sub rdx, 0x32f4959
add rdx, 0x32f4980
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14016dd5c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcb00
movdqa xmm0, xmmword [0x140002c70]
xchg rdi, rbp
movdqu xmmword [rdi + 0x27], xmm0
xchg rdi, rbp
mov word [rbp + 0x17], r14w
mov rax, r14
mov byte [rbp + rax - 0x5f], 2
xor byte [rbp + rax - 0x5f], 0x4f
sub byte [rbp + rax - 0x5f], 0x2b
add byte [rbp + rax - 0x5f], 2
xor byte [rbp + rax - 0x5f], 0xb
add byte [rbp + rax - 0x5f], 0x2c
xor byte [rbp + rax - 0x5f], 0x3b
xor byte [rbp + rax - 0x5f], 0x60
inc rax
cmp rax, 0x12
jb 0x14016dd7c
mov r8d, esi
lea rdx, [rbp - 9]
xchg r8, rdi
mov rcx, r8
xchg rdi, r8
call fcn.140163a40
nop
cmp qword [rax + 0x18], 8
jb 0x14016ddd5
mov rax, qword [rax]
lea rdx, [rbp - 0x49]
cmp qword [rbp - 0x31], 8
cmovae rdx, qword [rbp - 0x49]
xchg r9, rax
mov rax, r9
xchg r9, rax
mov r8d, esi
mov rcx, rdi
call fcn.14016ce30
nop
xchg rdx, r12
mov r12, qword [rbp + 0xf]
xchg r12, rdx
cmp rdx, 8
jb 0x14016de5c
lea rdx, [rdx*2 + 2]
xchg r15, rcx
mov r15, qword [rbp - 9]
xchg r15, rcx
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
cmp rdx, 0x1000
jb 0x14016de56
neg rdx
add rdx, 0xffffffffffffffd9
neg rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x14016de56
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcb00
nop
mov rdx, qword [rbp - 0x31]
cmp rdx, 8
jb 0x14016deab
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016dea6
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x14016dea6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcb00
movdqa xmm0, xmmword [0x140002c70]
movdqu xmmword [rbp - 0x39], xmm0
mov word [rbp - 0x49], r14w
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x14016df1b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016df16
neg rdx
add rdx, 0xffffffffffffffd9
neg rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
sub rax, 0xfffffffff22d438f
add rax, 0xfffffffff22d4387
cmp rax, 0x1f
jbe 0x14016df16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcb00
add rsp, 0xc0
push rbx
push rax
push rbx
push rax
push rax
push rdx
xchg qword [rsp + 0x30], r14
pop rdx
pop rax
pop rax
pop rbx
pop rax
pop rbx
add rsp, 8
nop
mov rdi, qword [rsp]
add rsp, 8
nop
xchg qword [rsp], rsi
add rsp, 8
nop
xchg qword [rsp], rbx
add rsp, 8
nop
mov rbp, qword [rsp]
add rsp, 8
ret