Function at 0x44ea33
Capabilities:
Open clipboard

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 8], edi
call fcn.0044e6bc
mov esi, eax
test esi, esi
jne 0x44ea66
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x44ea83
cmp edi, ecx
jne 0x44ea83
or dword [edi + 0x34], 0xffffffff
call fcn.0045f750
mov esi, eax
test esi, esi
je 0x44ea83
and dword [ebp + 0x10], 0
cmp dword [ebp + 8], 0
push 1
pop ebx
jne 0x44ea8e
lea eax, [ebp + 8]
push eax
call dword [sym.imp.ole32.dll_OleGetClipboard]
cmp dword [ebp + 8], 0
jne 0x44ea8b
or eax, 0xffffffff
jmp 0x44edd4
mov dword [ebp + 0x10], ebx
cmp dword [ebp + 0xc], 0
jne 0x44eabd
movzx eax, word [0x4d8786]
push eax
push dword [ebp + 8]
call fcn.004728a9
pop ecx
cmp eax, 0xffffffff
pop ecx
mov dword [ebp + 0xc], eax
jne 0x44eab3
mov dword [ebp + 0xc], ebx
jmp 0x44eac3
cmp dword [ebp + 0xc], 4
je 0x44eabd
and dword [ebp + 0xc], 0xfffffffb
cmp dword [ebp + 0xc], 7
ja 0x44eb17
mov eax, dword [0x4e9e94]
mov ecx, dword fs:[0x2c]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi + 4]
cmp dword [eax + 0x98], 0
je 0x44eb17
movzx eax, word [0x4d8796]
push eax
push dword [ebp + 8]
call fcn.004728a9
pop ecx
cmp eax, 0xffffffff
pop ecx
jne 0x44eb17
mov eax, dword [edi + 4]
push dword [eax + 0x98]
movzx eax, word [0x4d8796]
push eax
push dword [ebp + 8]
call fcn.00472cc5
add esp, 0xc
mov ecx, dword [ebp + 0xc]
xor eax, eax
cmp ecx, 2
mov dword [ebp - 0x14], eax
mov edi, ebx
jne 0x44eb2a
push 5
jmp 0x44eb39
cmp ecx, ebx
jne 0x44eb32
push 9
jmp 0x44eb39
cmp ecx, 4
jne 0x44eb3a
push 0xd
pop edi
lea edx, [ebp + 0xc]
mov dword [ebp - 0xc], ecx
push edx
mov ecx, dword [esi]
push dword [ebp - 0x14]
push eax
push edi
push dword [ebp + 8]
push esi
call dword [ecx + 0xc]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ecx]
call dword [eax + 0xc]
xor eax, eax
cmp dword [ebp - 0x10], eax
jl 0x44ebb8
cmp dword [ebp + 0xc], eax
je 0x44ebb8
mov eax, dword [esi]
push esi
call dword [eax + 4]
push ebx
push ebx
lea ecx, [ebp - 0x18]
call fcn.004750fa
lea eax, [ebp + 0xc]
mov ecx, dword [esi]
push eax
xor eax, eax
push eax
and edi, 0xfffffffe
push eax
push edi
push dword [ebp + 8]
push esi
call dword [ecx + 0x18]
lea ecx, [ebp - 0x18]
mov edi, eax
call fcn.0047514f
test edi, edi
jl 0x44eba9
push dword [ebp + 0xc]
mov ecx, dword [ebp - 8]
push dword [ebp + 8]
call fcn.0044ee79
jmp 0x44ebad
or dword [ebp + 0xc], 0xffffffff
mov eax, dword [esi]
push esi
call dword [eax + 8]
jmp 0x44ed96
or dword [ebp + 0xc], 0xffffffff
cmp dword [ebp - 0x10], eax
jl 0x44ebc7
mov eax, dword [esi]
push esi
call dword [eax + 0x14]
cmp dword [ebp + 0x10], 0
je 0x44edc9
cmp dword [ebp - 0xc], ebx
jne 0x44ed96
mov ecx, dword [ebp - 8]
call fcn.0041d8dd
test eax, eax
je 0x44ed96
mov eax, dword [ebp - 8]
test byte [eax + 0x27], 0x40
je 0x44ed96
push ebx
push 0x7f02
push ebx
lea ecx, [ebp - 0x30]
call fcn.00402bd9
mov eax, dword [0x4cfce8]
mov ecx, dword [ebp - 8]
mov dword [ebp - 4], eax
lea edx, [ebp - 0xc]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax - 8]
cmp byte [ecx + eax - 1], 0x5c
je 0x44ec38
lea eax, [ebp + 0x13]
lea ecx, [ebp - 0xc]
push eax
push ebx
mov byte [ebp + 0x13], 0x5c
call fcn.00402f96
mov eax, dword [ebp + 8]
or dword [ebp - 0x38], 0xffffffff
lea edx, [ebp - 0x24]
xor esi, esi
push edx
lea edx, [ebp - 0x44]
mov word [ebp - 0x44], 8
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], ebx
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0xc]
test eax, eax
mov edi, str.x2scrap
jne 0x44ecc5
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
cmp eax, esi
mov dword [ebp + 0x10], eax
je 0x44ecbb
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_GlobalSize]
push esi
push eax
lea eax, [ebp - 0xc]
push edi
push eax
lea eax, [ebp + 0x10]
push dword [ebp + 0x10]
push eax
call fcn.0044e74a
add esp, 0x18
lea ecx, [ebp - 4]
push eax
call fcn.00402dbe
lea ecx, [ebp + 0x10]
call fcn.004010b4
mov eax, dword [ebp - 4]
cmp dword [eax - 8], esi
je 0x44ecb2
mov dword [ebp + 0xc], ebx
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.ole32.dll_ReleaseStgMedium]
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebp + 0xc], 0xffffffff
mov dword [ebp + 0x10], esi
jne 0x44ed35
lea eax, [ebp - 0x10]
push eax
call fcn.00472dbd
mov eax, dword [ebp - 0x10]
pop ecx
cmp dword [eax - 8], esi
je 0x44ed2d
push 0x4d4a60
push edi
push ecx
lea eax, [ebp - 0xc]
mov ecx, esp
push eax
call fcn.00402c35
lea eax, [ebp - 0x14]
push eax
call fcn.0046c13d
add esp, 0x10
lea ecx, [ebp - 4]
push eax
call fcn.00402dbe
lea ecx, [ebp - 0x14]
call fcn.004010b4
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
call fcn.00470724
pop ecx
test eax, eax
pop ecx
je 0x44ed2d
mov dword [ebp + 0xc], ebx
lea ecx, [ebp - 0x10]
call fcn.004010b4
cmp dword [ebp + 0xc], ebx
jne 0x44ed77
mov edi, dword [ebp + 0x18]
cmp edi, esi
je 0x44ed77
lea eax, [ebp - 4]
push esi
push eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], ebx
call fcn.0041458a
mov eax, dword [edi]
push 3
push dword [ebp - 0x18]
push edi
call dword [eax + 0x38]
cmp dword [ebp - 0x14], esi
je 0x44ed77
cmp dword [ebp - 0x18], esi
je 0x44ed77
mov eax, dword [0x4d8228]
push dword [ebp - 0x18]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
lea ecx, [ebp - 0xc]
call fcn.004010b4
lea ecx, [ebp - 4]
call fcn.004010b4
cmp byte [ebp - 0x28], 0
je 0x44edc9
push dword [ebp - 0x2c]
call dword [sym.imp.USER32.dll_SetCursor]
cmp dword [ebp + 0x10], 0
je 0x44edc9
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebp + 0xc], 2
je 0x44edb1
cmp dword [ebp + 0xc], 0
jne 0x44edc9
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x44edc9
call dword [sym.imp.USER32.dll_EmptyClipboard]
call dword [sym.imp.USER32.dll_CloseClipboard]
mov ecx, dword [ebp - 8]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
leave
ret 0x14