Function at 0x1400a4990
Capabilities:
Read clipboard data

Disassembly:
mov qword [rsp + 0x10], rdx
push rsi
push r12
push r14
sub rsp, 0x260
xor r12d, r12d
mov r14, rdx
mov qword [rcx], r12
mov rsi, rcx
mov qword [rdx], r12
call fcn.1400076d0
test eax, eax
jne 0x1400a4a49
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], r12d
jne 0x1400a4a12
cmp dword [0x14012cd88], r12d
jne 0x1400a4a12
cmp byte [0x140126ada], r12b
jne 0x1400a4a12
mov qword [rsp + 0x28], r12
lea r9, [0x140100be0]
lea r8d, [r12 + 9]
mov qword [rsp + 0x20], r12
lea rdx, str.Cant_open_clipboard_for_reading.
lea rcx, [0x14012c670]
call fcn.140010330
add rsp, 0x260
pop r14
pop r12
pop rsi
ret
mov qword [rsp + 0x28], r12
lea r8, [0x140100be0]
xor r9d, r9d
mov dword [rsp + 0x20], 9
lea rdx, str.Cant_open_clipboard_for_reading.
lea rcx, [0x14012c670]
call fcn.14000ef80
add rsp, 0x260
pop r14
pop r12
pop rsi
ret
mov qword [rsp + 0x298], rbx
xor ecx, ecx
mov qword [rsp + 0x258], rbp
mov ebp, 4
mov qword [rsp + 0x250], rdi
mov edi, ebp
mov qword [rsp + 0x248], r13
mov qword [rsp + 0x240], r15
mov r15d, r12d
mov qword [rsp + 0x280], rbp
call qword [sym.imp.USER32.dll_EnumClipboardFormats]
mov ebx, eax
test eax, eax
je 0x1400a4be7
lea r13d, [rbp + 4]
mov r14d, 0x4086
nop
cmp ebx, 0xe
ja 0x1400a4aaf
bt r14d, ebx
jb 0x1400a4bcd
cmp ebx, 0x8e
je 0x1400a4bcd
cmp ebx, r15d
je 0x1400a4bcd
lea eax, [rbx - 0xc000]
cmp eax, 0x3fff
ja 0x1400a4b92
mov r8d, 0x104
lea rdx, [rsp + 0x30]
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetClipboardFormatNameW]
mov r8d, reloc.WSOCK32.dll_inet_ntoa
lea rdx, str.Link_Source
lea rcx, [rsp + 0x30]
call fcn.1400c53a8
test eax, eax
je 0x1400a4bcd
lea rdx, str.ObjectLink
lea rcx, [rsp + 0x30]
call fcn.1400c51bc
test eax, eax
je 0x1400a4bcd
lea rdx, str.OwnerLink
lea rcx, [rsp + 0x30]
call fcn.1400c51bc
test eax, eax
je 0x1400a4bcd
lea rdx, str.Native
lea rcx, [rsp + 0x30]
call fcn.1400c51bc
test eax, eax
je 0x1400a4bcd
lea rdx, str.Embed_Source
lea rcx, [rsp + 0x30]
call fcn.1400c51bc
test eax, eax
je 0x1400a4bcd
lea rdx, str.MSDEVColumnSelect
lea rcx, [rsp + 0x30]
call fcn.1400c51bc
test eax, eax
je 0x1400a4b8d
lea rdx, str.MSDEVLineSelect
lea rcx, [rsp + 0x30]
call fcn.1400c51bc
test eax, eax
jne 0x1400a4b98
add rdi, r13
jmp 0x1400a4bcd
mov word [rsp + 0x30], r12w
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetClipboardData]
test rax, rax
je 0x1400a4bcd
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalSize]
add rdi, r13
add rdi, rax
test r15d, r15d
jne 0x1400a4bcd
cmp ebx, r13d
jne 0x1400a4bc6
mov r15d, reloc.OLEAUT32.dll_SafeArrayGetElemsize
jmp 0x1400a4bcd
cmp ebx, 0x11
cmove r15d, r13d
mov ecx, ebx
call qword [sym.imp.USER32.dll_EnumClipboardFormats]
mov ebx, eax
test eax, eax
jne 0x1400a4aa0
mov r14, qword [rsp + 0x288]
cmp rdi, rbp
jne 0x1400a4c2f
cmp dword [0x14012cedc], r12d
je 0x1400a4ee4
cmp qword [0x14012cec0], r12
je 0x1400a4c16
mov rcx, qword [0x14012ceb0]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov qword [0x14012cec0], r12
call qword [sym.imp.USER32.dll_CloseClipboard]
mov dword [0x14012cedc], r12d
mov qword [0x14012ceb0], r12
jmp 0x1400a4ee4
test dil, 1
lea r13, [rdi + 1]
cmove r13, rdi
mov rcx, r13
call fcn.1400c534c
mov qword [rsi], rax
mov rdi, rax
test rax, rax
jne 0x1400a4cb7
cmp dword [0x14012cedc], r12d
je 0x1400a4c88
cmp qword [0x14012cec0], r12
je 0x1400a4c74
mov rcx, qword [0x14012ceb0]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov qword [0x14012cec0], r12
call qword [sym.imp.USER32.dll_CloseClipboard]
mov dword [0x14012cedc], r12d
mov qword [0x14012ceb0], r12
mov rax, qword [0x14012c4e8]
lea rdx, str.Out_of_memory.
mov qword [rsp + 0x28], rax
lea rcx, [0x14012c670]
xor r9d, r9d
mov qword [rsp + 0x20], r12
xor r8d, r8d
call fcn.14000f470
jmp 0x1400a4ee9
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumClipboardFormats]
mov ebx, eax
test eax, eax
je 0x1400a4ea1
mov r12, qword [rsp + 0x288]
cmp ebx, 0xe
ja 0x1400a4ce4
mov eax, 0x4086
bt eax, ebx
jb 0x1400a4e84
cmp ebx, 0x8e
je 0x1400a4e84
cmp ebx, r15d
je 0x1400a4e84
lea eax, [rbx - 0xc000]
cmp eax, 0x3fff
ja 0x1400a4dd3
mov r8d, 0x104
lea rdx, [rsp + 0x30]
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetClipboardFormatNameW]
mov r8d, reloc.WSOCK32.dll_inet_ntoa
lea rdx, str.Link_Source
lea rcx, [rsp + 0x30]
call fcn.1400c53a8
test eax, eax
je 0x1400a4e84
lea rdx, str.ObjectLink
lea rcx, [rsp + 0x30]
call fcn.1400c51bc
test eax, eax
je 0x1400a4e84
lea rdx, str.OwnerLink
lea rcx, [rsp + 0x30]
call fcn.1400c51bc
test eax, eax
je 0x1400a4e84
lea rdx, str.Native
lea rcx, [rsp + 0x30]
call fcn.1400c51bc
test eax, eax
je 0x1400a4e84
lea rdx, str.Embed_Source
lea rcx, [rsp + 0x30]
call fcn.1400c51bc
test eax, eax
je 0x1400a4e84
lea rdx, str.MSDEVColumnSelect
lea rcx, [rsp + 0x30]
call fcn.1400c51bc
test eax, eax
je 0x1400a4dca
lea rdx, str.MSDEVLineSelect
lea rcx, [rsp + 0x30]
call fcn.1400c51bc
test eax, eax
jne 0x1400a4dda
xor eax, eax
mov r14d, eax
mov esi, eax
jmp 0x1400a4e0f
xor eax, eax
mov word [rsp + 0x30], ax
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetClipboardData]
mov r14, rax
test rax, rax
je 0x1400a4e84
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalSize]
mov rsi, rax
test eax, eax
je 0x1400a4e0f
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r12, rax
test rax, rax
je 0x1400a4e84
mov rax, qword [rsp + 0x280]
mov rcx, rax
mov ebp, esi
add rax, 8
add rax, rbp
mov qword [rsp + 0x280], rax
cmp rax, r13
jbe 0x1400a4e4a
mov qword [rsp + 0x280], rcx
mov rbp, rcx
test esi, esi
je 0x1400a4e84
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x1400a4e84
mov dword [rdi], ebx
mov qword [rdi + 4], rbp
add rdi, 8
test esi, esi
je 0x1400a4e7c
mov r8, rbp
mov rdx, r12
mov rcx, rdi
call fcn.1400e2370
add rdi, rbp
mov rcx, r14
mov rbp, qword [rsp + 0x280]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x1400a4e84
mov rbp, qword [rsp + 0x280]
mov ecx, ebx
call qword [sym.imp.USER32.dll_EnumClipboardFormats]
mov ebx, eax
test eax, eax
jne 0x1400a4cd1
mov r14, qword [rsp + 0x288]
xor r12d, r12d
cmp dword [0x14012cedc], 0
je 0x1400a4edc
cmp qword [0x14012cec0], 0
je 0x1400a4ec8
mov rcx, qword [0x14012ceb0]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov qword [0x14012cec0], r12
call qword [sym.imp.USER32.dll_CloseClipboard]
mov dword [0x14012cedc], r12d
mov qword [0x14012ceb0], r12
mov eax, ebp
mov qword [r14], rax
mov dword [rdi], r12d
mov eax, 1
mov r13, qword [rsp + 0x248]
mov rdi, qword [rsp + 0x250]
mov rbp, qword [rsp + 0x258]
mov rbx, qword [rsp + 0x298]
mov r15, qword [rsp + 0x240]
add rsp, 0x260
pop r14
pop r12
pop rsi
ret