Function at 0x11ccc080
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push 0xffffffffffffffff
push 0x11fa0fcc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x258
push ebx
push ebp
push esi
push edi
push 0xffffffffffffffdd
lea ecx, [esp + 0x2c]
call fcn.11e15fa0
mov eax, dword [0x12133f80]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x270], edi
je 0x11ccc0de
mov ecx, dword [esp + 0x284]
mov eax, dword [0x12126854]
push ecx
push eax
push str.__s__OnDoDragDrop___Called__dwOKEffect__lu_
push str.SafeClipboard
push 2
call fcn.11ca5810
add esp, 0x14
mov ecx, 0x1212b5c0
call fcn.11d681c0
test eax, eax
jne 0x11ccc1fd
mov ecx, 0x1212b458
call fcn.11df40d0
test eax, eax
je 0x11ccc110
mov ecx, 0x1212b5c0
call fcn.11db90c0
test eax, eax
je 0x11ccc1fd
lea ecx, [esp + 0x28]
call fcn.11e16060
mov esi, dword [esp + 0x278]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x1c]
push eax
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0x20]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x18]
push ecx
xor ebp, ebp
push edx
push edi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x20], ebp
call fcn.11e15b00
mov eax, dword [esp + 0x2c]
add esp, 0x10
cmp eax, ebp
je 0x11ccc1a7
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esp + 0x288]
mov ebp, dword [esi + 0xc]
mov dword [esi + 0x24], edx
mov edx, dword [esp + 0x284]
push ecx
mov ecx, dword [esp + 0x284]
push edx
mov edx, dword [esp + 0x284]
push ecx
push edx
push esi
mov dword [esi + 0x20], eax
call eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], eax
mov dword [esi + 0xc], ebp
jmp 0x11ccc858
mov edi, dword [esi + 0x18]
cmp edi, ebp
je 0x11ccc858
mov eax, dword [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [esp + 0x288]
mov edx, dword [esp + 0x284]
mov eax, dword [esp + 0x280]
push ecx
mov ecx, dword [esp + 0x280]
push edx
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 0x11ccc858
jmp 0x11ccc84f
mov ecx, 0x1212b458
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], edi
call fcn.11df40d0
test eax, eax
je 0x11ccc5fa
xor edx, edx
mov eax, 1
mov dword [esp + 0x38], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x34]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x27c]
push edx
lea edx, [esp + 0x50]
mov ecx, dword [eax]
push edx
push eax
mov word [esp + 0x58], 0xf
mov dword [esp + 0x5c], edi
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x40], edi
call dword [ecx + 0xc]
mov eax, dword [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebp, eax
xor ebx, ebx
cmp ebp, edi
je 0x11ccc2a8
push 2
lea ecx, [esp + 0x44]
call fcn.11e15fa0
push edi
push edi
push 0xffffffffffffffff
push ebp
mov byte [esp + 0x280], 1
call dword [sym.imp.SHELL32.dll_DragQueryFileW]
lea ecx, [esp + 0x40]
mov ebx, eax
mov byte [esp + 0x270], 0
call fcn.11e15fd0
cmp dword [0x12133f80], edi
je 0x11ccc2cb
mov eax, dword [0x12126854]
push ebx
push eax
push str.__s__OnDoDragDrop___PDM_File_Num__d__
push str.SafeClipboard
push 2
call fcn.11ca5810
add esp, 0x14
mov ecx, 0x1212b5c0
call fcn.11d903d0
mov esi, eax
mov ecx, 0x1212b5c0
mov dword [esp + 0x10], esi
call fcn.11d86270
cmp ebx, edi
mov dword [esp + 0x20], eax
jbe 0x11ccc469
cmp eax, edi
jne 0x11ccc2fd
cmp esi, edi
je 0x11ccc469
push 2
lea ecx, [esp + 0x44]
call fcn.11e15fa0
mov byte [esp + 0x270], 2
mov word [esp + 0x60], di
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x62]
xor esi, esi
rep stosd dword es:[edi], eax
test ebx, ebx
stosw word es:[edi], ax
jle 0x11ccc456
lea ecx, [esp + 0x60]
push 0x104
push ecx
push esi
push ebp
call dword [sym.imp.SHELL32.dll_DragQueryFileW]
mov eax, dword [0x12133f80]
test eax, eax
je 0x11ccc369
mov eax, dword [0x12126854]
lea edx, [esp + 0x60]
push edx
push esi
push eax
push str.__s__OnDoDragDrop_____d_File__s__
push str.SafeClipboard
push 2
call fcn.11ca5810
add esp, 0x18
mov eax, dword [esp + 0x10]
test eax, eax
je 0x11ccc388
lea eax, [esp + 0x60]
mov ecx, 0x1212b5c0
push eax
call fcn.11d6b710
test eax, eax
jne 0x11ccc426
mov eax, dword [esp + 0x20]
test eax, eax
je 0x11ccc41b
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x11ccc41b
push 0
lea ecx, [esp + 0x64]
push 0
push ecx
mov ecx, 0x1212b5c0
call fcn.11d7b650
lea edx, [esp + 0x60]
mov edi, eax
push edx
mov dword [esp + 0x28], edi
call fcn.11cbc4e0
add esp, 4
mov dword [esp + 0x18], eax
test edi, edi
jne 0x11ccc3e3
test eax, eax
jne 0x11ccc3e3
lea eax, [esp + 0x60]
push 1
push eax
mov ecx, 0x1212b5c0
call fcn.11d7c540
test eax, eax
je 0x11ccc41b
mov eax, dword [0x12133f80]
test eax, eax
je 0x11ccc40b
mov eax, dword [0x12126854]
lea ecx, [esp + 0x60]
push ecx
push eax
push str.__s__OnDoDragDrop___forbid_file__s__
push str.SafeClipboard
push 2
call fcn.11ca5810
add esp, 0x14
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], 1
test eax, eax
je 0x11ccc456
inc esi
cmp esi, ebx
jl 0x11ccc32e
jmp 0x11ccc456
mov eax, dword [0x12133f80]
test eax, eax
je 0x11ccc44e
mov eax, dword [0x12126854]
lea edx, [esp + 0x60]
push edx
push eax
push str.__s__OnDoDragDrop___forbid_PDM_file__s__
push str.SafeClipboard
push 2
call fcn.11ca5810
add esp, 0x14
mov dword [esp + 0x14], 1
lea ecx, [esp + 0x40]
mov byte [esp + 0x270], 0
call fcn.11e15fd0
xor edi, edi
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp ebx, edi
jne 0x11ccc4b1
mov ecx, 0x1212b5c0
call fcn.11d71190
test eax, eax
je 0x11ccc50d
mov eax, dword [0x12133f80]
mov dword [esp + 0x14], 1
cmp eax, edi
je 0x11ccc4b1
mov eax, dword [0x12126854]
push eax
push str.__s__OnDoDragDrop___forbid_PDM_
push str.SafeClipboard
push 2
call fcn.11ca5810
add esp, 0x10
mov ecx, 0x1212b5c0
call fcn.11d6ba40
test eax, eax
jne 0x11ccc5fa
cmp dword [esp + 0x14], edi
je 0x11ccc5fa
cmp dword [0x12133f80], edi
je 0x11ccc4ef
mov eax, dword [0x12126854]
push eax
push str.__s__OnDoDragDrop___forbid_PDM_Real_
push str.SafeClipboard
push 2
call fcn.11ca5810
add esp, 0x10
lea ecx, [esp + 0x28]
mov dword [esp + 0x270], 0xffffffff
call fcn.11e15fd0
mov eax, 0x40101
jmp 0x11ccc871
lea ecx, [esp + 0x28]
call fcn.11e16060
mov esi, dword [esp + 0x278]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x10]
push ecx
mov eax, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
mov ebp, dword [esi + 0x20]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x20]
push edx
xor ebx, ebx
push eax
push edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.11e15b00
mov eax, dword [esp + 0x20]
add esp, 0x10
cmp eax, ebx
je 0x11ccc5a4
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esp + 0x288]
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x24], edx
mov edx, dword [esp + 0x284]
push ecx
mov ecx, dword [esp + 0x284]
push edx
mov edx, dword [esp + 0x284]
push ecx
push edx
push esi
mov dword [esi + 0x20], eax
call eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], ebp
mov dword [esi + 0x24], eax
mov dword [esi + 0xc], ebx
jmp 0x11ccc858
mov edi, dword [esi + 0x18]
cmp edi, ebx
je 0x11ccc858
mov eax, dword [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [esp + 0x288]
mov edx, dword [esp + 0x284]
mov eax, dword [esp + 0x280]
push ecx
mov ecx, dword [esp + 0x280]
push edx
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 0x11ccc858
jmp 0x11ccc84f
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov dword [0x121248bc], edx
mov edx, dword [esp + 0x18]
mov dword [0x121248c4], ecx
push 1
push 0x12124898
lea ecx, [esp + 0x3c]
mov dword [0x121248c0], eax
mov dword [0x121248c8], edx
call fcn.11e8c590
mov eax, dword [esp + 0x280]
mov byte [esp + 0x270], 3
mov esi, dword [eax]
mov eax, dword [0x12133f80]
cmp eax, edi
je 0x11ccc66c
mov ecx, dword [esi + 0xc]
lea eax, [esi + 0xc]
push 0x11ccbb90
push eax
push ecx
push str.OnDoDragDrop____pVtbl__QueryContinueDrag__x___pVtbl__QueryContinueDrag__x___MyQueryContinueDrag__x_
push str.IPG_18501
push 2
call fcn.11ca5810
add esp, 0x18
mov eax, dword [esi + 0xc]
add esi, 0xc
cmp eax, 0x11ccbb90
je 0x11ccc761
mov eax, dword [0x12124884]
xor ebx, ebx
cmp eax, edi
jle 0x11ccc6cf
mov eax, dword [0x12124880]
mov ecx, dword [0x12133f80]
test ecx, ecx
je 0x11ccc6b5
mov edx, dword [edi + eax + 4]
push edx
push str.OnDoDragDrop____lpVTable_Compare__x_
push str.SafeClipboard
push 2
call fcn.11ca5810
mov eax, dword [0x12124880]
add esp, 0x10
cmp dword [edi + eax + 4], esi
je 0x11ccc761
mov ecx, dword [0x12124884]
inc ebx
add edi, 0xc
cmp ebx, ecx
jl 0x11ccc68d
xor edi, edi
mov ebp, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [esp + 0x18]
push eax
push 0x40
push 4
push esi
mov dword [esp + 0x28], edi
call ebp
test eax, eax
je 0x11ccc73e
mov edi, dword [0x12124884]
mov ebx, dword [esi]
xor ecx, ecx
cmp edi, edi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
jl 0x11ccc70f
lea edx, [edi + 1]
push 0xffffffffffffffff
push edx
mov ecx, 0x12124880
call fcn.11ccdf50
mov ecx, dword [0x12124880]
lea eax, [edi + edi*2]
push 0
lea edx, [ecx + eax*4]
mov eax, dword [esp + 0x284]
mov dword [edx], eax
mov dword [edx + 4], esi
mov dword [edx + 8], ebx
mov ecx, dword [esp + 0x1c]
push ecx
push 4
push esi
mov dword [esi], 0x11ccbb90
call ebp
jmp 0x11ccc761
mov eax, dword [0x12133f80]
test eax, eax
je 0x11ccc761
mov eax, dword [0x12126854]
push eax
push str.__s__CSafeClipboard::OnDoDragDrop:_VirtualProtect._Failed._Cant_Hook___n
push str.SafeDoc
push 4
call fcn.11ca5810
add esp, 0x10
lea ecx, [esp + 0x34]
mov byte [esp + 0x270], 0
call fcn.11e8c5f0
lea ecx, [esp + 0x28]
call fcn.11e16060
mov esi, dword [esp + 0x278]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x18]
push eax
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0x1c]
mov ebp, dword [esi + 0x20]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x28]
push ecx
xor ebx, ebx
push edx
push edi
mov dword [esp + 0x34], 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 0x11ccc806
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esp + 0x288]
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x24], edx
mov edx, dword [esp + 0x284]
push ecx
mov ecx, dword [esp + 0x284]
push edx
mov edx, dword [esp + 0x284]
push ecx
push edx
push esi
mov dword [esi + 0x20], eax
call eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], ebp
mov dword [esi + 0x24], eax
mov dword [esi + 0xc], ebx
jmp 0x11ccc858
mov edi, dword [esi + 0x18]
cmp edi, ebx
je 0x11ccc858
mov eax, dword [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [esp + 0x288]
mov edx, dword [esp + 0x284]
mov eax, dword [esp + 0x280]
push ecx
mov ecx, dword [esp + 0x280]
push edx
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 0x11ccc858
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi + 0x28], eax
mov esi, dword [esi + 0x14]
lea ecx, [esp + 0x28]
mov dword [esp + 0x270], 0xffffffff
test byte [eax + esi*2], ah
add al, byte [eax]
add bh, bh
invalid
invalid
invalid
call fcn.11e15fd0
mov eax, esi
mov ecx, dword [esp + 0x268]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x264
ret 0x14