Function at 0x14004a1b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rsi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov dword [0x1400a50b0], 0x50
lea rax, [0x140049dc0]
mov qword [0x1400a50b8], rax
xor esi, esi
mov rax, qword [0x1400a50a0]
movabs r14, 0xc6e691719140c6c6
mov qword [0x1400a50c8], rax
mov r10, r14
mov byte [rbp - 0x20], 0x8d
mov r9d, esi
mov byte [rbp - 0x1f], 0xa2
mov r15d, 0xf
mov byte [rbp - 0x1e], 0xad
mov byte [rbp - 0x1d], 0xb7
mov byte [rbp - 0x1c], 0xa5
mov byte [rbp - 0x1b], 0xbc
mov byte [rbp - 0x1a], 0xa2
mov byte [rbp - 0x19], 0xa2
mov byte [rbp - 0x18], 0xbb
mov byte [rbp - 0x17], 0xe8
mov byte [rbp - 0x16], 0xf9
mov byte [rbp - 0x15], 0xa0
mov byte [rbp - 0x14], 0xec
mov byte [rbp - 0x13], 0xeb
mov byte [rbp - 0x12], 0xfb
mov byte [rbp - 0x11], 0xd9
movzx eax, byte [rbp - 0x20]
lea rax, [rbp - 0x20]
sub r10, rax
nop dword [rax]
mov rcx, r9
lea r8, [rbp - 0x20]
add r8, r9
and ecx, r15d
cmp rcx, r15
mov rdx, r14
cmovae rcx, r15
shl cl, 2
lea eax, [r10 + r8]
shr rdx, cl
and dl, r15b
xor dl, al
movzx eax, byte [r8]
xor dl, al
mov byte [rbp + r9 - 0x20], dl
inc r9
cmp r9, 0x10
jb 0x14004a250
lea rax, [rbp - 0x20]
lea rcx, [0x1400a50b0]
mov qword [0x1400a50f0], rax
call qword [sym.imp.USER32.dll_RegisterClassExA]
test ax, ax
je 0x14004a4c0
mov r11, qword [0x1400a50a0]
mov r10, r14
mov qword [rsp + 0xa0], rbx
mov r9, rsi
mov ebx, dword [0x1400a5100]
mov qword [rsp + 0xa8], rdi
mov edi, dword [0x1400a508c]
mov byte [rbp - 0x20], 0x8d
mov byte [rbp - 0x1f], 0xa2
mov byte [rbp - 0x1e], 0xad
mov byte [rbp - 0x1d], 0xb7
mov byte [rbp - 0x1c], 0xa5
mov byte [rbp - 0x1b], 0xbc
mov byte [rbp - 0x1a], 0xa2
mov byte [rbp - 0x19], 0xa2
mov byte [rbp - 0x18], 0xbb
mov byte [rbp - 0x17], 0xe8
mov byte [rbp - 0x16], 0xf9
mov byte [rbp - 0x15], 0xa0
mov byte [rbp - 0x14], 0xec
mov byte [rbp - 0x13], 0xeb
mov byte [rbp - 0x12], 0xfb
mov byte [rbp - 0x11], 0xd9
movzx eax, byte [rbp - 0x20]
lea rax, [rbp - 0x20]
sub r10, rax
nop
mov rcx, r9
lea r8, [rbp - 0x20]
add r8, r9
and ecx, r15d
cmp rcx, r15
mov rdx, r14
cmovae rcx, r15
shl cl, 2
lea eax, [r10 + r8]
shr rdx, cl
and dl, r15b
xor dl, al
movzx eax, byte [r8]
xor dl, al
mov byte [rbp + r9 - 0x20], dl
inc r9
cmp r9, 0x10
jb 0x14004a320
mov byte [rbp - 0x10], 0x8d
mov r8, rsi
mov byte [rbp - 0xf], 0xa2
mov byte [rbp - 0xe], 0xad
mov byte [rbp - 0xd], 0xb7
mov byte [rbp - 0xc], 0xa5
mov byte [rbp - 0xb], 0xbc
mov byte [rbp - 0xa], 0xa2
mov byte [rbp - 9], 0xa2
mov byte [rbp - 8], 0xbb
mov byte [rbp - 7], 0xe8
mov byte [rbp - 6], 0xf9
mov byte [rbp - 5], 0xa0
mov byte [rbp - 4], 0xec
mov byte [rbp - 3], 0xeb
mov byte [rbp - 2], 0xfb
mov byte [rbp - 1], 0xd9
movzx eax, byte [rbp - 0x10]
movzx eax, byte [rbp + r8 - 0x10]
mov rcx, r8
and ecx, r15d
mov rdx, r14
cmp rcx, r15
cmovae rcx, r15
shl cl, 2
shr rdx, cl
and dl, r15b
xor dl, al
lea eax, [r8 - 0x3a]
xor dl, al
mov byte [rbp + r8 - 0x10], dl
inc r8
cmp r8, 0x10
jb 0x14004a3a1
mov qword [rsp + 0x58], rsi
lea r8, [rbp - 0x20]
mov qword [rsp + 0x50], r11
lea rdx, [rbp - 0x10]
mov qword [rsp + 0x48], rsi
mov r9d, 0x90000000
mov qword [rsp + 0x40], rsi
xor ecx, ecx
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov rdi, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xa0]
mov qword [0x1400a5120], rax
test rax, rax
je 0x14004a4c0
mov edx, 0xffffffec
mov r8d, 0x800a8
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowLongA]
mov rcx, qword [0x1400a5120]
lea rdx, [0x1400a1dd8]
call qword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
mov rcx, qword [0x1400a5120]
mov edx, 5
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [0x1400a5120]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rcx, qword [0x1400a5120]
xor r9d, r9d
mov dword [rsp + 0x30], 0x23
xor r8d, r8d
mov dword [rsp + 0x28], esi
mov rdx, 0xffffffffffffffff
mov dword [rsp + 0x20], esi
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rcx, qword [0x1400a5120]
mov edx, 0xffffffec
mov r8d, 0x800a8
call qword [sym.imp.USER32.dll_SetWindowLongA]
mov eax, 1
jmp 0x14004a4c2
xor eax, eax
mov rsi, qword [rsp + 0xb0]
add rsp, 0x80
pop r15
pop r14
pop rbp
ret