Function at 0x46ed80
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x53cc6e
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x5ac020]
xor eax, esp
mov dword [esp + 0x20], eax
push ebx
push esi
push edi
mov eax, dword [0x5ac020]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov edi, ecx
push 0x14
call fcn.004ffcfe
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x40], 0
test esi, esi
je 0x46ee03
mov dword [esi], vtable.cafx::dxui::DxMenu.0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov byte [esp + 0x40], 1
mov dword [esi + 0x10], 0xffffffff
mov byte [esp + 0x40], 0
jmp 0x46ee05
xor esi, esi
mov dword [esp + 0x40], 0xffffffff
test esi, esi
je 0x46f0f0
push 0x572454
push str.Menu
mov ecx, 0x5be200
call fcn.0045eec0
test eax, eax
je 0x46f06c
xor eax, eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x2c], 7
mov dword [esp + 0x28], 0
mov word [esp + 0x18], ax
mov dword [esp + 0x40], 2
cmp dword [edi + 0x190], eax
jne 0x46ee82
mov eax, dword [edi + 0xf4]
test eax, eax
je 0x46ee82
cmp dword [eax + 0x13c], 0
je 0x46ee82
mov ebx, 1
jmp 0x46ee84
xor ebx, ebx
lea eax, [esp + 0x18]
mov ecx, 0x5be200
push eax
push 0x572464
push str.Item
call fcn.0045ec80
test eax, eax
je 0x46f0b0
cmp dword [esp + 0x2c], 8
lea eax, [esp + 0x18]
push ebx
cmovae eax, dword [esp + 0x1c]
mov ecx, esi
push 0
push 0x56c344
push eax
push 0xbbc
call fcn.004d39b0
mov ebx, dword [edi + 0xf4]
test ebx, ebx
je 0x46eeda
mov ebx, dword [ebx + 0x13c]
jmp 0x46eedc
xor ebx, ebx
lea eax, [esp + 0x18]
mov ecx, 0x5be200
push eax
push str.COPY
push str.Item
call fcn.0045ec80
test eax, eax
je 0x46f091
cmp dword [esp + 0x2c], 8
lea eax, [esp + 0x18]
push ebx
cmovae eax, dword [esp + 0x1c]
mov ecx, esi
push 0
push 0x56c344
push eax
push 0xbbb
call fcn.004d39b0
cmp dword [edi + 0x190], 0
jne 0x46ef4e
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x46ef4e
push 1
call dword [sym.imp.USER32.dll_GetClipboardData]
test eax, eax
je 0x46ef4e
mov ebx, 1
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x46ef50
xor ebx, ebx
lea eax, [esp + 0x18]
mov ecx, 0x5be200
push eax
push str.PASTE
push str.Item
call fcn.0045ec80
test eax, eax
je 0x46f091
cmp dword [esp + 0x2c], 8
lea eax, [esp + 0x18]
push ebx
cmovae eax, dword [esp + 0x1c]
mov ecx, esi
push 0
push 0x56c344
push eax
push 0xbba
call fcn.004d39b0
cmp dword [edi + 0x190], 0
jne 0x46efaf
mov ecx, edi
call fcn.004c70c0
test eax, eax
je 0x46efaf
mov ebx, 1
jmp 0x46efb1
xor ebx, ebx
lea eax, [esp + 0x18]
mov ecx, 0x5be200
push eax
push str.DELETE
push str.Item
call fcn.0045ec80
test eax, eax
je 0x46f091
cmp dword [esp + 0x2c], 8
lea eax, [esp + 0x18]
push ebx
cmovae eax, dword [esp + 0x1c]
mov ecx, esi
push 0
push 0x56c344
push eax
push 0xbbd
call fcn.004d39b0
mov ecx, esi
call fcn.004d3da0
mov ecx, edi
call fcn.004c70e0
test eax, eax
jne 0x46f019
mov ecx, edi
call fcn.004c70a0
test eax, eax
je 0x46f019
mov ebx, 1
jmp 0x46f01b
xor ebx, ebx
lea eax, [esp + 0x18]
mov ecx, 0x5be200
push eax
push str.SELECT_ALL
push str.Item
call fcn.0045ec80
test eax, eax
je 0x46f091
cmp dword [esp + 0x2c], 8
lea eax, [esp + 0x18]
push ebx
cmovae eax, dword [esp + 0x1c]
mov ecx, esi
push 0
push 0x56c344
push eax
push 0xbb9
call fcn.004d39b0
mov dword [esp + 0x40], 0xffffffff
lea ecx, [esp + 0x18]
call fcn.00402220
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
call dword [eax + 0x3c]
mov edx, eax
mov ecx, esi
call fcn.00424b90
mov edx, dword [esi]
add esp, 8
mov ecx, esi
mov edi, eax
push 1
call dword [edx]
mov eax, edi
jmp 0x46f0f2
mov dword [esp + 0x40], 0xffffffff
lea ecx, [esp + 0x18]
call fcn.00402220
mov edx, dword [esi]
mov ecx, esi
push 1
xor edi, edi
call dword [edx]
mov eax, edi
jmp 0x46f0f2
mov dword [esp + 0x40], 0xffffffff
cmp dword [esp + 0x2c], 8
jb 0x46f0cb
push dword [esp + 0x18]
call fcn.0051d3d0
add esp, 4
mov edx, dword [esi]
xor eax, eax
push 1
mov ecx, esi
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], 0
xor edi, edi
mov word [esp + 0x1c], ax
call dword [edx]
mov eax, edi
jmp 0x46f0f2
xor eax, eax
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.004ffcef
mov esp, ebp
pop ebp
ret