Function at 0x41c06e
Capabilities:
Write clipboard data

Disassembly:
push ebp
lea ebp, [esp - 0x7ac]
sub esp, 0x82c
mov eax, dword [0x437b00]
xor eax, ebp
mov dword [ebp + 0x7a8], eax
mov eax, dword [ebp + 0x7b4]
push ebx
push esi
mov esi, dword [sym.imp.PPLIB32W.DLL__ThInit_4]
mov dword [ebp - 0x60], eax
push edi
lea eax, [ebp - 0x70]
push eax
call esi
lea eax, [ebp - 0x80]
push eax
call esi
mov edi, dword [sym.imp.USER32.dll_CreatePopupMenu]
mov dword [ebp - 0x74], 0xc000
call edi
push 0x43b8b8
mov dword [ebp - 0x5c], eax
call dword [sym.imp.PPLIB32W.DLL__VFSFindLastEntry_4]
mov esi, eax
push esi
call dword [sym.imp.PPLIB32W.DLL__FindExtSeparator_4]
lea esi, [esi + eax*2]
lea eax, [ebp - 0x80]
push eax
push esi
push dword [ebp - 0x5c]
mov dword [ebp - 0x64], esi
call dword [sym.imp.PPLIB32W.DLL__GetExtentionMenu_12]
mov al, byte [0x43b8ac]
mov esi, dword [sym.imp.USER32.dll_AppendMenuW]
test al, 3
je 0x41c1cc
push 0
push 0
mov ebx, 0x800
push ebx
push dword [ebp - 0x5c]
call esi
cmp dword [0x43608c], 0
je 0x41c11e
mov ecx, dword [ebp - 0x5c]
push str.EDCPCopy
mov edx, 0x8843
call fcn.0041f784
call edi
mov edi, dword [sym.imp.PPLIB32W.DLL__MessageText_4]
push str.EDETtypes
mov dword [0x438ae4], eax
call edi
push eax
push dword [0x438ae4]
push 0x10
push dword [ebp - 0x5c]
call esi
mov al, byte [0x43b8ac]
test al, 1
je 0x41c1af
push str.EDECencode
call edi
push eax
push dword [0x43608c]
call fcn.0041838d
push eax
push 0x10
push dword [ebp - 0x5c]
call esi
push dword [ebp - 0x64]
mov edi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 0x70]
push eax
mov ecx, edi
call fcn.00419499
push 0
push 0
push ebx
push dword [ebp - 0x5c]
call esi
cmp dword [0x43608c], 0
je 0x41c19d
mov ecx, dword [ebp - 0x5c]
push str.OPSAOpen_selected_Address
mov edx, 0xc7ff
call fcn.0041f784
push 0xc800
push dword [ebp - 0x5c]
call fcn.0041720a
jmp 0x41c239
test al, 0x12
je 0x41c224
push str.EDECencode
call edi
push eax
push 0
call fcn.0041838d
push eax
push 0x10
push dword [ebp - 0x5c]
call esi
jmp 0x41c236
test al, 0x12
je 0x41c1eb
push str.EDECencode
call dword [sym.imp.PPLIB32W.DLL__MessageText_4]
push eax
push 0
call fcn.0041838d
push eax
push 0x10
push dword [ebp - 0x5c]
call esi
push 0
push 0
mov ebx, 0x800
push ebx
push dword [ebp - 0x5c]
call esi
call edi
push str.EDETtypes
mov dword [0x438ae4], eax
call dword [sym.imp.PPLIB32W.DLL__MessageText_4]
push eax
push dword [0x438ae4]
push 0x10
push dword [ebp - 0x5c]
call esi
push 0
push 0
push ebx
push dword [ebp - 0x5c]
call esi
push dword [ebp - 0x64]
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x70]
push eax
call fcn.00419499
mov edi, dword [ebp - 0x60]
push dword [ebp - 0x5c]
call fcn.0041a41c
mov esi, eax
test esi, esi
jle 0x41c4e7
cmp esi, 0x8000
jge 0x41c2ab
cmp esi, 0x3b80
jne 0x41c4e7
xor eax, eax
cmp dword [0x43ca7c], 2
setne al
xor ecx, ecx
inc eax
cmp eax, 2
sete cl
mov dword [0x43ca7c], eax
cmp eax, 2
mov eax, str.Use_Color_profile
mov dword [0x43b2dc], ecx
je 0x41c28e
mov eax, str.Color_profile_off
push eax
push 0x20000000
call fcn.00417cf8
push 1
push 0
push dword [edi + 0xc]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x41c4e7
cmp esi, 0xbfff
jg 0x41c2cb
add esi, 0x8000
or esi, 0x4000
push esi
push edi
call fcn.00404173
jmp 0x41c4e7
lea eax, [esi - 0xc7e8]
cmp eax, 4
ja 0x41c2fb
add esi, 0xffff3819
cmp dword [0x43b8a8], esi
je 0x41c4e7
mov dword [0x43b8a8], esi
push dword [edi + 0xc]
call fcn.0041b1c2
jmp 0x41c4e7
cmp esi, 0xc7fe
jne 0x41c30e
push edi
call fcn.0041b243
jmp 0x41c4e7
lea eax, [esi - 0xc700]
cmp eax, 0xf7
ja 0x41c329
push esi
push dword [edi + 0xc]
call fcn.0041b321
jmp 0x41c4e7
cmp esi, 0xd800
jl 0x41c3ad
cmp esi, 0xe200
jl 0x41c348
push esi
push dword [ebp - 0x5c]
push edi
call fcn.00418181
jmp 0x41c4e7
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
and dword [ebp - 0x64], 0
lea edx, [eax + ecx]
lea edi, [esi - 0xd800]
jmp 0x41c387
cmp word [ecx], 1
jne 0x41c368
add ecx, 8
jmp 0x41c370
cmp edi, dword [ebp - 0x64]
jle 0x41c38d
inc dword [ebp - 0x64]
mov eax, ecx
lea esi, [eax + 2]
mov bx, word [eax]
inc eax
inc eax
test bx, bx
jne 0x41c375
sub eax, esi
sar eax, 1
lea ecx, [ecx + eax*2 + 2]
cmp ecx, edx
jb 0x41c35d
xor ecx, ecx
test ecx, ecx
je 0x41c4e7
xor eax, eax
push eax
push eax
push ecx
push eax
mov eax, dword [ebp - 0x60]
push eax
push dword [eax + 0xc]
call dword [sym.imp.PPLIB32W.DLL__PP_ExtractMacro_24]
jmp 0x41c4e7
cmp esi, 0xc7ff
jne 0x41c3c2
push dword [edi + 0xc]
call fcn.00419209
jmp 0x41c4e7
push 0
mov edi, 0x400
push edi
lea eax, [ebp - 0x58]
push eax
push esi
push dword [ebp - 0x5c]
call dword [sym.imp.USER32.dll_GetMenuStringW]
lea eax, [esi - 0xc800]
cmp eax, 0xfff
ja 0x41c48b
call dword [sym.imp.PPLIB32W.DLL__GetShiftKey_0]
test edi, eax
je 0x41c463
lea eax, [ebp - 0x58]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x41c3f9
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
test edi, edi
je 0x41c4e7
push edi
lea esi, [ebp - 0x58]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
movzx ecx, word [esi]
inc esi
mov word [eax], cx
inc esi
inc eax
inc eax
test cx, cx
jne 0x41c428
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0x60]
push dword [eax + 0xc]
call fcn.00416cec
call dword [sym.imp.USER32.dll_EmptyClipboard]
push edi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x41c4e7
test ebx, eax
je 0x41c47a
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x60]
call fcn.0040b92d
jmp 0x41c4e7
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x60]
push dword [eax + 0xc]
call fcn.00419180
jmp 0x41c4e7
mov ecx, dword [ebp - 0x80]
test ecx, ecx
je 0x41c4b6
sub esi, 0xc000
je 0x41c4b6
mov eax, ecx
dec esi
lea edi, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x41c4a0
sub eax, edi
sar eax, 1
lea ecx, [ecx + eax*2 + 2]
test esi, esi
jne 0x41c49a
lea eax, [ebp - 0x58]
push eax
push 0
mov eax, 0x42d7a8
push eax
push eax
mov eax, dword [ebp - 0x60]
push 0x43b8b8
push ecx
push dword [eax + 0xc]
call dword [sym.imp.PPLIB32W.DLL__PPxShellExecute_28]
test eax, eax
jne 0x41c4e7
lea eax, [ebp - 0x58]
push eax
push 0x20000000
call fcn.00417cf8
push dword [ebp - 0x5c]
and dword [0x438ae4], 0
call dword [sym.imp.USER32.dll_DestroyMenu]
mov esi, dword [sym.imp.PPLIB32W.DLL__ThFree_4]
lea eax, [ebp - 0x80]
push eax
call esi
lea eax, [ebp - 0x70]
push eax
call esi
mov ecx, dword [ebp + 0x7a8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00422725
add ebp, 0x7ac
leave
ret 4