Function at 0x140002cec
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r13
push r14
mov eax, 0x21f0
call fcn.1400172d0
sub rsp, rax
mov r12, qword [rcx + 0xa8]
mov rbp, rcx
mov r14, r8
mov r13, rdx
mov ebx, 0xfff
lea rcx, [rsp + 0x11f1]
xor esi, esi
mov r8, rbx
xor edx, edx
mov byte [rsp + 0x11f0], sil
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0x1f1]
mov r8, rbx
xor edx, edx
mov byte [rsp + 0x1f0], sil
call sub.msvcrt.dll_memset
cmp dword [r12 + 0x68], 0xbb8
jae 0x14000307b
mov ebx, dword [r12 + 0x68]
lea rdx, [r12 + 0xa0]
lea rcx, [rsp + 0x11f0]
mov r8, rbx
call sub.msvcrt.dll_memcpy
lea rdx, [r12 + 0xa0]
lea rcx, [rsp + 0x1f0]
mov r8, rbx
call sub.msvcrt.dll_memcpy
xor eax, eax
lea r8d, [rsi + 0x3f]
lea rcx, [rsp + 0x61]
xor edx, edx
mov byte [rsp + 0x40], sil
mov qword [rsp + 0x41], rax
mov qword [rsp + 0x49], rax
mov word [rsp + 0x51], ax
mov byte [rsp + 0x53], al
mov byte [rsp + 0x60], sil
call sub.msvcrt.dll_memset
movdqu xmm5, xmmword [r12 + 0x84]
lea rax, [rsp + 0x60]
mov byte [rsp + 0x53], 1
movdqu xmmword [rsp + 0x40], xmm5
mov qword [rsp + 0x30], rax
mov eax, dword [r12 + 0x94]
lea edi, [rsi + 0x14]
mov dword [rsp + 0x28], eax
mov ebx, 0x8004
lea r9, [rsp + 0x40]
mov r8, r14
mov rcx, rbp
mov edx, ebx
mov dword [rsp + 0x20], edi
call fcn.140002b5c
lea rax, [rsp + 0x74]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x53], 2
mov eax, dword [r12 + 0x94]
mov dword [rsp + 0x28], eax
lea r9, [rsp + 0x40]
mov r8, r14
mov edx, ebx
mov rcx, rbp
mov dword [rsp + 0x20], edi
call fcn.140002b5c
lea r8d, [rsi + 0x18]
lea rcx, [rsp + 0xac]
lea rdx, [rsp + 0x60]
mov dword [rsp + 0xa8], r8d
mov byte [rsp + 0xa0], 8
mov dword [rsp + 0xa4], 0x6603
mov byte [rsp + 0xa1], 2
call sub.msvcrt.dll_memcpy
mov rdx, qword [rbp]
mov rcx, qword [rbp + 0xc0]
lea rax, [rsp + 0x2238]
mov qword [rsp + 0x30], rax
lea r9d, [rsi + 0x24]
lea r8, [rsp + 0xa0]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x2238], rsi
mov qword [rsp + 0x20], rsi
call fcn.140013d28
mov rdx, qword [rsp + 0x2238]
cmp rdx, rsi
je 0x140003077
mov edi, esi
lea rbx, [rsp + 0x1f0]
mov eax, edi
mov r9d, 1
xor r8d, r8d
lea rcx, [rsp + rax + 0x1f0]
mov rax, qword [rsp + rax + 0x11f0]
mov dword [rsp + 0x2220], 8
mov qword [rcx], rax
lea rax, [rsp + 0x2220]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0xc0]
mov dword [rsp + 0x20], esi
call fcn.140013e08
cmp edi, esi
lea r11, [rsp + 0x78]
jbe 0x140002f30
lea eax, [rdi - 8]
lea r11, [rsp + rax + 0x11f0]
mov ecx, 8
mov al, byte [r11]
add r11, 1
xor byte [rbx], al
add rbx, 1
sub rcx, 1
jne 0x140002f35
mov rdx, qword [rsp + 0x2238]
add edi, 8
cmp edi, dword [r12 + 0x68]
jb 0x140002ed1
mov rcx, qword [rbp + 0xc0]
call fcn.140013ce8
mov ebx, 0x7f
lea rcx, [rsp + 0xf1]
mov r8, rbx
xor edx, edx
mov byte [rsp + 0xf0], sil
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0x171]
mov r8, rbx
xor edx, edx
mov byte [rsp + 0x170], sil
call sub.msvcrt.dll_memset
lea r12d, [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, [r12 + 0x2c]
mov edi, 0x8004
mov r9, r14
mov rcx, rbp
mov r8d, ebx
mov edx, edi
mov dword [rsp + 0x20], r12d
call fcn.14000290c
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, edi
mov rcx, rbp
mov dword [rsp + 0x20], r12d
call fcn.14000290c
lea r11, [rsp + 0x170]
lea rax, [rsp + 0x200]
mov rcx, qword [r11]
cmp rcx, qword [rax]
jne 0x14000304f
mov rcx, qword [r11 + 8]
cmp rcx, qword [rax + 8]
jne 0x14000304f
mov ecx, dword [r11 + 0x10]
cmp ecx, dword [rax + 0x10]
jne 0x14000304f
mov eax, esi
jmp 0x140003054
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x140003077
lea r8, [rsp + 0x218]
mov r9d, ebx
mov edx, edi
mov rcx, rbp
mov esi, 1
mov qword [rsp + 0x20], r13
call fcn.14000224c
mov eax, esi
jmp 0x140003087
mov dword [rbp + 0x240], 0xfffffffe
xor eax, eax
lea r11, [rsp + 0x21f0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret