Function at 0x1400013b0
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
xor eax, eax
xor edi, edi
and dword [rbp - 0x11], eax
mov r14d, edx
mov r15, rcx
mov dword [rbp - 0x35], eax
xor edx, edx
mov dword [rbp + 0x7f], eax
lea esi, [rdi + 1]
lea r8d, [rdi + 0x30]
mov r12d, esi
lea rcx, [rbp - 9]
call sub.VCRUNTIME140.dll_memset
xor ecx, ecx
lea edx, [rdi + 8]
mov dword [rbp + 0x77], ecx
xor ebx, ebx
mov rcx, r15
call qword [sym.imp.USER32.dll_GetWindowLongPtrA]
mov qword [rbp - 0x19], rax
mov r13, rax
test rax, rax
je 0x1400018fa
mov rcx, qword [0x1400b8a28]
call qword [sym.imp.USER32.dll_SetCursor]
mov rcx, r13
mov dword [0x140096f20], esi
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rsi, rax
mov eax, dword [rax + 0x4a]
test eax, eax
je 0x1400018e7
cmp eax, 7
jl 0x140001695
cmp eax, 8
jle 0x140001523
cmp eax, 9
je 0x140001485
cmp eax, 0xb
je 0x140001679
cmp eax, 0x17
je 0x140001485
cmp eax, 0x21
je 0x140001485
cmp eax, 0x28
je 0x14000147d
cmp eax, 0x2d
jne 0x140001695
xor r12d, r12d
jmp 0x1400016aa
mov ecx, dword [rsi + 0x26]
mov edx, r14d
call fcn.1400478a4
mov edi, eax
test eax, eax
jne 0x1400018e7
mov ecx, dword [rsi + 0x26]
lea r14, [rsi + 0x1fa]
mov r9, r14
lea edx, [rax + 0x64]
lea r8d, [rax + 0x6b]
call fcn.14004564c
mov edi, eax
test eax, eax
jne 0x1400018e7
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [rsi + 0x26]
lea edx, [rdi + 0x64]
lea r8d, [rdi + 0x6c]
mov rbx, rax
lea r9, [rax + 0x54]
call fcn.14004564c
mov ecx, dword [rsi + 0x26]
lea r9, [rbx + 0x60]
lea edx, [rdi + 0x64]
lea r8d, [rdi + 0x6d]
call fcn.14004564c
mov rcx, qword [rbx + 0x54]
call fcn.1400012a8
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp dword [rsi + 0x4a], 0x21
jne 0x1400016aa
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.USER32.dll_InvalidateRect]
bts dword [rsi + 0x22], 0xe
jmp 0x14000147d
mov rcx, qword [0x1400970d8]
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x140001575
movzx ecx, word [0x140096f1c]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x14000154f
movzx r14d, word [0x140096f1c]
jmp 0x14000156d
movzx ecx, word [0x140096f18]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x14000156a
movzx r14d, word [0x140096f18]
jmp 0x14000156d
xor r14d, r14d
call qword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x140001578
xor r14d, r14d
mov edx, dword [rbp + 0x6f]
mov ecx, dword [0x1400b8b40]
call fcn.1400478a4
mov edi, eax
test eax, eax
jne 0x1400018e7
mov ecx, dword [0x1400b8b40]
xor edx, edx
call fcn.1400460c8
mov rcx, qword [0x1400970d8]
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1400015eb
call qword [sym.imp.USER32.dll_EmptyClipboard]
lea eax, [rdi + 2]
mov edx, eax
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ecx, dword [0x1400b8b44]
mov rbx, rax
test ecx, ecx
je 0x1400015e5
mov rdx, rax
call qword [sym.imp.USER32.dll_SetClipboardData]
test rax, rax
jne 0x1400015e5
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalFree]
call qword [sym.imp.USER32.dll_CloseClipboard]
cmp dword [0x1400b8b44], 0
jne 0x140001664
mov rcx, r15
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_GetWindowLongPtrA]
and dword [0x1400b87b4], 0
or eax, 0xffffffff
xor ecx, ecx
mov dword [0x1400b87ac], eax
mov dword [0x1400b87b0], eax
call qword [sym.imp.ole32.dll_OleSetClipboard]
lea rcx, [0x1400b87a0]
call qword [sym.imp.ole32.dll_OleSetClipboard]
mov rcx, qword [0x1400970d8]
call qword [sym.imp.USER32.dll_OpenClipboard]
movzx ecx, word [0x140096f14]
mov rdx, rbx
call qword [sym.imp.USER32.dll_SetClipboardData]
test rax, rax
jne 0x14000165e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalFree]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov dword [0x1400b8b44], r14d
cmp dword [rsi + 0x4a], 8
je 0x14000147d
mov r14d, dword [rbp + 0x6f]
and dword [rsp + 0x28], 0
lea rax, [rbp - 0x1d]
mov r8d, r12d
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, r15
call fcn.14006083c
mov ecx, dword [rsi + 0x26]
mov edx, r14d
call fcn.1400478a4
mov edi, eax
test eax, eax
jne 0x1400018e7
mov r8d, dword [rsi + 0x1b6]
lea r13, [rsi + 0xea]
mov ecx, dword [rsi + 0x26]
mov r9, r13
mov edx, 0x65
mov dword [rbp - 0x1d], r12d
call fcn.14004564c
mov edi, eax
test eax, eax
jne 0x1400018df
test r12d, r12d
je 0x140001917
lea rax, [rsi + 0x106]
lea ecx, [rdi + 1]
mov qword [0x140096dd8], rax
mov dword [rax + 4], ecx
lea rax, [rsi + 0x186]
mov dword [rax], ecx
mov rcx, rsi
mov r8, qword [r13]
mov edx, dword [rsi + 0x26]
mov qword [0x140096dd0], rax
call fcn.140001080
mov rcx, qword [r13]
mov dword [rbp - 0x35], eax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [rax + 0x44]
mov dword [rsi + 0x32], ecx
mov ecx, dword [rax + 0x48]
mov eax, dword [rsi + 0x6e]
mov dword [rsi + 0x36], ecx
mov ecx, dword [rsi + 0xf6]
mov dword [rbp - 0x25], ecx
mov ecx, dword [rsi + 0x1f6]
mov dword [rbp - 0x2d], eax
mov eax, dword [rsi + 0x72]
mov dword [rbp - 0x21], ecx
mov dword [rbp - 0x29], eax
mov eax, dword [rsi + 0x22]
mov ecx, eax
mov dword [rbp - 0x31], eax
and ecx, 0x20
je 0x14000175b
mov eax, dword [rsi + 0x2e]
jmp 0x14000175e
mov eax, dword [rbp + 0x23]
test byte [rsi + 0x2a], 4
movups xmm0, xmmword [rsi + 0x7a]
mov dword [rbp - 0x39], eax
movdqu xmmword [rbp + 0xf], xmm0
je 0x1400017eb
mov eax, dword [rsi + 0x226]
test eax, eax
je 0x1400017eb
movsd xmm2, qword [0x14008e680]
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [rsi + 0x7a]
xorps xmm3, xmm3
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [rsi + 0x82]
cvtsi2sd xmm3, eax
mulsd xmm0, xmm3
mulsd xmm1, xmm3
divsd xmm0, xmm2
divsd xmm1, xmm2
cvttsd2si eax, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [rsi + 0x7e]
mov dword [rbp + 0xf], eax
mulsd xmm0, xmm3
divsd xmm0, xmm2
cvttsd2si eax, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [rsi + 0x86]
mov dword [rbp + 0x13], eax
cvttsd2si eax, xmm1
mulsd xmm0, xmm3
mov dword [rbp + 0x17], eax
divsd xmm0, xmm2
cvttsd2si eax, xmm0
mov dword [rbp + 0x1b], eax
mov eax, dword [rsi + 0x1aa]
mov dword [rsi + 0x6e], eax
mov eax, dword [rsi + 0x1ae]
mov dword [rsi + 0x72], eax
mov eax, dword [rsi + 0x1b6]
mov dword [rsi + 0xf6], eax
test ecx, ecx
je 0x140001816
mov eax, dword [rsi + 0x1d6]
mov dword [rsi + 0x2e], eax
movups xmm0, xmmword [rsi + 0x1c2]
mov eax, dword [rsi + 0x1d2]
mov rcx, qword [r13]
and dword [rsi + 0x226], 0
movdqu xmmword [rsi + 0x7a], xmm0
mov dword [rsi + 0x1f6], eax
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [rsi + 0x26]
lea rbx, [rsi + 0x1fa]
mov edx, 0x64
mov r9, rbx
lea r8d, [rdx + 7]
call fcn.14004564c
mov rcx, qword [rbx]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r14, rax
test edi, edi
jne 0x140001881
mov ecx, dword [rsi + 0x26]
lea r9, [rax + 0x54]
lea edx, [rdi + 0x64]
lea r8d, [rdi + 0x6c]
call fcn.14004564c
mov edi, eax
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
test edi, edi
jne 0x1400018df
mov ecx, dword [rsi + 0x26]
lea r9, [r14 + 0x60]
lea edx, [rdi + 0x64]
lea r8d, [rdi + 0x6d]
call fcn.14004564c
mov edi, eax
test eax, eax
jne 0x1400018df
mov ecx, dword [rsi + 0x26]
lea r9, [rsi + 0x1da]
lea edx, [rax + 0x64]
lea r8d, [rax + 0x68]
call fcn.14004564c
mov edi, eax
test eax, eax
jne 0x1400018df
mov ecx, dword [rsi + 0x26]
lea r9, [rsi + 0xde]
lea edx, [rax + 0x64]
lea r8d, [rax + 0x67]
call fcn.14004564c
mov edi, eax
test eax, eax
je 0x14000193b
or dword [rsi + 0x22], 0x40
mov r13, qword [rbp - 0x19]
cmp dword [rbp + 0x6f], 0
jne 0x1400018f1
and dword [rsi + 0x4a], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rbx, qword [rsp + 0xd0]
mov eax, edi
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [rbp + 0x23]
mov dword [rbp - 0x39], eax
mov eax, dword [rbp + 0x1f]
mov dword [rbp - 0x21], eax
mov eax, dword [rbp + 3]
mov dword [rbp - 0x25], eax
mov eax, dword [rbp - 1]
mov dword [rbp - 0x31], eax
mov eax, dword [rbp - 5]
mov dword [rbp - 0x29], eax
mov eax, dword [rbp - 9]
mov dword [rbp - 0x2d], eax
cmp dword [rbp + 0x6f], 0
mov ecx, 0x100
mov eax, dword [rsi + 0x22]
je 0x14000195a
test ecx, eax
je 0x140001956
mov dword [rbp + 0x77], 1
jmp 0x14000195e
or eax, ecx
jmp 0x140001960
test ecx, eax
je 0x140001963
xor eax, ecx
mov dword [rsi + 0x22], eax
mov r14d, dword [rsi + 0x4a]
cmp r14d, 0x23
jg 0x140001a3d
je 0x140001a35
cmp r14d, 0x13
jg 0x1400019da
cmp r14d, 0xf
jge 0x1400019ef
cmp r14d, 0xd
ja 0x140001994
mov eax, 0x3ec2
bt eax, r14d
jb 0x1400019ef
mov ebx, dword [rbp + 0x77]
mov rcx, qword [0x1400b8a28]
call qword [sym.imp.USER32.dll_SetCursor]
mov eax, dword [rbp + 0x7f]
mov ecx, 1
mov dword [0x140096f20], ecx
test eax, eax
je 0x140001c07
mov r8, qword [r13]
mov r9d, ebx
mov edx, dword [rsi + 0x26]
mov dword [rsp + 0x20], ecx
mov rcx, r15
call fcn.140026f40
mov ebx, eax
mov eax, dword [rbp + 0x7f]
jmp 0x140001c0a
cmp r14d, 0x17
je 0x140001a05
cmp r14d, 0x18
je 0x1400019ef
lea eax, [r14 - 0x1c]
cmp eax, 4
ja 0x140001994
mov rcx, rsi
mov dword [rbp + 0x7f], 1
mov ebx, 1
call fcn.140001220
jmp 0x140001997
test byte [rsi + 0x1b2], 2
je 0x140001a13
or eax, 2
jmp 0x140001a1a
test al, 2
je 0x140001a1d
xor eax, 2
mov dword [rsi + 0x22], eax
test byte [rsi + 0x1b2], 4
je 0x140001a2b
or eax, 4
jmp 0x140001a32
test al, 4
je 0x140001a35
xor eax, 4
mov dword [rsi + 0x22], eax
xor r12d, r12d
jmp 0x140001994
cmp r14d, 0x24
je 0x1400019ef
cmp r14d, 0x28
je 0x140001bd4
cmp r14d, 0x29
je 0x1400019ef
cmp r14d, 0x2a
jle 0x140001994
cmp r14d, 0x2c
jle 0x1400019ef
cmp r14d, 0x2d
je 0x140001ac5
cmp r14d, 0x30
je 0x140001a7b
lea eax, [r14 - 0x31]
cmp eax, 1
jmp 0x1400019ed
mov ecx, dword [rsi + 0x26]
lea r9, [rsi + 0xd2]
mov edx, 0x64
lea r8d, [rdx + 2]
call fcn.14004564c
mov ecx, dword [rsi + 0xfa]
mov eax, dword [rsi + 0x1d6]
mov dword [rbp - 0x39], ecx
mov dword [rsi + 0x1d6], ecx
mov ecx, 1
mov dword [rbp + 0x7f], ecx
mov dword [rbp + 0x77], ecx
mov rcx, rsi
mov dword [rsi + 0xfa], eax
call fcn.140001220
mov r14d, dword [rsi + 0x4a]
movups xmm0, xmmword [rsi + 0x3ec]
mov ecx, dword [rsi + 0x3e8]
mov eax, dword [rsi + 0x404]
mov r8d, dword [rsi + 0x29a]
mov edx, dword [rsi + 0x29e]
movups xmm2, xmmword [rsi + 0x3d8]
mov r10d, dword [rsi + 0x292]
mov r9d, dword [rsi + 0x296]
mov ebx, dword [rsi + 0x28e]
movups xmm1, xmmword [rsi + 0x2a6]
mov r11d, dword [rsi + 0x2be]
mov dword [rsi + 0x292], eax
mov eax, dword [rsi + 0x408]
mov dword [rsi + 0x296], eax
mov eax, dword [rsi + 0x40c]
mov dword [rsi + 0x29a], eax
mov eax, dword [rsi + 0x410]
mov dword [rsi + 0x29e], eax
mov eax, dword [rsi + 0x400]
mov dword [rsi + 0x28e], eax
mov eax, dword [rsi + 0x3fc]
movups xmmword [rsi + 0x3d8], xmm0
mov dword [rsi + 0x3e8], eax
movups xmm0, xmmword [rsi + 0x418]
mov eax, dword [rsi + 0x414]
movups xmmword [rsi + 0x3ec], xmm2
mov dword [rsi + 0x3fc], ecx
mov rcx, r15
mov dword [rsi + 0x40c], r8d
xor r8d, r8d
mov dword [rsi + 0x410], edx
xor edx, edx
movdqu xmmword [rsi + 0x2a6], xmm0
mov dword [rsi + 0x2be], eax
mov dword [rsi + 0x404], r10d
mov dword [rsi + 0x408], r9d
movdqu xmmword [rsi + 0x418], xmm1
mov dword [rsi + 0x400], ebx
mov dword [rsi + 0x414], r11d
call qword [sym.imp.USER32.dll_InvalidateRect]
bts dword [rsi + 0x22], 0xe
xor eax, eax
cmp r14d, 0x2d
cmovne eax, r12d
mov r12d, eax
jmp 0x140001994
mov ecx, dword [rsi + 0xfa]
xor r8d, r8d
mov eax, dword [rsi + 0x1d6]
xor edx, edx
mov dword [rsi + 0x1d6], ecx
xor r12d, r12d
mov rcx, r15
mov dword [rsi + 0xfa], eax
call qword [sym.imp.USER32.dll_InvalidateRect]
bts dword [rsi + 0x22], 0xe
jmp 0x140001994
mov ebx, dword [rbp - 0x11]
test r12d, r12d
je 0x140001c43
test eax, eax
jne 0x140001c1b
mov ecx, dword [rsi + 0x26]
call fcn.14000c6ec
mov r9, qword [r13]
mov r12d, 1
mov r8d, dword [rsi + 0x1f6]
mov rcx, r15
mov edx, dword [rsi + 0x26]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
call fcn.1400218fc
jmp 0x140001c4c
mov eax, dword [rbp - 0x35]
mov r12d, 1
test ebx, ebx
je 0x140001c54
mov edi, ebx
jmp 0x140001c59
test eax, eax
cmovne edi, eax
mov r8d, 0x6c
mov dword [rsp + 0x20], r12d
mov rdx, rsi
mov rcx, r15
call fcn.14003cdf0
and dword [rsp + 0x20], 0
mov r8d, 0x6a
mov rdx, rsi
mov rcx, r15
call fcn.14003cdf0
and dword [rsp + 0x20], 0
mov r8d, 0x6e
mov rdx, rsi
mov rcx, r15
call fcn.14003cdf0
mov ebx, dword [rbp - 0x1d]
test ebx, ebx
je 0x140001cb2
lea eax, [rdi + 1]
cmp eax, r12d
jbe 0x140001d49
or dword [rsi + 0x22], 0x40
or dword [rsi + 0x22], r12d
mov rcx, rsi
call fcn.140071a28
mov edx, 0x7d00
mov ecx, 2
call fcn.140078068
xor edx, edx
lea ecx, [rdx + 2]
call fcn.140078200
test ebx, ebx
je 0x1400018e3
mov rcx, r15
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
mov rdx, rsi
mov rbx, rax
call fcn.1400258c0
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [rbp - 0x31]
movups xmm0, xmmword [rbp + 0xf]
mov dword [rsi + 0x1b2], eax
mov eax, dword [rbp - 0x2d]
mov dword [rsi + 0x1aa], eax
mov eax, dword [rbp - 0x29]
mov dword [rsi + 0x1ae], eax
mov eax, dword [rbp - 0x25]
mov dword [rsi + 0x1b6], eax
mov eax, dword [rbp - 0x21]
mov dword [rsi + 0x1d2], eax
mov eax, dword [rbp - 0x39]
mov dword [rsi + 0x1d6], eax
movdqu xmmword [rsi + 0x1c2], xmm0
jmp 0x1400018e3
xor r8d, r8d
mov rdx, rsi
mov rcx, r15
call fcn.14000c56c
jmp 0x140001cbe