Function at 0x14019c0a0
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push rdi
sub rsp, 0x30
mov rdi, rdx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x14019c31a
mov qword ss:[rsp + 0x50], rsi
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov ecx, dword [rdi + 0x1c]
mov esi, dword [rdi + 0x20]
cmp ecx, esi
jle 0x14019c0dc
mov eax, esi
mov dword [rdi + 0x20], ecx
mov esi, ecx
mov dword [rdi + 0x1c], eax
mov ecx, eax
sub esi, ecx
mov qword [rsp + 0x40], rbx
cmp dword [rdi + 0x18], 1
mov ecx, 0x42
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x28], r14
mov edx, esi
je 0x14019c1f6
mov ebx, esi
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rbp, rax
test rax, rax
je 0x14019c2fb
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
movsxd rdx, dword [rdi + 0x1c]
mov r8d, ebx
add rdx, qword [rdi]
mov rcx, rax
call fcn.14020a640
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea edx, [rsi*2 + 1]
mov ecx, 0x42
add edx, esi
add rdx, rdx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rbx, rax
test rax, rax
je 0x14019c1d4
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
xor r14d, r14d
mov r8, rax
mov r9d, r14d
test esi, esi
je 0x14019c1b9
lea r10, [0x14028b1d0]
mov edx, dword [rdi + 0x1c]
mov rcx, qword [rdi]
add edx, r9d
movzx eax, byte [rdx + rcx]
shr rax, 4
movsx eax, byte [rax + r10]
mov word [r8], ax
mov ecx, dword [rdi + 0x1c]
mov rax, qword [rdi]
add ecx, r9d
inc r9d
movzx edx, byte [rcx + rax]
and edx, 0xf
movsx eax, byte [rdx + r10]
mov word [r8 + 2], ax
mov word [r8 + 4], 0x20
add r8, 6
cmp r9d, esi
jb 0x14019c172
mov rcx, rbx
mov word [r8], r14w
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rdx, rbx
mov ecx, 0xd
call qword [sym.imp.USER32.dll_SetClipboardData]
lea rcx, str.BinaryData
nop dword [rax + rax]
call qword [sym.imp.USER32.dll_RegisterClipboardFormatW]
mov ecx, eax
mov rdx, rbp
call qword [sym.imp.USER32.dll_SetClipboardData]
jmp 0x14019c2fb
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x20], r15
mov ebp, esi
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
lea edx, [rsi + 1]
mov ecx, 0x42
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov r15, rax
test r12, r12
je 0x14019c2f1
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GlobalLock]
movsxd rdx, dword ds:[rdi + 0x1c]
mov r8d, ebp
add rdx, qword [rdi]
mov rcx, rax
call fcn.14020a640
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
test r15, r15
je 0x14019c2d4
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalLock]
movsxd rdx, dword [rdi + 0x1c]
mov r8d, ebp
add rdx, qword [rdi]
mov rcx, rax
mov rbx, rax
call fcn.14020a640
test esi, esi
je 0x14019c2b8
xor r14d, r14d
movzx eax, byte [rbx]
cmp byte [rdi + 0x2c], r14b
jge 0x14019c29c
mov edx, 0x117
movzx ecx, ax
call fcn.1401f1a78
mov ecx, eax
jmp 0x14019c2a8
sub eax, 0x20
mov ecx, r14d
cmp eax, 0x5e
setbe cl
test ecx, ecx
jne 0x14019c2af
mov byte [rbx], 0x2e
inc rbx
sub rbp, 1
jne 0x14019c282
mov rcx, r15
mov byte [rbx], 0
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rdx, r15
mov ecx, 1
call qword [sym.imp.USER32.dll_SetClipboardData]
lea rcx, str.BinaryData
nop dword [rax + rax]
call qword [sym.imp.USER32.dll_RegisterClipboardFormatW]
mov ecx, eax
mov rdx, r12
call qword [sym.imp.USER32.dll_SetClipboardData]
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x20]
nop dword [rax + rax]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov r14, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret