Function at 0x11cc9530
Capabilities:
Get graphical window text
Write clipboard data

Disassembly:
push 0xffffffffffffffff
push 0x11fa0e16
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x248
push ebx
push ebp
push esi
mov ebp, ecx
push edi
push 2
lea ecx, [esp + 0x48]
mov dword [esp + 0x44], ebp
call fcn.11e15fa0
xor ebx, ebx
push 0xffffffffffffffdd
lea ecx, [esp + 0x34]
mov dword [esp + 0x264], ebx
call fcn.11e15fa0
lea eax, [esp + 0x3c]
mov byte [esp + 0x260], 1
push eax
push ebx
mov dword [esp + 0x44], ebx
call fcn.11dd8410
add esp, 8
mov ecx, 0x1212b458
mov dword [esp + 0x2c], ebx
call fcn.11df4850
test eax, eax
je 0x11cc9734
mov ecx, 0x1212b5c0
call fcn.11da98e0
test al, 0x20
jne 0x11cc9734
cmp dword [ebp + 0x10], ebx
je 0x11cc9734
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, ebx
je 0x11cc9734
lea ecx, [esp + 0x2c]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [0x1212b464]
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
je 0x11cc961b
mov ecx, 0x1212b458
call fcn.11df4810
test eax, eax
je 0x11cc9734
push ebx
lea edx, [esp + 0x18]
push ebx
push edx
mov ecx, ebp
mov dword [esp + 0x20], ebx
call fcn.11ccd2e0
mov eax, dword [0x1212b464]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jne 0x11cc9734
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1c], ebx
cmp eax, ebx
mov dword [esp + 0x20], ebx
jne 0x11cc96f5
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x11cc96ec
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call dword [sym.imp.USER32.dll_WindowFromPoint]
mov esi, eax
cmp esi, ebx
je 0x11cc9734
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x52]
mov word [esp + 0x50], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x50]
push 0x103
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jle 0x11cc9734
lea ecx, [esp + 0x50]
push str.Collect_and_Paste_2.0
push ecx
call fcn.11e67e01
add esp, 8
test eax, eax
jne 0x11cc9734
lea edx, [esp + 0x10]
mov dword [ebp + 0x18], esi
push edx
mov dword [esp + 0x14], ebx
call fcn.11dd8450
mov eax, dword [0x12133f80]
add esp, 4
cmp eax, ebx
je 0x11cc96d9
mov eax, dword [esp + 0x10]
push eax
push esi
push str.OnSetClipboardData2_click_paste__hWnd_0x_x__bHasEncryptDataInOfficeClip__d_
push str.safeclipboard
push 2
call fcn.11ca5810
add esp, 0x14
cmp dword [esp + 0x10], ebx
je 0x11cc9734
mov eax, 1
mov dword [ebp + 4], eax
mov dword [ebp + 0x14], eax
jmp 0x11cc9734
cmp dword [ebp + 0xc], ebx
je 0x11cc9cec
mov ecx, 0x1212b5c0
call fcn.11d689a0
test eax, eax
jne 0x11cc9734
cmp dword [0x12133f80], ebx
je 0x11cc971f
push str.OnSetClipboardData2_HasEncryptDataInOfficeClip
push str.safeclipboard
push 2
call fcn.11ca5810
add esp, 0xc
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 1
push ecx
call fcn.11dd8460
add esp, 4
cmp dword [ebp + 0xc], ebx
je 0x11cc9cec
mov ecx, ebp
call fcn.11cccf60
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
mov esi, eax
mov eax, dword [0x12133f80]
cmp eax, ebx
je 0x11cc976e
push esi
push str.OnSetClipboardData2___1_bEncryptClip__d_
push str.safeclipboard
push 2
call fcn.11ca5810
add esp, 0x10
mov ecx, 0x1212b5c0
call fcn.11d689a0
test eax, eax
je 0x11cc9897
cmp esi, ebx
jne 0x11cc9897
cmp dword [0x12133f80], ebx
je 0x11cc97a4
push str.OnSetClipboardData2___2
push str.safeclipboard
push 2
call fcn.11ca5810
add esp, 0xc
lea ecx, [esp + 0x30]
call fcn.11e16060
mov esi, dword [esp + 0x268]
lea ecx, [esp + 0x18]
lea edx, [esp + 0x14]
push ecx
mov eax, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
mov ebp, dword [esi + 0x20]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x14]
push edx
push eax
push edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
call fcn.11e15b00
mov eax, dword [esp + 0x24]
add esp, 0x10
cmp eax, ebx
je 0x11cc9826
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esp + 0x270]
mov dword [esi + 0x24], edx
mov edx, dword [esp + 0x26c]
push ecx
push edx
push esi
mov dword [esi + 0x20], eax
call eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], ebp
mov dword [esi + 0x24], eax
mov dword [esi + 0xc], ebx
jmp 0x11cc9868
mov edi, dword [esi + 0x18]
cmp edi, ebx
je 0x11cc9868
mov eax, dword [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x26c]
push ecx
push edx
call edi
mov dword [esi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 8]
test eax, 0x800000
je 0x11cc9868
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi + 0x28], eax
mov esi, dword [esi + 0x14]
lea ecx, [esp + 0x30]
mov byte [esp + 0x260], 0
call fcn.11e15fd0
lea ecx, [esp + 0x44]
mov dword [esp + 0x260], 0xffffffff
call fcn.11e15fd0
mov eax, esi
jmp 0x11cc9de0
cmp dword [0x12133f80], ebx
je 0x11cc98b3
push str.OnSetClipboardData2___3
push str.safeclipboard
push 2
call fcn.11ca5810
add esp, 0xc
mov ecx, 0x1212b5c0
call fcn.11d689b0
test eax, eax
je 0x11cc98cf
mov ecx, 0x1212b5c0
call fcn.11da6570
test eax, eax
je 0x11cc98f3
mov ecx, 0x1212b5c0
call fcn.11da9350
test eax, eax
je 0x11cc98fa
cmp dword [0x1212c760], ebx
jne 0x11cc98fa
mov ecx, 0x1212b5c0
call fcn.11da8bc0
test eax, eax
je 0x11cc98fa
mov dword [ebp + 4], 1
mov esi, dword [esp + 0x268]
mov ebx, dword [esp + 0x270]
test ebx, ebx
mov ebp, dword [esi + 0x18]
mov dword [esp + 0x1c], ebp
je 0x11cc9be3
mov edi, dword [esp + 0x26c]
push edi
call fcn.11cc9490
add esp, 4
test eax, eax
je 0x11cc9b1b
push ebx
push eax
call ebp
push 1
push edi
push ebp
call fcn.11cc9e00
mov dword [esp + 0x1c], eax
mov eax, dword [0x12133f80]
add esp, 0xc
test eax, eax
je 0x11cc9960
push str.OnSetClipboardData2___SetEmptyClipboardData_2
push str.safeclipboard
push 2
call fcn.11ca5810
add esp, 0xc
mov ecx, 0x1212b5c0
call fcn.11d72ee0
mov ecx, 0x1212b5c0
mov ebp, eax
call fcn.11d73130
mov ecx, dword [0x12133f80]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x11cc999a
push eax
push ebp
push str.CSafeClipboard::OnSetClipboardData2_dwEnableTextLength__lu__bEnableTextCutOff__d_
push str.safeclipboard
push 4
call fcn.11ca5810
add esp, 0x14
test ebp, ebp
jbe 0x11cc9c9c
cmp edi, 1
jne 0x11cc9a1f
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov esi, eax
test esi, esi
je 0x11cc9c9c
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ebp, ecx
jae 0x11cc99d6
mov eax, dword [esp + 0x14]
test eax, eax
je 0x11cc9c9c
cmp ebp, ecx
jbe 0x11cc99da
mov ebp, ecx
lea eax, [ebp + 1]
push eax
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edi, eax
test edi, edi
je 0x11cc9a10
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push ebp
push esi
push eax
call fcn.11e68160
add esp, 0xc
push edi
call ebx
push edi
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
mov ecx, dword [esp + 0x270]
push ecx
call ebx
jmp 0x11cc9c9c
cmp edi, 0xd
jne 0x11cc9a9a
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov esi, eax
test esi, esi
je 0x11cc9c9c
push esi
call fcn.11e67d05
add esp, 4
cmp ebp, eax
jae 0x11cc9a50
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x11cc9c9c
cmp ebp, eax
jbe 0x11cc9a54
mov ebp, eax
lea edx, [ebp + ebp + 2]
push edx
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edi, eax
test edi, edi
je 0x11cc9a8b
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push ebp
push esi
push eax
call fcn.11e674bf
add esp, 0xc
push edi
call ebx
push edi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
mov eax, dword [esp + 0x270]
push eax
call ebx
jmp 0x11cc9c9c
cmp edi, 7
jne 0x11cc9c9c
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov esi, eax
test esi, esi
je 0x11cc9c9c
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ebp, ecx
jae 0x11cc9ad2
mov eax, dword [esp + 0x14]
test eax, eax
je 0x11cc9c9c
cmp ebp, ecx
jbe 0x11cc9ad6
mov ebp, ecx
lea ecx, [ebp + 1]
push ecx
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edi, eax
test edi, edi
je 0x11cc9b0c
push edi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push ebp
push esi
push eax
call fcn.11e68160
add esp, 0xc
push edi
call ebx
push edi
push 7
call dword [sym.imp.USER32.dll_SetClipboardData]
mov edx, dword [esp + 0x270]
push edx
call ebx
jmp 0x11cc9c9c
lea ecx, [esp + 0x30]
call fcn.11e16060
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov ebp, dword [esi + 0x1c]
mov dword [esp + 0x24], eax
xor eax, eax
lea edx, [esp + 0x10]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x18]
push eax
push ecx
push ebp
call fcn.11e15b00
mov eax, dword [esp + 0x28]
add esp, 0x10
test eax, eax
je 0x11cc9ba3
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x1c], edx
mov edx, dword [esp + 0x270]
mov dword [esi + 0x20], eax
push edx
push edi
push esi
mov dword [esi + 0x24], ecx
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esi + 0x14]
mov dword [esi + 0x1c], ebp
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov dword [esi + 0xc], ebx
mov dword [esp + 0x10], edx
jmp 0x11cc9c9c
mov ebp, dword [esi + 0x18]
test ebp, ebp
je 0x11cc9bd7
mov eax, dword [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
push ebx
push edi
call ebp
mov dword [esi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 8]
test eax, 0x800000
je 0x11cc9bd7
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x11cc9c9c
lea ecx, [esp + 0x30]
call fcn.11e16060
mov eax, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0x20]
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x18]
push edx
xor ebp, ebp
push eax
push edi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], ebp
call fcn.11e15b00
mov eax, dword [esp + 0x28]
add esp, 0x10
cmp eax, ebp
je 0x11cc9c5a
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebp, dword [esi + 0xc]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esp + 0x26c]
push 0
push ecx
push esi
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
call eax
mov edx, dword [esp + 0x28]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], edx
mov dword [esi + 0xc], ebp
jmp 0x11cc9c95
mov edi, dword [esi + 0x18]
cmp edi, ebp
je 0x11cc9c95
mov eax, dword [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [esp + 0x26c]
push ebp
push eax
call edi
mov dword [esi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 8]
test eax, 0x800000
je 0x11cc9c95
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi + 0x28], eax
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
test eax, eax
je 0x11cc9db7
mov esi, dword [esp + 0x40]
mov ecx, esi
call fcn.11cccf60
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x1c]
push 0
push edx
push eax
call fcn.11cc9e00
mov eax, dword [0x12133f80]
add esp, 0xc
test eax, eax
je 0x11cc9db7
push str.OnSetClipboardData2___SetEmptyClipboardData_3
push str.safeclipboard
push 2
call fcn.11ca5810
add esp, 0xc
jmp 0x11cc9db7
lea ecx, [esp + 0x30]
call fcn.11e16060
mov esi, dword [esp + 0x268]
lea edx, [esp + 0x10]
lea eax, [esp + 0x18]
push edx
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
mov ebp, dword [esi + 0x20]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x18]
push eax
push ecx
push edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ebx
call fcn.11e15b00
mov eax, dword [esp + 0x28]
add esp, 0x10
cmp eax, ebx
je 0x11cc9d6e
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x1c], edx
mov edx, dword [esp + 0x270]
mov dword [esi + 0x24], ecx
mov ecx, dword [esp + 0x26c]
push edx
push ecx
push esi
mov dword [esi + 0x20], eax
call eax
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], ebp
mov dword [esi + 0x24], edx
mov dword [esi + 0xc], ebx
jmp 0x11cc9db0
mov edi, dword [esi + 0x18]
cmp edi, ebx
je 0x11cc9db0
mov eax, dword [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x26c]
push eax
push ecx
call edi
mov dword [esi + 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 8]
test eax, 0x800000
je 0x11cc9db0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
lea ecx, [esp + 0x30]
mov byte [esp + 0x260], 0
call fcn.11e15fd0
lea ecx, [esp + 0x44]
mov dword [esp + 0x260], 0xffffffff
call fcn.11e15fd0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x258]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x254
ret 0xc