Function at 0x180039430
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov rbx, r8
mov r15, rcx
cmp dword [rcx], 0
jne 0x180039843
cmp qword [rdx], 0
jne 0x180039843
call fcn.180039400
cmp dword [0x1801df0a0], 0
je 0x18003949b
mov qword [rsp + 0x20], rbx
lea r9, str.BackupClipBoard_____08x_
lea r8, str.IMHookAPI
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
mov rcx, rbx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x180039843
xor r12d, r12d
mov dword [rsp + 0x40], r12d
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumClipboardFormats]
xor ebx, ebx
test eax, eax
je 0x1800394e6
cmp rbx, 0x100
jge 0x1800394e1
mov dword [r15 + rbx*4], eax
mov ecx, eax
call qword [sym.imp.USER32.dll_EnumClipboardFormats]
inc r12d
inc rbx
test eax, eax
jne 0x1800394c2
mov dword [rsp + 0x40], r12d
cmp dword [0x1801df0a0], 0
je 0x180039511
mov dword [rsp + 0x20], r12d
lea r9, str.BackupClipBoard_1___d_
lea r8, str.IMHookAPI
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
xor edi, edi
mov dword [rsp + 0xc8], edi
nop word [rax + rax]
cmp edi, r12d
jge 0x18003983d
xor esi, esi
mov qword [rsp + 0x50], rsi
xor r13d, r13d
mov qword [rsp + 0x58], r13
xor r14d, r14d
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x44], esi
cmp dword [0x1801df0a0], r14d
je 0x180039582
movsxd rax, edi
mov ecx, dword [r15 + rax*4]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], 2
lea r9, str.BackupClipBoard_2___d____d_
lea r8, str.IMHookAPI
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
movsxd rbx, edi
mov ecx, dword [r15 + rbx*4]
test ecx, ecx
je 0x18003979e
cmp ecx, 2
je 0x18003979e
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x18003979e
mov ecx, dword [r15 + rbx*4]
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rsi, rax
mov qword [rsp + 0x50], rax
cmp dword [0x1801df0a0], 0
je 0x1800395e5
mov qword [rsp + 0x20], rax
lea r9, str.BackupClipBoard_3___08x_
lea r8, str.IMHookAPI
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
test rsi, rsi
je 0x18003979e
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r13, rax
mov qword [rsp + 0x58], rax
cmp dword [0x1801df0a0], 0
je 0x18003962a
mov qword [rsp + 0x20], rax
lea r9, str.BackupClipBoard_4___08x_
lea r8, str.IMHookAPI
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
test r13, r13
je 0x18003979e
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalFlags]
mov ebx, eax
cmp dword [0x1801df0a0], 0
je 0x180039668
mov dword [rsp + 0x20], eax
lea r9, str.BackupClipBoard_5___d_
lea r8, str.IMHookAPI
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
cmp ebx, 0x8000
je 0x18003979e
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalSize]
mov rbx, rax
cmp dword [0x1801df0a0], 0
je 0x1800396ab
mov qword [rsp + 0x20], rax
lea r9, str.BackupClipBoard_6___d_
lea r8, str.IMHookAPI
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
test rbx, rbx
je 0x18003979e
mov rdx, rbx
mov ecx, 0x2042
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov r14, rax
mov qword [rsp + 0x60], rax
cmp dword [0x1801df0a0], 0
je 0x1800396f5
mov qword [rsp + 0x20], rax
lea r9, str.BackupClipBoard_7___08x_
lea r8, str.IMHookAPI
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
test r14, r14
je 0x18003979e
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov qword [rsp + 0x48], rax
cmp dword [0x1801df0a0], 0
je 0x18003973c
mov qword [rsp + 0x20], rax
lea r9, str.BackupClipBoard_8___08x_
lea r8, str.IMHookAPI
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x18003979e
mov r8, rbx
mov rdx, r13
mov rcx, rax
call fcn.1800a1360
movsxd r11, edi
mov rax, qword [rsp + 0xb8]
mov qword [rax + r11*8], r14
mov dword [rsp + 0x44], 1
cmp dword [0x1801df0a0], 0
je 0x18003979e
mov qword [rsp + 0x30], r14
mov eax, dword [r15 + r11*4]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
lea r9, str.BackupClipBoard_9___d____d____08x_
lea r8, str.IMHookAPI
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
nop
jmp 0x1800397c3
test r13, r13
je 0x1800397d1
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp qword [rsp + 0x48], 0
je 0x1800397e2
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp dword [rsp + 0x44], 0
jne 0x18003982f
cmp dword [0x1801df0a0], 0
je 0x18003982f
movsxd rcx, edi
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0x30], rax
mov eax, dword [r15 + rcx*4]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
lea r9, str.BackupClipBoard_Failed___d____d____08x_
lea r8, str.IMHookAPI
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
inc edi
mov dword [rsp + 0xc8], edi
jmp 0x180039520
call qword [sym.imp.USER32.dll_CloseClipboard]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret