Function at 0x14006d980
Capabilities:
Write clipboard data

Disassembly:
push rbx
push rsi
push rdi
push r13
push r14
sub rsp, 0x270
cmp byte [rcx + 0x2c9], 0
mov rsi, r9
mov rbx, r8
mov r14, rdx
mov rdi, rcx
je 0x14006d9c3
mov rcx, qword [0x1400efed8]
lea rdx, [0x1400bc064]
xor r9d, r9d
mov byte [rsp + 0x20], 1
or r8, 0xffffffffffffffff
call fcn.14007c070
mov rcx, rbx
call fcn.14006d640
mov r13d, eax
test eax, eax
jne 0x14006da2a
cmp byte [rdi + 0x2c9], al
je 0x14006da0a
mov rcx, qword [0x1400efed8]
lea rdx, [0x1400cf680]
xor r9d, r9d
mov byte [rsp + 0x2c0], 1
or r8, 0xffffffffffffffff
add rsp, 0x270
pop r14
pop r13
pop rdi
pop rsi
pop rbx
jmp fcn.14007c070
mov r8, rbx
lea rdx, str.Parameter_2_invalid.
mov rcx, rdi
add rsp, 0x270
pop r14
pop r13
pop rdi
pop rsi
pop rbx
jmp fcn.14002f740
mov qword [rsp + 0x2a8], rbp
lea rdx, str.tray
mov rcx, r14
mov qword [rsp + 0x2b8], r15
call fcn.1400981f0
mov r15, qword [rsp + 0x2c0]
lea r8, [0x140000000]
test eax, eax
lea eax, [r13 - 2]
sete dl
xor ebp, ebp
cmp eax, 0x16
ja case.0x14006da79.3
cdqe
mov ecx, dword [r8 + rax*4 + 0x6e5e4]
add rcx, r8
jmp rcx
xor edx, edx
mov rcx, rsi
call fcn.1400157c0
cmp eax, 2
setne al
mov byte [rdi + 0x2c9], al
mov eax, 1
jmp 0x14006e5c2
test dl, dl
je 0x14006ded3
cmp word [rsi], bp
je 0x14006dae8
cmp qword [rdi + 0xc18], rbp
jne 0x14006dac2
mov ecx, 0x100
call fcn.140075bf0
mov qword [rdi + 0xc18], rax
mov rbx, qword [rdi + 0xc18]
test rbx, rbx
je 0x14006daf7
mov r8d, 0x7f
mov rdx, rsi
mov rcx, rbx
call fcn.1400a1224
mov word [rbx + 0xfe], bp
jmp 0x14006daf7
mov rax, qword [rdi + 0xc18]
test rax, rax
je 0x14006daf7
mov word [rax], bp
cmp qword [rdi + 0x2d8], rbp
je 0x14006df27
mov rdx, qword [rdi + 0xc18]
test rdx, rdx
je 0x14006db15
cmp word [rdx], bp
jne 0x14006db2a
mov rax, qword [rdi + 0xb70]
lea rdx, [0x1400bc068]
test rax, rax
cmovne rdx, rax
mov r8d, 0x7f
lea rcx, [rdi + 0x2f8]
call fcn.1400a1224
lea rdx, [rdi + 0x2d0]
mov word [rdi + 0x3f6], bp
mov ecx, 1
call qword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov eax, 1
jmp 0x14006e5c2
test dl, dl
je case.0x14006da79.3
movzx eax, word [rsi]
movzx ebx, byte [rdi + 0xc10]
test ax, ax
jne 0x14006dbe9
mov rcx, qword [rsp + 0x2c8]
cmp word [rcx], bp
je 0x14006db94
call fcn.14000e3e0
cmp eax, 1
sete al
mov byte [rdi + 0xc10], al
mov byte [0x1400f0c91], bpl
cmp qword [rdi + 0x2d8], rbp
jne 0x14006dbc0
mov rcx, rdi
call fcn.140017320
mov dl, 1
mov rcx, rdi
call fcn.140017410
mov eax, 1
jmp 0x14006e5c2
cmp byte [rdi + 0xc10], bpl
jne 0x14006df27
test bl, bl
je 0x14006df27
mov dl, 1
mov rcx, rdi
call fcn.140017410
mov eax, 1
jmp 0x14006e5c2
cmp ax, 0x2a
jne 0x14006dc66
cmp word [rsi + 2], bp
jne 0x14006dc66
mov rcx, qword [rsp + 0x2c8]
cmp word [rcx], bp
je 0x14006dc13
call fcn.14000e3e0
cmp eax, 1
sete al
mov byte [rdi + 0xc10], al
mov rcx, qword [rdi + 0xbf8]
test rcx, rcx
je 0x14006df27
mov rdx, qword [rdi + 0xc00]
call fcn.140061260
mov rax, qword [rdi + 0xc08]
mov qword [rdi + 0xbf8], rbp
mov qword [rdi + 0xc00], rbp
test rax, rax
je 0x14006dc4c
mov word [rax], bp
mov dl, 1
mov dword [rdi + 0xc20], ebp
mov rcx, rdi
call fcn.140017410
mov eax, 1
jmp 0x14006e5c2
mov edx, 1
mov dword [rsp + 0x20], ebp
mov r8d, edx
xor r9d, r9d
mov rcx, r15
call fcn.140078870
test eax, eax
je case.0x14006da79.3
mov rcx, qword [rsp + 0x2c8]
cmp word [rcx], bp
je 0x14006dca3
call fcn.14000e3e0
cmp eax, 1
sete al
mov byte [rdi + 0xc10], al
cmp word [r15], bp
je 0x14006dcb8
mov rcx, r15
call fcn.14000e3e0
mov r14d, eax
test eax, eax
jne 0x14006dcbe
mov r14d, 1
mov ecx, gethostbyname
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, gethostbyname
mov ebx, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov qword [rsp + 0x30], rbp
lea r9, [rsp + 0x2a0]
mov edx, eax
mov byte [rsp + 0x28], bpl
mov r8d, ebx
mov dword [rsp + 0x20], r14d
mov rcx, rsi
call fcn.14007a480
mov r15, rax
test rax, rax
je 0x14006dd4f
mov ecx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, reloc.WSOCK32.dll_inet_ntoa
mov ebx, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov qword [rsp + 0x30], rbp
lea r9, [rsp + 0x2a0]
mov edx, eax
mov byte [rsp + 0x28], bpl
mov r8d, ebx
mov dword [rsp + 0x20], r14d
mov rcx, rsi
call fcn.14007a480
mov rbx, rax
test rax, rax
jne 0x14006dd66
mov rcx, r15
call qword [sym.imp.USER32.dll_DestroyIcon]
mov r8, rsi
lea rdx, str.Cant_load_icon.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5c2
mov rdx, qword [rdi + 0xc00]
mov rcx, qword [rdi + 0xbf8]
call fcn.140061260
mov qword [rdi + 0xbf8], rbx
mov qword [rdi + 0xc00], r15
mov dword [rdi + 0xc20], r14d
cmp qword [rdi + 0xc08], rbp
jne 0x14006ddad
mov ecx, 0x208
call fcn.140075bf0
mov qword [rdi + 0xc08], rax
cmp rax, rbp
je 0x14006ddf0
lea r9, [rsp + 0x2a0]
mov edx, 0x103
lea r8, [rsp + 0x60]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov rbx, qword [rdi + 0xc08]
lea rdx, [rsp + 0x60]
mov r8d, 0x103
mov rcx, rbx
test eax, eax
jne 0x14006dde4
mov rdx, rsi
call fcn.1400a1224
mov word [rbx + 0x206], bp
cmp byte [0x1400f0c91], bpl
jne 0x14006df27
mov dl, 1
mov rcx, rdi
call fcn.140017410
mov eax, 1
jmp 0x14006e5c2
test dl, dl
je case.0x14006da79.3
cmp word [rsi], bp
jne case.0x14006da79.3
mov byte [0x1400f0c91], 1
cmp qword [rdi + 0x2d8], rbp
je 0x14006df27
lea rdx, [rdi + 0x2d0]
mov ecx, 2
call qword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov eax, 1
mov qword [rdi + 0x2d8], rbp
jmp 0x14006e5c2
test dl, dl
je 0x14006ded3
mov rcx, rsi
call fcn.14000e3e0
mov rcx, qword [rdi + 0xc28]
mov dword [rcx + 0x24], eax
mov rax, qword [rdi + 0xc28]
mov ecx, dword [rax + 0x24]
cmp ecx, 1
jge 0x14006de8f
mov dword [rax + 0x24], 1
mov eax, 1
jmp 0x14006e5c2
cmp ecx, 2
jle 0x14006df27
mov dword [rax + 0x24], 2
mov eax, 1
jmp 0x14006e5c2
test dl, dl
je 0x14006ded3
cmp byte [0x1400f0c90], bpl
jne 0x14006df27
mov rcx, qword [0x1400efef8]
mov byte [0x1400f0c90], 1
call qword [sym.imp.USER32.dll_GetMenu]
xor r8d, r8d
jmp 0x14006df0d
test dl, dl
jne 0x14006deea
mov r8, r14
lea rdx, str.Supported_only_for_the_tray_menu
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5c2
cmp byte [0x1400f0c90], bpl
je 0x14006df27
mov rcx, qword [0x1400efef8]
mov byte [0x1400f0c90], bpl
call qword [sym.imp.USER32.dll_GetMenu]
mov r8d, 3
mov rdx, rax
call fcn.1400172c0
mov rcx, qword [rdi + 0xc28]
cmp byte [rcx + 0x20], bpl
je 0x14006df27
call fcn.14006faa0
mov eax, 1
jmp 0x14006e5c2
mov rdx, r14
mov qword [rsp + 0x2b0], r12
mov rcx, rdi
call fcn.14006e6e0
xor r12b, r12b
mov qword [rsp + 0x48], rbp
mov rbx, rax
cmp r13d, 5
jne 0x14006e017
test rax, rax
jne 0x14006df9b
cmp word [rsi], bp
je 0x14006dff9
movzx eax, word [rsi]
cmp ax, word [0x1400d936c]
jne 0x14006e035
movzx eax, word [rsi + 2]
cmp ax, word [0x1400d936e]
jne 0x14006e035
movzx eax, word [rsi + 4]
cmp ax, word [0x1400d9370]
jne 0x14006e035
jmp 0x14006dff9
cmp word [rsi], bp
je 0x14006dff9
lea r9, [rsp + 0x2a0]
mov rdx, rsi
lea r8, [rsp + 0x50]
mov rcx, rax
call fcn.14006ea10
test rax, rax
jne 0x14006dfe0
cmp byte [rsp + 0x2a0], bpl
je 0x14006e3f4
mov rcx, rsi
call fcn.14000e3e0
mov ecx, dword [rbx + 0x28]
inc ecx
cmp eax, ecx
jne 0x14006e3f4
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x14006dff0
add rax, 0x38
jmp 0x14006dff4
lea rax, [rbx + 8]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x2d0]
mov rsi, r15
mov r15, qword [rsp + 0x2c8]
mov r13d, 3
mov r12b, 1
jmp 0x14006e01f
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + 0x40], rax
test rbx, rbx
jne 0x14006e076
cmp r13d, 3
je 0x14006e04c
cmp r13d, 0xc
je 0x14006e04c
mov r8, r14
lea rdx, str.Menu_does_not_exist.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5ba
mov rdx, r14
mov rcx, rdi
call fcn.14006e750
mov rbx, rax
test rax, rax
jne 0x14006e076
mov r8, r14
lea rdx, str.Menu_name_too_long.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5ba
lea eax, [r13 - 1]
cmp eax, 0x11
ja case.0x14006e096.2
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x6e640]
add rcx, rdx
jmp rcx
mov edi, 0x80000000
cmp word [r15], bp
je 0x14006e0af
mov rcx, r15
call fcn.14000e3e0
mov ebp, eax
jmp 0x14006e0b1
mov ebp, edi
cmp word [rsi], 0
je 0x14006e0c1
mov rcx, rsi
call fcn.14000e3e0
mov edi, eax
mov r9d, ebp
mov r8d, edi
mov rcx, rbx
call fcn.14006fbe0
jmp 0x14006e5ba
cmp word [rsi], bp
jne case.0x14006e096.2
mov rcx, rdi
call fcn.14006e970
mov rcx, qword [rsp + 0x48]
lea r14, [0x1400bbf7c]
mov qword [rsp + 0x30], rcx
mov r8d, eax
mov qword [rsp + 0x28], r14
mov rcx, rbx
xor r9d, r9d
mov qword [rsp + 0x20], rbp
mov rdx, r14
call fcn.14006eaf0
test eax, eax
jne 0x14006e221
mov r8, r14
lea rdx, str.Out_of_memory.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5ba
cmp word [rsi], bp
jne case.0x14006e096.2
mov rcx, rdi
cmp rbx, qword [rdi + 0xc28]
jne 0x14006e15d
lea r8, [0x1400bbf7c]
lea rdx, str.Tray_menu_must_not_be_deleted.
call fcn.14006d940
jmp 0x14006e5ba
mov rdx, rbx
call fcn.14006e860
test eax, eax
jne 0x14006e221
mov r8, qword [rbx]
lea rdx, str.Cant_delete_menu__in_use__.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5ba
mov rcx, rbx
call fcn.14006eed0
test eax, eax
jne 0x14006e221
mov r8, qword [rbx]
lea rdx, str.Cant_delete_items__in_use__.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5ba
cmp word [rsi], bp
jne case.0x14006e096.2
xor edx, edx
mov rcx, rbx
call fcn.14006f6a0
jmp 0x14006e5ba
cmp byte [rbx + 0x20], bpl
jne 0x14006e221
xor edx, edx
mov rcx, rbx
call fcn.14006f730
test eax, eax
je 0x14006e221
mov rcx, rbx
call fcn.14006f9d0
mov eax, 1
jmp 0x14006e5ba
cmp byte [rbx + 0x20], bpl
je 0x14006e221
mov rcx, rbx
mov byte [rbx + 0x20], bpl
call fcn.14006faa0
mov eax, 1
jmp 0x14006e5ba
lea rdx, str.Single
mov rcx, r15
call fcn.1400981f0
test eax, eax
mov rdx, rsi
mov rcx, rbx
setne r8b
call fcn.14006f850
mov eax, 1
jmp 0x14006e5ba
lea r14, [0x1400bbf7c]
mov qword [rsp + 0x58], r14
cmp r13d, 4
jne 0x14006e245
mov qword [rsp + 0x58], r15
mov r15, r14
cmp word [rsi], bp
jne 0x14006e261
mov r8, r14
lea rdx, str.Parameter_3_must_not_be_blank_in_this_case.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5ba
mov qword [rsp + 0x50], rbp
mov r14, rbp
mov byte [rsp + 0x2a0], bpl
test r12b, r12b
jne 0x14006e291
lea r9, [rsp + 0x2a0]
mov rdx, rsi
lea r8, [rsp + 0x50]
mov rcx, rbx
call fcn.14006ea10
mov r14, rax
cmp r13d, 3
jne 0x14006e2f7
test r14, r14
je 0x14006e2f7
cmp word [r15], bp
jne 0x14006e2f7
mov rax, qword [rsp + 0x40]
cmp word [rax], bp
je 0x14006e2f7
mov r12, rbp
test r14, r14
jne 0x14006e40b
cmp r13d, 3
jne 0x14006e3f4
cmp byte [rsp + 0x2a0], r14b
jne 0x14006e3f4
mov rcx, rdi
call fcn.14006e970
test eax, eax
jne 0x14006e3ab
mov r8, rsi
lea rdx, str.Too_many_menu_items.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5ba
mov r12, rbp
cmp r13d, 3
jne 0x14006e2af
cmp word [r15], bp
jne 0x14006e30e
mov r15, rsi
cmp word [rsi], bp
je 0x14006e2af
cmp word [r15], 0x3a
mov rcx, rdi
jne 0x14006e372
add r15, 2
mov rdx, r15
call fcn.14006e6e0
mov rbp, rax
test rax, rax
jne 0x14006e343
mov r8, r15
lea rdx, str.Submenu_does_not_exist.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5ba
cmp rax, rbx
je 0x14006e35b
mov rdx, rbx
mov rcx, rax
call fcn.14006fe10
test al, al
je 0x14006e2af
mov r8, r15
lea rdx, str.Submenu_must_not_contain_its_parent_menu.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5ba
mov r8, qword [rsp + 0x2d8]
mov r9d, 3
mov rdx, r15
call fcn.14001b6f0
mov r12, rax
test rax, rax
jne 0x14006e2af
mov r8, r15
lea rdx, str.Target_label_does_not_exist.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5ba
mov rcx, qword [rsp + 0x48]
mov r9, r12
mov qword [rsp + 0x30], rcx
mov r8d, eax
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
mov qword [rsp + 0x28], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rbp
call fcn.14006eaf0
test eax, eax
jne 0x14006e221
mov r8, rsi
lea rdx, str.Menu_item_name_too_long.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5ba
mov r8, rsi
lea rdx, str.Nonexistent_menu_item.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5ba
add r13d, 0xfffffffd
cmp r13d, 0x12
ja case.0x14006e42d.5
lea rdx, [0x140000000]
movsxd rax, r13d
mov ecx, dword [rdx + rax*4 + 0x6e688]
add rcx, rdx
jmp rcx
mov rax, qword [rsp + 0x40]
mov r9, rbp
mov r8, r12
mov qword [rsp + 0x20], rax
mov rdx, r14
mov rcx, rbx
call fcn.14006efb0
jmp 0x14006e5ba
mov rsi, qword [rsp + 0x58]
mov rdx, r14
mov r8, rsi
mov rcx, rbx
call fcn.14006f300
test eax, eax
jne 0x14006e221
mov r8, rsi
lea rdx, str.Rename_failed__name_too_long__.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5ba
mov r9d, 8
mov rdx, r14
mov r8d, r9d
mov rcx, rbx
call fcn.14006f5e0
jmp 0x14006e5ba
mov r9d, 8
xor r8d, r8d
mov rdx, r14
mov rcx, rbx
call fcn.14006f5e0
jmp 0x14006e5ba
movzx r8d, word [r14 + 0x30]
mov r9d, 8
not r8d
mov rdx, r14
and r8d, 8
mov rcx, rbx
call fcn.14006f5e0
jmp 0x14006e5ba
mov r9d, 3
xor r8d, r8d
mov rdx, r14
mov rcx, rbx
call fcn.14006f5e0
jmp 0x14006e5ba
mov r9d, 3
mov rdx, r14
mov r8d, r9d
mov rcx, rbx
call fcn.14006f5e0
jmp 0x14006e5ba
movzx r8d, word [r14 + 0x30]
mov r9d, 3
not r8d
mov rdx, r14
and r8d, 3
mov rcx, rbx
call fcn.14006f5e0
jmp 0x14006e5ba
mov rdx, r14
mov rcx, rbx
call fcn.14006f6a0
jmp 0x14006e5ba
mov r8, qword [rsp + 0x50]
mov rdx, r14
mov rcx, rbx
call fcn.14006edb0
jmp 0x14006e5ba
mov rax, qword [rsp + 0x2d0]
cmp word [rax], 0
jne 0x14006e566
mov ecx, gethostbyname
call qword [sym.imp.USER32.dll_GetSystemMetrics]
jmp 0x14006e56e
mov rcx, rax
call fcn.14000e3e0
mov rcx, qword [rsp + 0x40]
mov esi, eax
call fcn.14000e3e0
mov r9d, eax
mov dword [rsp + 0x20], esi
mov r8, r15
mov rdx, r14
mov rcx, rbx
call fcn.14006ff70
test eax, eax
jne 0x14006e221
mov r8, r15
lea rdx, str.Cant_load_icon.
mov rcx, rdi
call fcn.14006d940
jmp 0x14006e5ba
mov rdx, r14
mov rcx, rbx
call fcn.140070170
jmp 0x14006e5ba
xor eax, eax
mov r12, qword [rsp + 0x2b0]
mov rbp, qword [rsp + 0x2a8]
mov r15, qword [rsp + 0x2b8]
add rsp, 0x270
pop r14
pop r13
pop rdi
pop rsi
pop rbx
ret