Function at 0x1400982e0
Capabilities:
Get common file path
List drag and drop files
Open clipboard
Read clipboard data

Disassembly:
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x150]
sub rsp, 0x250
mov qword [rbp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x290], rbx
mov r13, r8
mov r15, rcx
xor r14d, r14d
mov dword [rsp + 0x30], r14d
mov rcx, rdx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x140098f89
lea edx, [r14 + 5]
lea rcx, [0x140180e58]
call qword [sym.imp.USER32.dll_GetPriorityClipboardFormat]
mov ebx, eax
mov edx, eax
dec edx
je 0x140098e0e
dec edx
je 0x140098972
sub edx, 0xb
je 0x140098e0e
dec edx
je 0x1400985c6
dec edx
jne 0x140098f83
lea ecx, [rdx + 0xf]
call qword [sym.imp.USER32.dll_GetClipboardData]
mov r12, rax
mov qword [rbp + 0x20], rax
test rax, rax
je 0x140098f83
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov qword [rbp + 0x40], rax
test rax, rax
je 0x140098f83
mov qword [rbp], r14
mov edi, r14d
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], r14
xor ebx, ebx
mov dword [rbp + 0x18], ebx
xor r9d, r9d
xor r8d, r8d
or edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
mov r13d, eax
mov dword [rbp + 0x1a8], eax
mov esi, ebx
test eax, eax
je 0x14009851c
or r12d, 0xffffffff
nop dword [rax + rax]
lea rcx, [0x14017bd30]
mov rdx, qword [0x14017bd30]
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x80], rbx
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x14009841f
mov edx, 0x104
lea rcx, [rbp - 0x80]
call fcn.1400020c0
mov rbx, qword [rbp - 0x80]
cmp dword [rbx - 0xc], 0x104
jl 0x140098511
mov dword [rbx - 0x10], 0x104
xor eax, eax
mov word [rbx + 0x208], ax
mov r9d, 0x104
mov r8, rbx
mov edx, esi
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
test eax, eax
je 0x1400984c6
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1400d4f10
test eax, eax
js 0x140098500
cmp eax, dword [rbx - 0xc]
jg 0x140098500
mov dword [rbx - 0x10], eax
cdqe
xor ecx, ecx
mov word [rbx + rax*2], cx
mov r13, rdi
mov qword [rbp - 0x70], rdi
cmp rdi, r14
jb 0x14009849e
lea rdx, [rdi + 1]
lea rcx, [rbp]
call fcn.14009b070
test al, al
je 0x1400984f5
mov rdi, qword [rbp + 8]
mov rax, qword [rbp]
lea rcx, [rax + r13*8]
mov qword [rbp - 0x60], rcx
test rcx, rcx
je 0x1400984b8
mov rdx, rbx
call fcn.140002ad0
nop
inc rdi
mov qword [rbp + 8], rdi
mov r13d, dword [rbp + 0x1a8]
lea rdx, [rbx - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400984e1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
inc esi
cmp esi, r13d
jae 0x14009850b
mov r14, qword [rbp + 0x10]
mov rdi, qword [rbp + 8]
jmp 0x1400983e0
mov ecx, 0x8007000e
call fcn.1400022b0
int3
mov ecx, 0x80070057
call fcn.1400022b0
nop
mov r12, qword [rbp + 0x20]
jmp 0x14009851c
mov ecx, 0x80070057
call fcn.1400022b0
nop
xor edi, edi
mov qword [rsp + 0x68], rdi
mov ecx, 0x2d8
call fcn.1400d5224
mov qword [rbp + 0x1a8], rax
test rax, rax
je 0x140098546
mov rcx, rax
call fcn.14002e380
mov rbx, rax
jmp 0x140098549
mov rbx, rdi
mov qword [rsp + 0x68], rbx
lea rax, [rbp]
mov qword [rsp + 0x20], rax
mov r9d, 3
mov r8, qword [rbp + 0x1a0]
mov rdx, rbx
mov rcx, r15
call fcn.140098fb0
test al, al
je 0x14009858f
mov qword [rbp + 0x30], rbx
lea rcx, [r15 + 0x70]
lea r8, [rbp + 0x30]
mov rdx, r15
call fcn.14009a500
mov rbx, rdi
mov qword [rsp + 0x68], rbx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
nop
test rbx, rbx
je 0x1400985b3
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax + VariantCopy]
mov qword [rsp + 0x68], rdi
lea rcx, [rbp]
call fcn.14009b190
jmp 0x140098f83
mov ecx, recv
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rsi, rax
test rax, rax
je 0x140098f83
lea rcx, [0x14017bd30]
mov rdx, qword [0x14017bd30]
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x50], rbx
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x14009861f
mov edx, 0x104
lea rcx, [rsp + 0x50]
call fcn.1400020c0
mov rbx, qword [rsp + 0x50]
cmp dword [rbx - 0xc], 0x104
jge 0x140098633
mov ecx, 0x80070057
call fcn.1400022b0
int3
mov dword [rbx - 0x10], 0x104
mov word [rbx + 0x208], r14w
mov rdx, rbx
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov edi, eax
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1400d4f10
test eax, eax
js 0x140098967
cmp eax, dword [rbx - 0xc]
jg 0x140098967
mov dword [rbx - 0x10], eax
movsxd rdx, eax
mov word [rbx + rdx*2], r14w
or r12d, 0xffffffff
cmp edi, 0x104
jae 0x14009895e
test edi, edi
je 0x14009895e
lea rcx, [0x14017bd30]
mov rax, qword [0x14017bd30]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x38], rdi
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x1400986d4
mov edx, 0x104
lea rcx, [rsp + 0x38]
call fcn.1400020c0
mov rdi, qword [rsp + 0x38]
cmp dword [rdi - 0xc], 0x104
jge 0x1400986e8
mov ecx, 0x80070057
call fcn.1400022b0
int3
mov dword [rdi - 0x10], 0x104
mov word [rdi + 0x208], r14w
mov r9, rdi
xor r8d, r8d
lea rdx, [0x1401325d8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
call fcn.1400d4f10
test eax, eax
js 0x140098953
cmp eax, dword [rdi - 0xc]
jg 0x140098953
mov dword [rdi - 0x10], eax
cdqe
mov word [rdi + rax*2], r14w
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.GDI32.dll_CopyEnhMetaFileW]
mov rbx, rax
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteEnhMetaFile]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteEnhMetaFile]
mov qword [rsp + 0x58], r14
mov ecx, 0x2d8
call fcn.1400d5224
mov qword [rbp + 0x1a8], rax
test rax, rax
je 0x14009877d
mov rcx, rax
call fcn.14002e380
mov rbx, rax
jmp 0x140098780
mov rbx, r14
mov qword [rsp + 0x58], rbx
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 2
mov r8, r13
mov rdx, rbx
mov rcx, r15
call fcn.140098fb0
test al, al
je 0x14009890d
lea rcx, [rbp + 0x50]
call fcn.140024710
nop
mov rdi, qword [rsp + 0x38]
lea rcx, [rdi - 0x18]
mov rsi, qword [rbp + 0x68]
add rsi, 0xffffffffffffffe8
cmp rcx, rsi
je 0x14009881b
cmp dword [rsi + 0x10], 0
jl 0x14009880b
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x14009880b
call fcn.140001d80
mov rdi, rax
mov ecx, r12d
lock xadd dword [rsi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1400987fc
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rinet_addr + 8]
lea rax, [rdi + 0x18]
mov qword [rbp + 0x68], rax
mov rdi, qword [rsp + 0x38]
jmp 0x14009881b
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rbp + 0x68]
call fcn.140002120
lea r14, [rbx + 0xe0]
mov qword [rbp + 0x1a8], r14
mov r13, qword [r14 + 8]
mov qword [rbp - 0x60], r13
cmp r13, qword [r14 + 0x10]
jb 0x140098852
lea rdx, [r13 + 1]
mov rcx, r14
call fcn.140033a80
test al, al
jne 0x140098852
mov ecx, 0x8007000e
call fcn.1400022b0
int3
imul r13, r13, 0x78
add r13, qword [r14]
mov qword [rbp - 0x70], r13
je 0x1400988dd
lea rax, vtable.SecC::CSerialObject.0
mov qword [r13], rax
lea rax, vtable.CLogFileInfo.0
mov qword [r13], rax
mov eax, dword [rbp + 0x58]
mov dword [r13 + 8], eax
mov eax, dword [rbp + 0x5c]
mov dword [r13 + 0xc], eax
mov eax, dword [rbp + 0x60]
mov dword [r13 + 0x10], eax
mov eax, dword [rbp + 0x64]
mov dword [r13 + 0x14], eax
lea rsi, [r13 + 0x18]
mov qword [rsp + 0x78], rsi
mov rcx, qword [rbp + 0x68]
add rcx, 0xffffffffffffffe8
call fcn.140001d80
add rax, 0x18
mov qword [rsi], rax
lea rsi, [r13 + 0x20]
mov qword [rsp + 0x78], rsi
mov rcx, qword [rbp + 0x70]
add rcx, 0xffffffffffffffe8
call fcn.140001d80
add rax, 0x18
mov qword [rsi], rax
mov rax, qword [rbp + 0x78]
mov qword [r13 + 0x28], rax
lea rcx, [r13 + 0x30]
call fcn.14002d2b0
nop
inc qword [r14 + 8]
mov qword [rsp + 0x78], rbx
lea rcx, [r15 + 0x70]
lea r8, [rsp + 0x78]
mov rdx, r15
call fcn.14009a500
xor r14d, r14d
mov ebx, r14d
mov qword [rsp + 0x58], rbx
lea rcx, [rbp + 0x50]
call fcn.140025290
jmp 0x140098912
mov rdi, qword [rsp + 0x38]
test rbx, rbx
je 0x14009892c
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax + VariantCopy]
mov qword [rsp + 0x58], r14
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009894c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rbx, qword [rsp + 0x50]
jmp 0x14009895e
mov ecx, 0x80070057
call fcn.1400022b0
nop
lea rdx, [rbx - 0x18]
jmp 0x140098f6c
mov ecx, 0x80070057
call fcn.1400022b0
nop
mov ecx, 2
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rbx, rax
test rax, rax
je 0x140098f83
lea rax, vtable.ATL::CImage.0
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], r14
mov word [rbp - 0x28], r14w
or r12d, 0xffffffff
mov dword [rbp - 0x24], r12d
mov dword [rbp - 0x20], 0xffffffff
mov qword [rbp - 0x18], r14
mov dword [rbp - 0x10], r14d
mov qword [rbp - 8], r14
lea rcx, [0x140181720]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc dword [0x140181748]
lea rcx, [0x140181720]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov qword [rbp - 0x48], rbx
xor edx, edx
lea rcx, [rbp - 0x50]
call fcn.14007f030
lea rcx, [0x14017bd30]
mov rax, qword [0x14017bd30]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x48], rbx
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x140098a36
mov edx, 0x104
lea rcx, [rsp + 0x48]
call fcn.1400020c0
mov rbx, qword [rsp + 0x48]
cmp dword [rbx - 0xc], 0x104
jge 0x140098a4a
mov ecx, 0x80070057
call fcn.1400022b0
int3
mov dword [rbx - 0x10], 0x104
mov word [rbx + 0x208], r14w
mov rdx, rbx
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov edi, eax
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1400d4f10
test eax, eax
js 0x140098e03
cmp eax, dword [rbx - 0xc]
jg 0x140098e03
mov dword [rbx - 0x10], eax
movsxd rcx, eax
mov word [rbx + rcx*2], r14w
cmp edi, 0x104
jae 0x140098dd9
test edi, edi
je 0x140098dd9
lea rcx, [0x14017bd30]
mov rax, qword [0x14017bd30]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x40], rdi
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x140098ae7
mov edx, 0x104
lea rcx, [rsp + 0x40]
call fcn.1400020c0
mov rdi, qword [rsp + 0x40]
cmp dword [rdi - 0xc], 0x104
jge 0x140098afb
mov ecx, 0x80070057
call fcn.1400022b0
int3
mov dword [rdi - 0x10], 0x104
mov word [rdi + 0x208], r14w
mov r9, rdi
xor r8d, r8d
lea rdx, [0x1401325d0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
call fcn.1400d4f10
test eax, eax
js 0x140098dce
cmp eax, dword [rdi - 0xc]
jg 0x140098dce
mov dword [rdi - 0x10], eax
cdqe
mov word [rdi + rax*2], r14w
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.140097620
mov r11d, r14d
cmp qword [rbp - 0x48], r11
setne r11b
test r11d, r11d
jne 0x140098b6e
mov ecx, 0x80004005
call fcn.1400022b0
int3
mov eax, r14d
cmp qword [rbp - 0x18], rax
sete al
test eax, eax
jne 0x140098b87
mov ecx, 0x80004005
call fcn.1400022b0
int3
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], r14
mov dword [rbp - 0x24], r12d
mov dword [rbp - 0x20], 0xffffffff
mov word [rbp - 0x28], 0
mov qword [rsp + 0x60], r14
mov ecx, 0x2d8
call fcn.1400d5224
mov qword [rbp + 0x1a8], rax
test rax, rax
je 0x140098bd0
mov rcx, rax
call fcn.14002e380
mov rbx, rax
jmp 0x140098bd3
mov rbx, r14
mov qword [rsp + 0x60], rbx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 4
mov r8, r13
mov rdx, rbx
mov rcx, r15
call fcn.140098fb0
test al, al
je 0x140098d88
lea rcx, [rbp + 0xd0]
call fcn.140024710
nop
mov rdi, qword [rsp + 0x40]
lea rcx, [rdi - 0x18]
mov rsi, qword [rbp + 0xe8]
add rsi, 0xffffffffffffffe8
cmp rcx, rsi
je 0x140098c7a
cmp dword [rsi + 0x10], 0
jl 0x140098c67
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x140098c67
call fcn.140001d80
mov rdi, rax
mov ecx, r12d
lock xadd dword [rsi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140098c55
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rinet_addr + 8]
lea rax, [rdi + 0x18]
mov qword [rbp + 0xe8], rax
mov rdi, qword [rsp + 0x40]
jmp 0x140098c7a
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rbp + 0xe8]
call fcn.140002120
lea r14, [rbx + 0xe0]
mov qword [rbp + 0x1a8], r14
mov r13, qword [r14 + 8]
mov qword [rbp - 0x60], r13
cmp r13, qword [r14 + 0x10]
jb 0x140098cb1
lea rdx, [r13 + 1]
mov rcx, r14
call fcn.140033a80
test al, al
jne 0x140098cb1
mov ecx, 0x8007000e
call fcn.1400022b0
int3
imul r13, r13, 0x78
add r13, qword [r14]
mov qword [rbp - 0x70], r13
je 0x140098d55
lea rax, vtable.SecC::CSerialObject.0
mov qword [r13], rax
lea rax, vtable.CLogFileInfo.0
mov qword [r13], rax
mov eax, dword [rbp + 0xd8]
mov dword [r13 + 8], eax
mov eax, dword [rbp + 0xdc]
mov dword [r13 + 0xc], eax
mov eax, dword [rbp + 0xe0]
mov dword [r13 + 0x10], eax
mov eax, dword [rbp + 0xe4]
mov dword [r13 + 0x14], eax
lea rsi, [r13 + 0x18]
mov qword [rsp + 0x70], rsi
mov rcx, qword [rbp + 0xe8]
add rcx, 0xffffffffffffffe8
call fcn.140001d80
add rax, 0x18
mov qword [rsi], rax
lea rsi, [r13 + 0x20]
mov qword [rsp + 0x70], rsi
mov rcx, qword [rbp + 0xf0]
add rcx, 0xffffffffffffffe8
call fcn.140001d80
add rax, 0x18
mov qword [rsi], rax
mov rax, qword [rbp + 0xf8]
mov qword [r13 + 0x28], rax
lea rcx, [r13 + 0x30]
call fcn.14002d2b0
nop
inc qword [r14 + 8]
mov qword [rsp + 0x70], rbx
lea rcx, [r15 + 0x70]
lea r8, [rsp + 0x70]
mov rdx, r15
call fcn.14009a500
xor r14d, r14d
mov ebx, r14d
mov qword [rsp + 0x60], rbx
lea rcx, [rbp + 0xd0]
call fcn.140025290
jmp 0x140098d8d
mov rdi, qword [rsp + 0x40]
test rbx, rbx
je 0x140098da7
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax + VariantCopy]
mov qword [rsp + 0x60], r14
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140098dc7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rbx, qword [rsp + 0x48]
jmp 0x140098dd9
mov ecx, 0x80070057
call fcn.1400022b0
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x140098df5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
lea rcx, [rbp - 0x50]
call fcn.14007e640
jmp 0x140098f83
mov ecx, 0x80070057
call fcn.1400022b0
nop
mov ecx, eax
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rsi, rax
test rax, rax
je 0x140098f83
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
je 0x140098f83
mov rdx, rax
cmp ebx, 1
jne 0x140098e4a
lea rcx, [rbp + 0x38]
call fcn.140035370
nop
mov edi, ebx
jmp 0x140098e59
lea rcx, [rbp + 0x28]
call fcn.140002ad0
nop
mov edi, 2
mov dword [rsp + 0x30], edi
mov rcx, qword [rax]
sub rcx, 0x18
call fcn.140001d80
add rax, 0x18
mov qword [rbp - 0x78], rax
or r12d, 0xffffffff
test dil, 2
je 0x140098ea5
and edi, 0xfffffffd
mov dword [rsp + 0x30], edi
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140098ea1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov edi, dword [rsp + 0x30]
test dil, 1
je 0x140098ed1
and edi, 0xfffffffe
mov dword [rsp + 0x30], edi
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140098ed1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov qword [rbp - 0x68], r14
mov ecx, 0x2d8
call fcn.1400d5224
mov qword [rbp + 0x1a8], rax
test rax, rax
je 0x140098ef8
mov rcx, rax
call fcn.14002e380
mov rbx, rax
jmp 0x140098efb
mov rbx, r14
mov qword [rbp - 0x68], rbx
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, r13
mov rdx, rbx
mov rcx, r15
call fcn.140098fb0
test al, al
je 0x140098f3c
test rbx, rbx
jne 0x140098f2a
mov rdx, r14
jmp 0x140098f34
mov rax, qword [rbx]
movsxd rdx, dword [rax + 4]
add rdx, rbx
mov rcx, r15
call fcn.140036480
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
nop
test rbx, rbx
je 0x140098f60
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax + VariantCopy]
mov qword [rbp - 0x68], r14
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x140098f83
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rbx, qword [rsp + 0x290]
add rsp, 0x250
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret