Function at 0x1400017b0
Capabilities:
Encode data using xor
Get file size
Open clipboard
Read clipboard data
Read file on windows
Terminate process
Write clipboard data

Disassembly:
push rbx
push rdi
push r12
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x140005008]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov edi, r9d
mov qword [rsp + 0x30], 0
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
mov r15, r8
mov dword [rsp + 0x20], 3
mov r14, rdx
mov rbx, rcx
mov edx, 0x80000000
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r12, rax
cmp rax, 0xffffffffffffffff
jne 0x140001827
mov rdx, rbx
lea rcx, str.Error_opening_input_file__s_n
call fcn.140001020
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
lea rdx, [rsp + 0x60]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
movsxd rcx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x60]
shl rcx, 0x20
add rcx, rax
cmp r14, rcx
jbe 0x14000185f
lea rcx, str.ERROR:_start_offset_is_past_end_of_file_n
call fcn.140001020
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov qword [rsp + 0x78], r13
cmp r15, r14
jb 0x140001873
test r15, r15
je 0x140001873
cmp r15, rcx
jbe 0x140001876
mov r15, rcx
test edi, edi
mov qword [rsp + 0x88], rbp
mov eax, 0x80000
mov qword [rsp + 0x80], rsi
cmovne eax, edi
lea rcx, str.SENDING_file__s_starting_at__016llX_ending_at__016llX_with_block_size_of__08X_n
mov edi, eax
mov r9, r15
mov r8, r14
mov qword [rsp + 0x50], rdi
mov rdx, rbx
mov dword [rsp + 0x20], edi
call fcn.140001020
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
mov qword [rsp + 0x48], rax
mov eax, 0xaaaaaaab
mul edi
mov rax, 0xffffffffffffffff
shr edx, 1
shl edx, 2
add edx, 0x400
mov ecx, edx
cmovb rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r13, rax
cmp r14, r15
jae 0x140001b90
mov rax, r14
lea r8, [rsp + 0x5c]
shr rax, 0x20
lea rsi, [0x1400036d0]
xor r9d, r9d
mov dword [rsp + 0x5c], eax
mov edx, r14d
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
lea r9, [rsp + 0x58]
mov qword [rsp + 0x20], 0
mov r8d, edi
mov rdx, rbx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov edx, dword [rsp + 0x58]
lea r8, [rsp + 0x40]
mov rcx, rbx
call fcn.140001140
mov r9d, dword [rsp + 0x58]
xor edi, edi
mov rbp, rax
mov r10, rbx
mov r8d, r9d
test r9d, r9d
je 0x14000197c
nop word [rax + rax]
movzx edx, byte [r10]
lea r10, [r10 + 1]
mov ecx, edi
shr edi, 8
xor rdx, rcx
movzx ecx, dl
xor edi, dword [rsi + rcx*4]
sub r8, 1
jne 0x140001960
mov r8, qword [rsp + 0x40]
lea rcx, str.SENDING__016llX__08X___08X__CRC:__08X_r
mov rdx, r14
mov dword [rsp + 0x20], edi
call fcn.140001020
mov r9, qword [rsp + 0x40]
lea rdx, str.CLIPPY_SET__016llX__08X__08X__s
mov r8, r14
mov qword [rsp + 0x28], rbp
mov rcx, r13
mov dword [rsp + 0x20], edi
call fcn.140001080
movsxd rbx, eax
lea ecx, [rbx + 1]
movsxd rdx, ecx
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rsi, rax
test rax, rax
je 0x140001bb7
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r8, rbx
mov rdx, r13
mov rcx, rax
mov rdi, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rsi
mov byte [rbx + rdi], 0
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [0x140005618]
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x140001a10
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, rsi
mov ecx, 1
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
call qword [sym.imp.USER32.dll_GetClipboardSequenceNumber]
mov edi, eax
call qword [sym.imp.USER32.dll_GetClipboardSequenceNumber]
cmp edi, eax
je 0x140001a43
mov edi, eax
nop
mov rcx, qword [0x140005618]
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x140001a50
mov ecx, 1
call qword [sym.imp.USER32.dll_GetClipboardData]
test rax, rax
je 0x140001a43
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rbx, rax
test rax, rax
je 0x140001ad4
mov r8d, 0xa
lea rdx, str.CLIPPY_GET
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x140001adf
mov r8d, 0xa
lea rdx, str.CLIPPY_DIE
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x140001b7a
mov r8d, 0xa
lea rdx, str.CLIPPY_SET
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x140001b04
call qword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x140001a43
call qword [sym.imp.USER32.dll_CloseClipboard]
mov eax, dword [rsp + 0x58]
add r14, rax
cmp r14, r15
jae 0x140001b90
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
jmp 0x1400018f1
lea rcx, str._nERROR:_Unexpected_clipboard_content__quitting_n
call fcn.140001020
mov edx, 0xb
lea ecx, [rdx - 9]
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rbx, rax
test rax, rax
je 0x140001bb7
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
movsd xmm0, qword [str.CLIPPY_DIE]
mov rcx, rbx
movsd qword [rax], xmm0
movzx edx, word [0x1400033e0]
mov word [rax + 8], dx
mov byte [rax + 0xa], 0
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, rbx
mov ecx, 1
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
lea rcx, str._nreceived_quit_signal_n
call fcn.140001020
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rcx, qword [0x140005618]
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x140001b90
mov edx, 0xb
lea ecx, [rdx - 9]
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rbx, rax
test rax, rax
jne 0x140001bcc
lea rcx, str.ERROR_allocating_clipboard_handle_n
call fcn.140001020
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalLock]
movsd xmm0, qword [str.CLIPPY_DIE]
movsd qword [rax], xmm0
movzx ecx, word [0x1400033e0]
mov word [rax + 8], cx
mov rcx, rbx
mov byte [rax + 0xa], 0
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, rbx
mov ecx, 1
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
mov r13, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140001e20
add rsp, 0x90
pop r15
pop r14
pop r12
pop rdi
pop rbx
ret