Function at 0x140003ff4
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
xor esi, esi
mov rdi, rcx
mov dword [rsp + 0x74], esi
mov qword [rbp - 0x68], 0x86d14
mov qword [rbp - 0x70], rsi
mov rdx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x68]
mov dword [rsp + 0x60], 0x15a5
mov dword [rsp + 0x70], 0xadab
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x60]
add ecx, eax
mov dword [rsp + 0x60], ecx
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x74]
add ecx, eax
mov dword [rsp + 0x74], ecx
mov dword [rsp + 0x70], 0x4929
mov dword [rsp + 0x60], 0x13d77
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x70]
add ecx, eax
mov dword [rsp + 0x60], ecx
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x74]
imul ecx, eax
mov dword [rsp + 0x74], ecx
mov dword [rsp + 0x70], 0x61de
mov dword [rsp + 0x60], 0x6172
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x70]
add ecx, eax
mov dword [rsp + 0x60], ecx
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x74]
sub ecx, eax
mov dword [rsp + 0x74], ecx
mov rax, qword [rbp - 0x70]
inc rax
mov qword [rbp - 0x70], rax
mov rcx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x68]
cmp rcx, rax
jb 0x14000402e
mov rbx, rsi
movabs r14, 0xaaaaaaaaaaaaaaab
mov dword [rbp + 0xe0], 0x2de439
mov qword [rsp + 0x60], rsi
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
mov r8d, 0x408e3c93
mov rax, qword [rsp + 0x60]
mov r9b, byte [rbp + rax + 0xe1]
mov rax, r14
mul rcx
shr rdx, 4
mov al, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x60]
shl dl, 3
sub cl, dl
sar r8d, cl
xor r8b, r9b
mov byte [rbp + rax + 0xe1], r8b
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
cmp rax, 2
jb 0x1400040f0
xor r9d, r9d
mov byte [rbp + 0xe3], sil
lea r8, [rbp + 0xe1]
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowExA]
cmp rax, qword [0x14004bc78]
mov rbx, rax
je 0x140004183
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 2]
call qword [sym.imp.USER32.dll_SendMessageA]
test rbx, rbx
jne 0x1400040dc
mov qword [rbp - 0x70], 4
xor edx, edx
mov qword [rbp - 0x68], 0x44
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x70]
add rcx, rax
mov qword [rbp - 0x68], rcx
lea rcx, [rbp - 0x40]
mov r8, qword [rbp - 0x68]
call fcn.140026d40
mov dword [rsp + 0x68], 0x37d0eb
mov qword [rsp + 0x60], rsi
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x60]
mov r8b, byte [rsp + rax + 0x69]
mov rax, r14
mul rcx
shr rdx, 4
mov al, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x60]
shl dl, 3
sub cl, dl
mov edx, 0x19493aa7
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x69], dl
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
cmp rax, 2
jb 0x1400041cc
mov byte [rsp + 0x6b], sil
lea rcx, [rsp + 0x69]
lea rdx, [rbp + 0x58]
mov al, byte [rcx]
inc rcx
mov byte [rdx], al
inc rdx
test al, al
jne 0x140004229
lea rax, [0x140003de0]
mov qword [rbp - 0x50], 0x1d25b190
mov qword [rbp - 0x38], rax
mov ebx, 0x7f00
mov rax, qword [sym.imp.USER32.dll_LoadIconA]
mov edx, ebx
add rax, 0x1d25b190
mov dword [rbp - 0x40], 3
mov qword [rbp - 0x58], rax
xor ecx, ecx
movups xmm0, xmmword [rbp - 0x58]
add rax, 0xffffffffe2da4e70
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rdi
movdqu xmmword [rbp + 0x78], xmm0
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], rsi
call rax
mov qword [rbp - 0x20], rax
mov edx, ebx
mov rax, qword [sym.imp.USER32.dll_LoadCursorA]
xor ecx, ecx
add rax, 0x1d25cd14
mov qword [rbp - 0x60], 0x1d25cd14
mov qword [rbp - 0x68], rax
add rax, 0xffffffffe2da32ec
movups xmm0, xmmword [rbp - 0x68]
mov qword [rbp + 0x20], rbx
mov qword [rbp - 0x58], rsi
movdqu xmmword [rbp + 0x98], xmm0
call rax
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x40]
lea rax, [rbp + 0x58]
mov qword [rbp], rax
call qword [sym.imp.USER32.dll_RegisterClassA]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [rsp + 0x6c], 0xfa4b30
mov r9, rax
mov qword [rsp + 0x60], rsi
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x60]
mov r8b, byte [rsp + rax + 0x6d]
mov rax, r14
mul rcx
shr rdx, 4
mov al, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x60]
shl dl, 3
sub cl, dl
mov edx, 0x6cb17d3c
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x6d], dl
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
cmp rax, 2
jb 0x1400042fc
mov qword [rsp + 0x58], rsi
lea rdx, [rsp + 0x6d]
mov qword [rsp + 0x50], r9
mov eax, 0xc8
mov qword [rsp + 0x48], rsi
xor r9d, r9d
mov qword [rsp + 0x40], rsi
xor r8d, r8d
mov dword [rsp + 0x38], eax
xor ecx, ecx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 0xa
mov dword [rsp + 0x20], 0xa
mov byte [rsp + 0x6f], sil
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov qword [0x14004bc78], rax
test rax, rax
je 0x14000451e
mov dword [rsp + 0x78], 0x5e30f946
mov dword [rsp + 0x7c], 0x7a8e341
mov word [rbp - 0x80], 0xc3
mov dword [rbp - 0x7e], 0xb9cb249c
mov dword [rbp - 0x7a], 0xf389449c
mov dword [rbp - 0x76], 0x979b8a
mov qword [rsp + 0x60], rsi
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x60]
mov r8b, byte [rsp + rax + 0x79]
mov rax, r14
mul rcx
shr rdx, 4
mov al, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x60]
shl dl, 3
sub cl, dl
mov edx, 0x4a9858aa
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x79], dl
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
cmp rax, 8
jb 0x1400043d9
mov byte [rbp - 0x7f], sil
mov qword [rsp + 0x60], rsi
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x60]
mov r8b, byte [rbp + rax - 0x7d]
mov rax, r14
mul rcx
shr rdx, 4
mov al, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x60]
shl dl, 3
sub cl, dl
mov edx, 0x3d9f771
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x7d], dl
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
cmp rax, 0xa
jb 0x140004436
mov rax, qword gs:[0x58]
mov edx, 4
mov byte [rbp - 0x73], sil
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14004bcd0], eax
jg 0x140004538
lea rcx, [rbp - 0x7d]
call qword [0x14004bce0]
mov rcx, rax
lea rdx, [rsp + 0x79]
call qword [0x14004bcd8]
mov dword [rsp + 0x70], 0x44b
xor r9d, r9d
mov dword [rsp + 0x60], 0x385
mov edx, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x70]
add edx, ecx
mov dword [rsp + 0x60], edx
xor edx, edx
mov r8d, dword [rsp + 0x60]
mov rcx, qword [0x14004bc78]
call rax
jmp 0x140004508
lea rcx, [rbp + 0x28]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x28]
call qword [sym.imp.USER32.dll_DispatchMessageA]
xor r9d, r9d
lea rcx, [rbp + 0x28]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jne 0x1400044f4
lea r11, [rsp + 0x1c0]
xor eax, eax
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
lea rcx, [0x14004bcd0]
call fcn.1400086b8
cmp dword [0x14004bcd0], 0xffffffff
jne 0x1400044a9
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x14004bcd0]
mov qword [0x14004bce0], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14004bcd8], rax
call fcn.140008658
jmp 0x1400044a9