Function at 0x14016dd70
Capabilities:
Encode data using xor

Disassembly:
push rbp
nop
mov qword [rsp - 8], rbx
sub rsp, 8
push rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r14
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
xchg rsi, rcx
mov rdi, rsi
xchg rcx, rsi
xor r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, dword [rdi + 0x48]
xchg rdi, rbx
mov qword [rbp + 0x67], rbx
xchg rbx, rdi
mov qword [rbp + 0x77], rdi
xchg rdi, r9
mov qword [rbp + 0x6f], r9
xchg r9, rdi
test ecx, ecx
je 0x14016df32
sub ecx, 1
je 0x14016de79
cmp ecx, 1
jne 0x14016df32
mov rax, qword [rdi + 0x30]
cmp rax, qword [rdi + 0x38]
jne 0x14016de70
mov rcx, qword [rdi + 0x40]
sub rcx, rax
movabs rax, 0x2aaaaaaa1b91195a
add rax, 0x5543eecb
sub rax, 0x43a7a445
xor rax, 0x1cca661c
add rax, 0x409e5a3e
xor rax, 0x717b2209
add rax, 0x59f88d40
add rax, 0xe235bd0
add rax, 0x3e907f68
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x37
shr rax, 2
shr rax, 2
shr rax, 2
shr rax, 1
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016de67
lea edx, [r14 + 0x54]
lea rcx, [rdi + 0x30]
call fcn.1401753d0
lea rcx, [rbp + 0x67]
call fcn.14009c750
mov rdx, qword [rdi + 0x30]
jmp 0x14016dfe9
xchg rdx, rax
mov rdx, qword [rdi + 0x18]
xchg rdx, rax
cmp rax, qword [rdi + 0x20]
jne 0x14016df23
mov rcx, qword [rdi + 0x28]
sub rcx, rax
movabs rax, 0x2aaaaaaa7ed6af15
xor rax, 0x408efcca
add rax, 0x6a41505
add rax, 0x44cfce9
sub rax, 0x3fc275e
add rax, 0x3a21fc0
add rax, 0x61bb4c7c
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x2f
shr rax, 0xf
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016df1a
mov edx, 0x63d24659
xor edx, 0xedd0b48
sub edx, 0xcc5d186
xor edx, 0x2ae93fb7
xor edx, 0x2a808989
xor edx, 0x55910b5
xor edx, 0x6e118648
sub edx, 0xb685af4
lea rcx, [rdi + 0x18]
call fcn.1401753d0
lea rcx, [rbp + 0x6f]
call fcn.140136ad0
xchg rdx, r14
mov r14, qword [rdi + 0x18]
xchg rdx, r14
jmp 0x14016dfe9
mov rax, qword [rdi]
cmp rax, qword [rdi + 8]
jne 0x14016dfe0
mov rcx, qword [rdi + 0x10]
sub rcx, rax
movabs rax, 0x2aaaaaaa7cdec195
sub rax, 0x29470aee
xor rax, 0x4d76419
add rax, 0x1c13b785
sub rax, 0x4d6b7209
add rax, 0x57ce8aa3
xor rax, 0x53b9d72e
add rax, 0x7c9c34b8
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x19
shr rax, 0x17
shr rax, 0xe
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016dfd7
mov edx, 0x55a217c1
add edx, 0x170413dd
sub edx, 0x5d3595ea
xor edx, 0x2ccb167c
xor edx, 0x1a6b0012
xor edx, 0xbb021f0
xor edx, 0x3260a27e
xchg rcx, rdi
mov rdi, rcx
xchg rcx, rdi
call fcn.1401753d0
lea rcx, [rbp + 0x77]
call fcn.1400f33a0
xchg r14, rdx
mov r14, qword [rdi]
xchg r14, rdx
neg rdx
add rdx, 0xffffffffffffffe8
neg rdx
lea rcx, [rbp - 9]
call fcn.14007ab50
nop
lea rcx, [rbp - 9]
call fcn.14007b3f0
xorps xmm0, xmm0
xchg rbp, r10
movups xmmword [r10 - 0x29], xmm0
xchg rbp, r10
xchg r10, r14
mov qword [rbp - 0x19], r10
xchg r14, r10
mov qword [rbp - 0x11], r14
nop
movabs rbx, 0xffffffff5aa85e9a
sub rbx, 0xc3f245a
xor rbx, 0x28eaf4cd
sub rbx, 0x59e721f6
xor rbx, 0x60d5aab7
add rbx, 0x7fffffff
add rbx, 0x13b6f9e0
xchg r11, r8
mov r11, rbx
xchg r11, r8
inc r8
cmp word [rax + r8*2], 0
jne 0x14016e060
xchg r14, rax
mov rdx, r14
xchg r14, rax
lea rcx, [rbp - 0x29]
call fcn.140030c50
nop
lea rcx, [rbp - 9]
call fcn.14007b070
mov dword [rbp - 0x69], 0x4cdc4763
sub dword [rbp - 0x69], 0xe040e9a
sub dword [rbp - 0x69], 0xd12a1ce
sub dword [rbp - 0x69], 0x1cfbd6cb
add dword [rbp - 0x69], 0x45540f5b
xor dword [rbp - 0x69], 0xaceb397d
mov dword [rbp - 0x5f], 0x1e76a68a
xor dword [rbp - 0x5f], 0x5ffd99d4
sub dword [rbp - 0x5f], 0x314f02ea
add dword [rbp - 0x5f], 0x1fc75cdf
xor dword [rbp - 0x5f], 0x4cd03b16
add dword [rbp - 0x5f], 0x82675ce5
mov dword [rbp - 0x5b], 0x4aaca96f
sub dword [rbp - 0x5b], 0x381802d0
xor dword [rbp - 0x5b], 0x3fe2b895
sub dword [rbp - 0x5b], 0x2485b98a
xor dword [rbp - 0x5b], 0x64fbfc04
xor dword [rbp - 0x5b], 0x36bb7946
xor dword [rbp - 0x5b], 0x3bf0d339
xor dword [rbp - 0x5b], 0x26b61b22
add dword [rbp - 0x5b], 0xb739d5a9
mov dword [rbp - 0x65], 0x5217cd0d
sub dword [rbp - 0x65], 0x131b8b44
sub dword [rbp - 0x65], 0x1cad1403
xor dword [rbp - 0x65], 0x5d28df02
xor dword [rbp - 0x65], 0x5075db62
sub dword [rbp - 0x65], 0x11af9623
add dword [rbp - 0x65], 0xd9946373
mov dword [rbp - 0x57], 0x1da69b4a
add dword [rbp - 0x57], 0x4e3541d8
add dword [rbp - 0x57], 0x4c9c713
sub dword [rbp - 0x57], 0x2857a985
xor dword [rbp - 0x57], 0x4610265f
add dword [rbp - 0x57], 0xf0e72273
mov dword [rbp - 0x53], 0x7d4272b5
sub dword [rbp - 0x53], 0x3ef4b7e0
add dword [rbp - 0x53], 0x2b46803e
xor dword [rbp - 0x53], 0x76565af6
sub dword [rbp - 0x53], 0x11a92d6d
add dword [rbp - 0x53], 0x27b41b00
add dword [rbp - 0x53], 0xc962afb2
mov byte [rbp - 0x61], 2
add byte [rbp - 0x61], 0x2e
add byte [rbp - 0x61], 0x46
xor byte [rbp - 0x61], 0x5f
add byte [rbp - 0x61], 0xf
add byte [rbp - 0x61], 0x12
xor byte [rbp - 0x61], 4
add byte [rbp - 0x61], 0xa8
mov dword [rbp - 0x4f], 0x7d154e31
sub dword [rbp - 0x4f], 0x5ab0be4c
xor dword [rbp - 0x4f], 0x12c8040f
xor dword [rbp - 0x4f], 0x14184cec
add dword [rbp - 0x4f], 0x54b49f99
sub dword [rbp - 0x4f], 0x32ee72d3
xor dword [rbp - 0x4f], 0x467a0cb1
xchg r15, rdx
mov r15, r14
xchg r15, rdx
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], 0x50
sub byte [rbp + rdx - 0x69], 0xc
sub byte [rbp + rdx - 0x69], 0x41
add byte [rbp + rdx - 0x69], 0x23
add byte [rbp + rdx - 0x69], 0xa
sub byte [rbp + rdx - 0x69], 0x1e
add byte [rbp + rdx - 0x69], 3
sub byte [rbp + rdx - 0x69], 0x15
inc rdx
cmp rdx, 9
jb 0x14016e209
xorps xmm0, xmm0
xchg rbp, rdx
movups xmmword [rdx + 0x17], xmm0
xchg rbp, rdx
xorps xmm1, xmm1
xchg rbp, r13
movdqu xmmword [r13 + 0x27], xmm1
xchg rbp, r13
lea rax, [rbp - 0x5f]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x14016e270
xchg rbx, r8
mov rbx, r8
xchg r8, rbx
lea rdx, [rbp - 0x5f]
lea rcx, [rbp + 0x17]
call fcn.140030c50
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.140177270
xorps xmm0, xmm0
xchg r10, rbp
movups xmmword [r10 - 0x49], xmm0
xchg rbp, r10
xorps xmm1, xmm1
xchg rbp, r10
movdqu xmmword [r10 - 0x39], xmm1
xchg r10, rbp
movups xmm0, xmmword [rax]
xchg r11, rbp
movups xmmword [r11 - 0x49], xmm0
xchg rbp, r11
movups xmm1, xmmword [rax + 0x10]
xchg r15, rbp
movups xmmword [r15 - 0x39], xmm1
xchg r15, rbp
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0x1d1bbe6
add qword [rax + 0x18], 0x2171bc1b
add qword [rax + 0x18], 0x1a99f4d3
sub qword [rax + 0x18], 0x1dc4f906
xor qword [rax + 0x18], 0x37ed0068
add qword [rax + 0x18], 0x551168da
xor qword [rax + 0x18], 0x6d06dc87
mov word [rax], r14w
mov rdx, qword [rbp + 0x2f]
cmp rdx, 8
jb 0x14016e38d
lea rdx, [rdx*2 + 2]
xchg r9, rcx
mov r9, qword [rbp + 0x17]
xchg rcx, r9
xchg r13, rcx
mov rax, r13
xchg rcx, r13
cmp rdx, 0x1000
jb 0x14016e388
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14016e388
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcba8
movdqa xmm0, xmmword [0x140002c70]
movdqu xmmword [rbp + 0x27], xmm0
mov word [rbp + 0x17], r14w
xchg rsi, rax
mov rsi, r14
xchg rsi, rax
mov byte [rbp + rax - 0x5f], 0x2d
add byte [rbp + rax - 0x5f], 0x42
add byte [rbp + rax - 0x5f], 4
xor byte [rbp + rax - 0x5f], 0x1c
xor byte [rbp + rax - 0x5f], 8
xor byte [rbp + rax - 0x5f], 0x3f
sub byte [rbp + rax - 0x5f], 0x24
xor byte [rbp + rax - 0x5f], 0x34
inc rax
cmp rax, 0x12
jb 0x14016e3a6
mov r8d, esi
lea rdx, [rbp - 9]
xchg rbx, rcx
mov rbx, rdi
xchg rbx, rcx
call fcn.1401640e0
nop
cmp qword [rax + 0x18], 8
jb 0x14016e3ff
mov rax, qword [rax]
lea rdx, [rbp - 0x49]
cmp qword [rbp - 0x31], 8
cmovae rdx, qword [rbp - 0x49]
xchg rsi, r9
mov rsi, rax
xchg r9, rsi
mov r8d, esi
xchg rdi, rcx
mov rdi, rcx
xchg rdi, rcx
call fcn.14016d480
nop
mov rdx, qword [rbp + 0xf]
cmp rdx, 8
jb 0x14016e47e
lea rdx, [rdx*2 + 2]
xchg rsi, rcx
mov rsi, qword [rbp - 9]
xchg rsi, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016e478
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14016e478
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcba8
nop
mov rdx, qword [rbp - 0x31]
cmp rdx, 8
jb 0x14016e4d3
lea rdx, [rdx*2 + 2]
xchg rcx, r10
mov r10, qword [rbp - 0x49]
xchg r10, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016e4ce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14016e4ce
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcba8
movdqa xmm0, xmmword [0x140002c70]
xchg rbp, r12
movdqu xmmword [r12 - 0x39], xmm0
xchg r12, rbp
mov word [rbp - 0x49], r14w
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x14016e557
lea rdx, [rdx*2 + 2]
xchg rcx, r10
mov r10, qword [rbp - 0x29]
xchg rcx, r10
xchg r11, rcx
mov rax, r11
xchg rcx, r11
cmp rdx, 0x1000
jb 0x14016e552
neg rdx
add rdx, 0xffffffffffffffd9
neg rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
add rax, 0xffffffffbb81396b
sub rax, 0xffffffffbb813973
cmp rax, 0x1f
jbe 0x14016e552
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fcba8
add rsp, 0xc0
push rax
push rbx
push rbx
push rbx
push rdx
push rcx
xchg qword [rsp + 0x30], r14
add rsp, 0x38
nop
mov rdi, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rsi
push rax
push rdx
push rax
push rcx
push rdx
xchg qword [rsp + 0x28], rbx
pop rdx
pop rcx
pop rax
pop rdx
pop rax
add rsp, 8
nop
xchg qword [rsp], rbp
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]