Function at 0x1400172c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x21f0
call fcn.14002e9a0
sub rsp, rax
mov r13, qword [rcx + 0xa8]
mov r12, rcx
mov r15, r8
mov r14, rdx
mov ebx, 0xfff
lea rcx, [rsp + 0x11f1]
xor edi, edi
mov r8, rbx
xor edx, edx
mov byte [rsp + 0x11f0], dil
call fcn.14001d490
lea rcx, [rsp + 0x1f1]
mov r8, rbx
xor edx, edx
mov byte [rsp + 0x1f0], dil
call fcn.14001d490
cmp dword [r13 + 0x68], 0xbb8
jae 0x14001763e
mov r8d, dword [r13 + 0x68]
lea rdx, [r13 + 0xa0]
lea rcx, [rsp + 0x11f0]
call fcn.14001cf80
mov r8d, dword [r13 + 0x68]
lea rdx, [r13 + 0xa0]
lea rcx, [rsp + 0x1f0]
call fcn.14001cf80
xor eax, eax
lea r8d, [rdi + 0x3f]
lea rcx, [rsp + 0x61]
xor edx, edx
mov byte [rsp + 0x40], dil
mov qword [rsp + 0x41], rax
mov qword [rsp + 0x49], rax
mov word [rsp + 0x51], ax
mov byte [rsp + 0x53], al
mov byte [rsp + 0x60], dil
call fcn.14001d490
lea rdx, [r13 + 0x84]
lea r8d, [rdi + 0x10]
lea rcx, [rsp + 0x40]
call fcn.14001cf80
lea rax, [rsp + 0x60]
mov byte [rsp + 0x53], 1
mov qword [rsp + 0x30], rax
mov eax, dword [r13 + 0x94]
mov ebx, 0x8004
mov dword [rsp + 0x28], eax
lea r9, [rsp + 0x40]
mov r8, r15
mov edx, ebx
mov rcx, r12
mov dword [rsp + 0x20], 0x14
call fcn.140016974
lea rax, [rsp + 0x74]
mov byte [rsp + 0x53], 2
mov qword [rsp + 0x30], rax
mov eax, dword [r13 + 0x94]
lea r9, [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov r8, r15
mov edx, ebx
mov rcx, r12
mov dword [rsp + 0x20], 0x14
call fcn.140016974
lea r8d, [rdi + 0x18]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0xac]
mov dword [rsp + 0xa8], r8d
mov byte [rsp + 0xa0], 8
mov dword [rsp + 0xa4], 0x6603
mov byte [rsp + 0xa1], 2
call fcn.14001cf80
mov rdx, qword [r12]
mov rcx, qword [r12 + 0xc0]
lea rax, [rsp + 0x2248]
mov qword [rsp + 0x30], rax
lea r9d, [rdi + 0x24]
lea r8, [rsp + 0xa0]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x2248], rdi
mov qword [rsp + 0x20], rdi
call fcn.14001ca20
cmp qword [rsp + 0x2248], rdi
je 0x14001763a
mov ebp, edi
lea rsi, [rsp + 0x1f0]
mov eax, ebp
mov r8d, 8
mov dword [rsp + 0x2230], 8
lea rbx, [rsp + rax + 0x1f0]
lea rdx, [rsp + rax + 0x11f0]
mov rcx, rbx
call fcn.14001cf80
mov rdx, qword [rsp + 0x2248]
mov rcx, qword [r12 + 0xc0]
lea r11, [rsp + 0x2230]
mov r9d, 1
xor r8d, r8d
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], edi
call fcn.14001c96c
cmp ebp, edi
lea r11, [rsp + 0x78]
jbe 0x140017516
lea eax, [rbp - 8]
lea r11, [rsp + rax + 0x11f0]
mov ecx, 8
mov al, byte [r11]
add r11, 1
xor byte [rsi], al
add rsi, 1
sub rcx, 1
jne 0x14001751b
add ebp, 8
cmp ebp, dword [r13 + 0x68]
jb 0x1400174a3
mov rdx, qword [rsp + 0x2248]
mov rcx, qword [r12 + 0xc0]
call fcn.14001ca88
mov ebx, 0x7f
lea rcx, [rsp + 0xf1]
mov r8, rbx
xor edx, edx
mov byte [rsp + 0xf0], dil
call fcn.14001d490
lea rcx, [rsp + 0x171]
mov r8, rbx
xor edx, edx
mov byte [rsp + 0x170], dil
call fcn.14001d490
lea ebp, [rbx - 0x6b]
lea r11, [rsp + 0xf0]
mov qword [rsp + 0x38], r11
lea rax, [rsp + 0x1f0]
mov dword [rsp + 0x30], InitCommonControls
mov qword [rsp + 0x28], rax
lea ebx, [rbp + 0x2c]
mov esi, 0x8004
mov r9, r15
mov rcx, r12
mov r8d, ebx
mov edx, esi
mov dword [rsp + 0x20], ebp
call fcn.140016388
lea r11, [rsp + 0x170]
lea rax, [rsp + 0x218]
mov qword [rsp + 0x38], r11
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0xf0]
mov r8d, ebx
mov edx, esi
mov rcx, r12
mov dword [rsp + 0x20], ebp
call fcn.140016388
lea rdx, [rsp + 0x200]
lea rcx, [rsp + 0x170]
mov r8, rbp
call fcn.14001d6a0
cmp eax, edi
jne 0x14001763a
lea r8, [rsp + 0x218]
mov r9d, ebx
mov edx, esi
mov rcx, r12
lea edi, [rbp - 0x13]
mov qword [rsp + 0x20], r14
call fcn.1400161bc
mov eax, edi
jmp 0x14001764c
mov dword [r12 + 0x240], 0xfffffffe
xor eax, eax
mov rbx, qword [rsp + 0x2238]
add rsp, 0x21f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret