Function at 0x140155704
Capabilities:
Read clipboard data

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rax, qword [rsp + 0x40]
mov qword [rax], 0
mov rax, qword [rsp + 0x40]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x10], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14], 0
xor eax, eax
mov rcx, qword [rsp + 0x40]
mov word [rcx + 0x18], ax
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x1c], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x24], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x28], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x2c], 0
mov ecx, setsockopt
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x140155913
mov ecx, setsockopt
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rcx, qword [rsp + 0x40]
mov qword [rcx], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax], 0
je 0x140155913
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
movzx eax, word [rax + 0xe]
cmp eax, 0x20
jne 0x140155913
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
cmp dword [rax + 0x10], 0
je 0x140155837
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
cmp dword [rax + 0x10], 3
jne 0x140155913
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
cmp dword [rax + 0x28], 0
je 0x140155913
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
cmp dword [rax + 0x2c], 0
je 0x140155913
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
cmp dword [rax + 0x30], 0
je 0x140155913
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
cmp dword [rax + 0x34], 0
je 0x140155913
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rax + 4]
mov dword [rcx + 0x10], eax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rax + 8]
mov dword [rcx + 0x14], eax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
movzx eax, word [rax + 0xe]
mov word [rcx + 0x18], ax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rax + 0x10]
mov dword [rcx + 0x1c], eax
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x1c], 3
jne 0x1401558de
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rax + 0x28]
mov dword [rcx + 0x20], eax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
mov dword [rcx + 0x24], eax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rax + 0x30]
mov dword [rcx + 0x28], eax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rax + 0x34]
mov dword [rcx + 0x2c], eax
jmp 0x14015590e
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x20], 0xff0000
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x24], 0xff00
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x28], 0xff
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x2c], 0xff000000
jmp 0x140155acc
mov ecx, 8
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x140155936
mov ecx, 8
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax + 8], 0
jne 0x140155947
jmp 0x140155acc
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rax + 4]
mov dword [rcx + 0x10], eax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rax + 8]
mov dword [rcx + 0x14], eax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x40]
movzx eax, word [rax + 0xe]
mov word [rcx + 0x18], ax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rax + 0x10]
mov dword [rcx + 0x1c], eax
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x1c], 3
jne 0x140155a1d
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 8]
mov ecx, 4
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x40]
mov eax, dword [rax + rcx + 0x28]
mov dword [rdx + 0x20], eax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 8]
mov ecx, 4
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x40]
mov eax, dword [rax + rcx + 0x28]
mov dword [rdx + 0x24], eax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 8]
mov ecx, 4
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x40]
mov eax, dword [rax + rcx + 0x28]
mov dword [rdx + 0x28], eax
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0x18]
cmp eax, 0x20
jne 0x140155a18
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x2c], 0xff000000
jmp 0x140155acc
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x1c], 0
jne 0x140155acc
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0x18]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0x10
je 0x140155aa8
cmp dword [rsp + 0x20], 0x18
je 0x140155a82
cmp dword [rsp + 0x20], 0x20
je 0x140155a50
jmp 0x140155acc
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x20], 0xff0000
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x24], 0xff00
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x28], 0xff
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x2c], 0xff000000
jmp 0x140155acc
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x20], 0xff0000
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x24], 0xff00
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x28], 0xff
jmp 0x140155acc
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x20], 0x7c00
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x24], 0x3e0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x28], 0x1f
mov rax, qword [rsp + 0x40]
add rsp, 0x38
ret