Function at 0x3000334e
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
xor eax, eax
push esi
xor esi, esi
inc eax
push eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x18], esi
call fcn.30047fcd
push 4
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowLongA]
cmp eax, esi
mov dword [ebp - 0x34], eax
jne 0x3000338b
mov eax, 0x2714
jmp 0x30003bf3
mov esi, dword [sym.imp.KERNEL32.dll_GlobalLock]
push ebx
push edi
push eax
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edi, eax
mov eax, dword [edi + 0xe6]
test eax, eax
je 0x300033c5
cmp dword [ebp + 0x10], 0
je 0x300033c5
push eax
call esi
push dword [edi + 0xe6]
xor ecx, ecx
cmp dword [eax + 0x44], 2
sete cl
mov dword [ebp - 0x18], ecx
call ebx
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, eax
mov dword [ebp - 0x1c], eax
je 0x300033eb
push eax
call esi
mov eax, dword [eax]
push dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
call ebx
xor ebx, ebx
cmp dword [edi + 0x32], ebx
jne 0x300033fb
cmp dword [ebp - 0x18], ebx
je 0x30003be3
cmp dword [0x30097128], ebx
je 0x30003be3
push dword [0x300967d0]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x30003456
movzx eax, word [0x3009636c]
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push eax
call esi
test eax, eax
jne 0x3000344b
movzx eax, word [0x30096374]
push eax
call esi
test eax, eax
jne 0x3000344b
movzx eax, word [0x30096370]
push eax
call esi
test eax, eax
jne 0x3000344b
xor esi, esi
jmp 0x3000344e
xor esi, esi
inc esi
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x30003458
xor esi, esi
cmp esi, ebx
push dword [0x30097120]
je 0x30003469
call fcn.3003c26b
jmp 0x30003475
call fcn.3003c1c3
mov dword [ebp - 0xc], 1
mov esi, eax
cmp esi, ebx
jne 0x30003be6
call fcn.3000292b
mov esi, eax
cmp esi, ebx
jne 0x30003be6
cmp dword [ebp - 0xc], ebx
je 0x300034a8
push dword [0x30097120]
call fcn.3003c26b
mov esi, eax
cmp esi, ebx
jne 0x30003be6
cmp dword [ebp - 0x18], ebx
je 0x300035e5
push dword [edi + 0xe6]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebx, eax
push ebx
call fcn.30037ac7
lea eax, [ebp - 8]
push eax
push dword [ebx + 0x18]
call dword [sym.imp.KERNEL32.dll_GlobalSize]
push eax
push 0
push 0x66
push dword [0x30097120]
call fcn.30039632
mov esi, eax
test esi, esi
jne 0x300034fd
push dword [ebx + 0x18]
call dword [sym.imp.KERNEL32.dll_GlobalSize]
push eax
push dword [ebp - 8]
push dword [ebx + 0x18]
call fcn.3003bb09
push dword [ebx + 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [eax + 0x14]
and dword [ebp - 0x1c], 0
test ecx, ecx
jl 0x3000351b
imul ecx, ecx, 0x34
mov eax, dword [ecx + eax + 0x44]
mov dword [ebp - 0x1c], eax
push dword [ebx + 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [edi + 0xe6]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
test esi, esi
jne 0x30003be6
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x30003542
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x1c]
jne 0x300035cd
push dword [ebp - 0xc]
push dword [ebp - 8]
call fcn.3006473a
or dword [eax + 0x48], 0xffffffff
or dword [eax + 0x40], 0xffffffff
push dword [ebp - 8]
call fcn.30064767
xor esi, esi
push esi
push esi
push 0x479
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_SendMessageA]
push 1
mov dword [ebp - 0x38], eax
push 0x7d00
shr eax, 0x10
movsx eax, ax
push eax
push esi
push 0x300015d0
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.30064c0f
mov esi, eax
test esi, esi
jne 0x30003be6
movsx eax, word [ebp - 0x38]
test eax, eax
jle 0x300035d8
push 1
push eax
push esi
push esi
push 0x300015d0
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.30064c0f
mov esi, eax
test esi, esi
jne 0x30003be6
jmp 0x300035d8
push 1
push eax
push dword [ebp - 8]
call fcn.30064825
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x1e
jl 0x3000353f
lea ebx, [edi + 0xd6]
push ebx
push dword [edi + 0xde]
push 0x65
push dword [edi + 0x26]
call fcn.3003a67d
mov esi, eax
test esi, esi
jne 0x30003be6
or dword [ebp - 0x28], 0xffffffff
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebx]
push dword [edi + 0x26]
call fcn.30062d93
mov esi, eax
neg esi
sbb esi, esi
inc esi
mov dword [ebp - 0x1c], esi
je 0x30003675
mov eax, dword [ebp - 0x28]
cmp eax, dword [edi + 0xde]
jne 0x30003671
cmp dword [ebp - 0x20], 0xffffffff
jne 0x30003671
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
cmp dword [eax + 0x34], 0x22
je 0x30003664
mov ecx, dword [eax + 0x8c]
sub ecx, dword [eax + 0x90]
cmp ecx, 1
jne 0x30003669
xor esi, esi
mov dword [ebp - 0x1c], esi
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
test esi, esi
jne 0x30003679
or dword [ebp - 0x20], 0xffffffff
push 0
push dword [ebp + 8]
call fcn.30052c49
mov esi, eax
test esi, esi
jne 0x30003be6
lea eax, [edi + 0xce]
push eax
push 0x67
push 0x64
pop ebx
push ebx
push dword [edi + 0x26]
call fcn.3003a67d
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [edi + 0xce]
push 0x67
push ebx
call fcn.300029f8
mov esi, eax
test esi, esi
jne 0x30003be6
lea eax, [ebp - 0x24]
push eax
push 0x72
push ebx
push dword [edi + 0x26]
call fcn.3003a5eb
test eax, eax
jne 0x300036ec
push dword [ebp - 0x24]
push 0x72
push ebx
call fcn.300029f8
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [edi + 0x1c6]
call dword [sym.imp.KERNEL32.dll_GlobalSize]
lea ecx, [ebp - 0x24]
push ecx
add eax, 0x10
push eax
push 0x69
push ebx
push dword [0x30097120]
call fcn.30039632
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [ebp - 0x24]
push dword [edi + 0x1c6]
call fcn.3003bbb3
push dword [edi + 0xb6]
call dword [sym.imp.KERNEL32.dll_GlobalSize]
lea ecx, [ebp - 0x3c]
push ecx
add eax, 0x10
push eax
push 0x6f
push ebx
push dword [0x30097120]
call fcn.30039632
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [ebp - 0x3c]
push dword [edi + 0xb6]
call fcn.3003bbb3
lea eax, [ebp - 4]
push eax
push 0x6a
push ebx
push dword [edi + 0x26]
call fcn.3003a5eb
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [ebp - 4]
push 0x6a
push ebx
call fcn.300029f8
mov esi, eax
test esi, esi
jne 0x30003be6
lea eax, [ebp - 4]
push eax
push 0x6e
push ebx
push dword [edi + 0x26]
call fcn.3003a5eb
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [ebp - 4]
push 0x6e
push ebx
call fcn.300029f8
mov esi, eax
test esi, esi
jne 0x30003be6
lea eax, [ebp - 4]
push eax
push 0x68
push ebx
push dword [edi + 0x26]
call fcn.3003a5eb
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [ebp - 4]
push 0x68
push ebx
call fcn.300029f8
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [edi + 0xbe]
push 0x65
push ebx
call fcn.300029f8
mov esi, eax
test esi, esi
jne 0x30003be6
lea eax, [ebp - 4]
push eax
push 0x66
push ebx
push dword [edi + 0x26]
call fcn.3003a5eb
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [ebp - 4]
push 0x66
push ebx
call fcn.300029f8
mov esi, eax
test esi, esi
jne 0x30003be6
lea eax, [ebp - 4]
push eax
push 0x66
push ebx
push dword [0x30097120]
call fcn.3003a5eb
test eax, eax
jne 0x30003858
push 1
push dword [ebp - 4]
call fcn.30064771
push dword [ebp - 4]
call fcn.3003bbfd
lea eax, [ebp - 4]
push eax
push 0x6b
push ebx
push dword [edi + 0x26]
call fcn.3003a5eb
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [ebp - 4]
push 0x6b
push ebx
call fcn.300029f8
mov esi, eax
test esi, esi
jne 0x30003be6
lea eax, [ebp - 4]
push eax
push 0x6c
push ebx
push dword [edi + 0x26]
call fcn.3003a5eb
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [ebp - 4]
push 0x6c
push ebx
call fcn.300029f8
mov esi, eax
test esi, esi
jne 0x30003be6
lea eax, [ebp - 4]
push eax
push 0x6d
push ebx
push dword [edi + 0x26]
call fcn.3003a5eb
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [ebp - 4]
push 0x6d
push ebx
call fcn.300029f8
mov esi, eax
test esi, esi
jne 0x30003be6
lea eax, [ebp - 4]
push eax
push ebx
push ebx
push dword [edi + 0x26]
call fcn.3003a5eb
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [ebp - 4]
push dword [ebp - 0x34]
call fcn.3003bbb3
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov esi, eax
add esi, 0x10
mov eax, 0x90
mov dword [esi + 0xa6], eax
mov dword [esi + 0xaa], eax
push 0x30097288
lea eax, [esi + 0x7a]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push 0
push 1
add esi, 0x22
push esi
call fcn.30067eb7
push dword [ebp - 4]
push ebx
push ebx
call fcn.300029f8
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [0x30097120]
push dword [edi + 0x26]
call fcn.3000312d
mov esi, eax
test esi, esi
jne 0x30003be6
cmp dword [ebp - 0x18], eax
jne 0x30003b00
lea eax, [ebp - 0x10]
push eax
push 0x65
push dword [edi + 0x26]
call fcn.30039ac2
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [ebp + 0xc]
inc eax
push esi
push eax
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x10]
push eax
push dword [edi + 0xd6]
push dword [edi + 0x26]
call fcn.30002ec0
mov esi, eax
test esi, esi
jne 0x30003b4f
lea eax, [ebp - 4]
push eax
push 0x6a
push ebx
push dword [0x30097120]
call fcn.3003a5eb
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [ebp - 4]
call fcn.3003bbfd
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x16], ecx
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea eax, [ebp - 4]
push eax
push ebx
push ebx
push dword [0x30097120]
call fcn.3003a5eb
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [ebp - 0x10]
and dword [eax + 0x5a], esi
add eax, 0x10
mov dword [eax + 0xde], ecx
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp - 4]
call fcn.3003bbfd
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x10]
push 0x65
push dword [0x30097120]
call fcn.3003a5eb
mov esi, eax
test esi, esi
jne 0x30003be6
lea eax, [ebp - 0x14]
push eax
push 0x68
push ebx
push dword [0x30097120]
call fcn.3003a5eb
mov esi, eax
test esi, esi
jne 0x30003be6
push 0x3c
push dword [ebp - 0x14]
call fcn.3003978a
mov esi, eax
test esi, esi
jne 0x30003be6
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
xor ebx, ebx
mov dword [eax + 0x10], 1
mov dword [eax + 0x14], ebx
mov dword [eax + 0x24], ebx
mov dword [eax + 0x20], ebx
mov dword [eax + 0x28], ebx
mov dword [eax + 0x38], ebx
mov dword [eax + 0x34], ebx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp - 0x14]
call fcn.3003bbfd
push ebx
push dword [ebp - 0x14]
push ebx
push ebx
push dword [ebp - 4]
push dword [0x30097120]
call fcn.30013900
mov esi, eax
cmp esi, ebx
jne 0x30003be6
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push dword [ebp - 4]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
and dword [ebx + 0x54], 0
push dword [ebp - 4]
call fcn.3003bbfd
push dword [0x300967d0]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x30003be6
xor ebx, ebx
cmp dword [ebp - 0x18], ebx
jne 0x30003b21
call dword [sym.imp.USER32.dll_EmptyClipboard]
push 2
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp dword [ebp + 0xc], ebx
je 0x30003b61
mov edi, eax
movzx eax, word [0x30096370]
push edi
push eax
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
jne 0x30003bdb
push edi
jmp 0x30003bd5
push 0
push dword [0x30097120]
call fcn.3003c2cb
jmp 0x30003be6
cmp dword [ebp + 0x10], ebx
je 0x30003b71
mov edi, eax
movzx eax, word [0x30096374]
jmp 0x30003b39
mov dword [ebp + 0xc], eax
call dword [sym.imp.USER32.dll_CloseClipboard]
mov edi, dword [edi + 0x4a]
cmp edi, 7
je 0x30003b9f
cmp edi, 0xa
je 0x30003b9f
cmp dword [ebp - 0x2c], ebx
jne 0x30003b9f
cmp dword [ebp - 0x1c], ebx
jne 0x30003b95
or dword [ebp - 0x30], 0xffffffff
push 1
push dword [ebp - 0x20]
push dword [ebp - 0x30]
jmp 0x30003ba4
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 8]
call fcn.3005e2b7
call fcn.3005c85b
push dword [0x300967d0]
call dword [sym.imp.USER32.dll_OpenClipboard]
movzx eax, word [0x3009636c]
push dword [ebp + 0xc]
push eax
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
jne 0x30003bdb
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x30003be6
mov esi, dword [ebp + 8]
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
pop edi
mov eax, esi
pop ebx
pop esi
leave
ret 0xc