Function at 0x14006ef30
Capabilities:
Write clipboard data

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x260
cmp byte [rcx + 0x2c9], 0
mov r15, r9
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
je 0x14006ef7c
mov rcx, qword [0x1400f1518]
lea rdx, [0x1400be064]
xor r9d, r9d
mov byte [rsp + 0x20], 1
or r8, 0xffffffffffffffff
call fcn.14007d4e0
mov rcx, rsi
call fcn.14006ec50
mov r14d, eax
test eax, eax
jne 0x14006efe3
cmp byte [rdi + 0x2c9], al
je 0x14006efc3
mov rcx, qword [0x1400f1518]
lea rdx, [0x1400d1680]
xor r9d, r9d
mov byte [rsp + 0x2b0], 1
or r8, 0xffffffffffffffff
add rsp, 0x260
pop r15
pop r14
pop rdi
pop rsi
pop rbx
jmp fcn.14007d4e0
mov r8, rsi
lea rdx, [0x1400d32f8]
mov rcx, rdi
add rsp, 0x260
pop r15
pop r14
pop rdi
pop rsi
pop rbx
jmp fcn.140031460
mov qword [rsp + 0x298], rbp
lea rdx, [0x1400db008]
mov qword [rsp + 0x258], r12
mov rcx, rbx
mov qword [rsp + 0x250], r13
call fcn.140099630
mov rbp, qword [rsp + 0x2b0]
lea r12, [0x140000000]
test eax, eax
lea eax, [r14 - 2]
sete dl
xor r13d, r13d
cmp eax, 0x15
ja case.0x14006f03b.3
cdqe
mov ecx, dword [r12 + rax*4 + 0x6fd20]
add rcx, r12
jmp rcx
xor edx, edx
mov rcx, r15
call fcn.140015730
cmp eax, 2
setne al
mov byte [rdi + 0x2c9], al
mov eax, 1
jmp 0x14006fcf7
test dl, dl
je 0x14006f4a8
cmp word [r15], r13w
je 0x14006f0ac
cmp qword [rdi + 0xc10], r13
jne 0x14006f085
mov ecx, 0x100
call fcn.140077140
mov qword [rdi + 0xc10], rax
mov rbx, qword [rdi + 0xc10]
test rbx, rbx
je 0x14006f0bc
mov r8d, 0x7f
mov rdx, r15
mov rcx, rbx
call fcn.1400a2664
mov word [rbx + 0xfe], r13w
jmp 0x14006f0bc
mov rax, qword [rdi + 0xc10]
test rax, rax
je 0x14006f0bc
mov word [rax], r13w
cmp qword [rdi + 0x2d8], r13
je 0x14006fc2f
mov rdx, qword [rdi + 0xc10]
test rdx, rdx
je 0x14006f0db
cmp word [rdx], r13w
jne 0x14006f0f0
mov rax, qword [rdi + 0xb68]
lea rdx, [0x1400be068]
test rax, rax
cmovne rdx, rax
mov r8d, 0x7f
lea rcx, [rdi + 0x2f8]
call fcn.1400a2664
lea rdx, [rdi + 0x2d0]
mov word [rdi + 0x3f6], r13w
mov ecx, 1
call qword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov eax, 1
jmp 0x14006fcf7
test dl, dl
je case.0x14006f03b.3
movzx eax, word [r15]
movzx esi, byte [rdi + 0xc08]
test ax, ax
jne 0x14006f1b3
mov rcx, qword [rsp + 0x2b8]
cmp word [rcx], r13w
je 0x14006f15d
call fcn.14000e350
cmp eax, 1
sete al
mov byte [rdi + 0xc08], al
mov byte [0x1400f22d1], r13b
cmp qword [rdi + 0x2d8], r13
jne 0x14006f189
mov rcx, rdi
call fcn.1400172c0
mov dl, 1
mov rcx, rdi
call fcn.1400173b0
mov eax, 1
jmp 0x14006fcf7
cmp byte [rdi + 0xc08], r13b
jne 0x14006fc2f
test sil, sil
je 0x14006fc2f
mov dl, 1
mov rcx, rdi
call fcn.1400173b0
mov eax, 1
jmp 0x14006fcf7
cmp ax, 0x2a
jne 0x14006f234
cmp word [r15 + 2], r13w
jne 0x14006f234
mov rcx, qword [rsp + 0x2b8]
cmp word [rcx], r13w
je 0x14006f1df
call fcn.14000e350
cmp eax, 1
sete al
mov byte [rdi + 0xc08], al
mov rcx, qword [rdi + 0xbf0]
test rcx, rcx
je 0x14006fc2f
mov rdx, qword [rdi + 0xbf8]
call fcn.1400629e0
mov rax, qword [rdi + 0xc00]
mov qword [rdi + 0xbf0], r13
mov qword [rdi + 0xbf8], r13
test rax, rax
je 0x14006f219
mov word [rax], r13w
mov dl, 1
mov dword [rdi + 0xc18], r13d
mov rcx, rdi
call fcn.1400173b0
mov eax, 1
jmp 0x14006fcf7
mov edx, 1
mov dword [rsp + 0x20], r13d
mov r8d, edx
xor r9d, r9d
mov rcx, rbp
call fcn.140079dc0
test eax, eax
je case.0x14006f03b.3
mov rcx, qword [rsp + 0x2b8]
cmp word [rcx], r13w
je 0x14006f273
call fcn.14000e350
cmp eax, 1
sete al
mov byte [rdi + 0xc08], al
cmp word [rbp], r13w
je 0x14006f288
mov rcx, rbp
call fcn.14000e350
mov esi, eax
test eax, eax
jne 0x14006f28d
mov esi, 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 byte [rsp + 0x28], r13b
lea r9, [rsp + 0x290]
mov edx, eax
mov dword [rsp + 0x20], esi
mov r8d, ebx
mov rcx, r15
call fcn.14007b9d0
mov rbp, rax
test rax, rax
je 0x14006f312
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 byte [rsp + 0x28], r13b
lea r9, [rsp + 0x290]
mov edx, eax
mov dword [rsp + 0x20], esi
mov r8d, ebx
mov rcx, r15
call fcn.14007b9d0
mov rbx, rax
test rax, rax
jne 0x14006f336
mov rcx, rbp
call qword [sym.imp.USER32.dll_DestroyIcon]
cmp byte [rdi + 0x2c9], r13b
jne 0x14006f4b1
mov r8, r15
lea rdx, [0x1400db068]
mov rcx, rdi
call fcn.140031460
jmp 0x14006fcf7
mov rdx, qword [rdi + 0xbf8]
mov rcx, qword [rdi + 0xbf0]
call fcn.1400629e0
mov qword [rdi + 0xbf0], rbx
mov qword [rdi + 0xbf8], rbp
mov dword [rdi + 0xc18], esi
cmp qword [rdi + 0xc00], r13
jne 0x14006f37c
mov ecx, 0x208
call fcn.140077140
mov qword [rdi + 0xc00], rax
cmp rax, r13
je 0x14006f3c0
lea r9, [rsp + 0x290]
mov edx, 0x103
lea r8, [rsp + 0x40]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov rbx, qword [rdi + 0xc00]
lea rdx, [rsp + 0x40]
mov r8d, 0x103
mov rcx, rbx
test eax, eax
jne 0x14006f3b3
mov rdx, r15
call fcn.1400a2664
mov word [rbx + 0x206], r13w
cmp byte [0x1400f22d1], r13b
jne 0x14006fc2f
mov dl, 1
mov rcx, rdi
call fcn.1400173b0
mov eax, 1
jmp 0x14006fcf7
test dl, dl
je case.0x14006f03b.3
cmp word [r15], r13w
jne case.0x14006f03b.3
mov byte [0x1400f22d1], 1
cmp qword [rdi + 0x2d8], r13
je 0x14006fc2f
lea rdx, [rdi + 0x2d0]
mov ecx, 2
call qword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov eax, 1
mov qword [rdi + 0x2d8], r13
jmp 0x14006fcf7
test dl, dl
je 0x14006f4a8
mov rcx, r15
call fcn.14000e350
mov rcx, qword [rdi + 0xc20]
mov dword [rcx + 0x24], eax
mov rax, qword [rdi + 0xc20]
mov ecx, dword [rax + 0x24]
cmp ecx, 1
jge 0x14006f460
mov dword [rax + 0x24], 1
mov eax, 1
jmp 0x14006fcf7
cmp ecx, 2
jle 0x14006fc2f
mov dword [rax + 0x24], 2
mov eax, 1
jmp 0x14006fcf7
test dl, dl
je 0x14006f4a8
cmp byte [0x1400f22d0], r13b
jne 0x14006fc2f
mov rcx, qword [0x1400f1538]
mov byte [0x1400f22d0], 1
call qword [sym.imp.USER32.dll_GetMenu]
xor r8d, r8d
jmp 0x14006f513
test dl, dl
jne 0x14006f4ec
cmp byte [rdi + 0x2c9], r13b
je 0x14006f4d5
mov rcx, qword [0x1400f1518]
lea rdx, [0x1400d1680]
xor r9d, r9d
mov byte [rsp + 0x20], 1
or r8, 0xffffffffffffffff
call fcn.14007d4e0
jmp 0x14006fcf7
mov r8, rbx
lea rdx, [0x1400db020]
mov rcx, rdi
call fcn.140031460
jmp 0x14006fcf7
cmp byte [0x1400f22d0], r13b
je 0x14006fc2f
mov rcx, qword [0x1400f1538]
mov byte [0x1400f22d0], r13b
call qword [sym.imp.USER32.dll_GetMenu]
mov r8d, 3
mov rdx, rax
call fcn.140017260
mov rcx, qword [rdi + 0xc20]
cmp byte [rcx + 0x20], r13b
je 0x14006fc2f
call fcn.140070f50
mov eax, 1
jmp 0x14006fcf7
mov rdx, rbx
mov rcx, rdi
call fcn.14006fe10
mov rsi, rax
test rax, rax
jne 0x14006f5b4
lea eax, [r14 - 3]
test eax, 0xfffffff7
je 0x14006f57d
cmp byte [rdi + 0x2c9], r13b
jne 0x14006f4b1
mov r8, rbx
lea rdx, [0x1400da3e0]
mov rcx, rdi
call fcn.140031460
jmp 0x14006fcf7
mov rdx, rbx
mov rcx, rdi
call fcn.14006fe80
mov rsi, rax
test rax, rax
jne 0x14006f5b4
cmp byte [rdi + 0x2c9], r13b
jne 0x14006f4b1
mov r8, rbx
lea rdx, [0x1400db090]
mov rcx, rdi
call fcn.140031460
jmp 0x14006fcf7
lea eax, [r14 - 1]
cmp eax, 0x10
ja case.0x14006f5ce.2
cdqe
mov ecx, dword [r12 + rax*4 + 0x6fd78]
add rcx, r12
jmp rcx
mov ebx, 0x80000000
cmp word [rbp], r13w
je 0x14006f5e8
mov rcx, rbp
call fcn.14000e350
mov edi, eax
jmp 0x14006f5ea
mov edi, ebx
cmp word [r15], r13w
je 0x14006f5fa
mov rcx, r15
call fcn.14000e350
mov ebx, eax
mov r9d, edi
mov r8d, ebx
mov rcx, rsi
call fcn.1400710a0
jmp 0x14006fcf7
cmp word [r15], r13w
jne case.0x14006f5ce.2
lea rbx, [0x1400bdf7c]
xor r9d, r9d
mov qword [rsp + 0x28], rbx
mov rdx, rbx
xor r8d, r8d
mov qword [rsp + 0x20], r13
mov rcx, rsi
call fcn.1400700a0
test eax, eax
jne 0x14006fc2f
cmp byte [rdi + 0x2c9], r13b
jne 0x14006f4b1
mov r8, rbx
lea rdx, [0x1400d1750]
mov rcx, rdi
call fcn.140031460
jmp 0x14006fcf7
cmp word [r15], r13w
jne case.0x14006f5ce.2
cmp rsi, qword [rdi + 0xc20]
jne 0x14006f6a0
cmp byte [rdi + 0x2c9], r13b
jne 0x14006f4b1
lea r8, [0x1400bdf7c]
mov rcx, rdi
lea rdx, [0x1400db0b8]
call fcn.140031460
jmp 0x14006fcf7
mov rdx, rsi
mov rcx, rdi
call fcn.14006ff90
test eax, eax
jne 0x14006fc2f
cmp byte [rdi + 0x2c9], r13b
jne 0x14006f4b1
mov r8, qword [rsi]
lea rdx, [0x1400db0f8]
mov rcx, rdi
call fcn.140031460
jmp 0x14006fcf7
mov rcx, rsi
call fcn.140070420
test eax, eax
jne 0x14006fc2f
cmp byte [rdi + 0x2c9], r13b
jne 0x14006f4b1
mov r8, qword [rsi]
lea rdx, [0x1400db138]
mov rcx, rdi
call fcn.140031460
jmp 0x14006fcf7
cmp word [r15], r13w
jne case.0x14006f5ce.2
xor edx, edx
mov rcx, rsi
call fcn.140070a90
jmp 0x14006fcf7
cmp byte [rsi + 0x20], r13b
jne 0x14006fc2f
xor edx, edx
mov rcx, rsi
call fcn.140070b50
test eax, eax
je 0x14006fc2f
mov rcx, rsi
call fcn.140070e80
mov eax, 1
jmp 0x14006fcf7
cmp byte [rsi + 0x20], r13b
je 0x14006fc2f
mov rcx, rsi
mov byte [rsi + 0x20], r13b
call fcn.140070f50
mov eax, 1
jmp 0x14006fcf7
lea rdx, [0x1400d9840]
mov rcx, rbp
call fcn.140099630
test eax, eax
mov rdx, r15
mov rcx, rsi
setne r8b
call fcn.140070d00
mov eax, 1
jmp 0x14006fcf7
lea rbx, [0x1400bdf7c]
mov r12, rbx
cmp r14d, 4
jne 0x14006f7b2
mov r12, rbp
mov rbp, rbx
cmp word [r15], r13w
jne 0x14006f7dc
cmp byte [rdi + 0x2c9], r13b
jne 0x14006f4b1
mov r8, rbx
lea rdx, [0x1400db180]
mov rcx, rdi
call fcn.140031460
jmp 0x14006fcf7
mov rbx, qword [rsi + 8]
mov r15, r13
test rbx, rbx
je 0x14006f814
mov rdi, qword [rsp + 0x2a8]
mov rcx, qword [rbx]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14006f80c
mov r15, rbx
mov rbx, qword [rbx + 0x38]
test rbx, rbx
jne 0x14006f7f0
mov rdi, qword [rsp + 0x290]
cmp r14d, 3
jne 0x14006f879
test rbx, rbx
je 0x14006f879
cmp word [rbp], r13w
jne 0x14006f879
mov rax, qword [rsp + 0x2b8]
cmp word [rax], r13w
je 0x14006f879
mov r11, r13
mov r9, r13
mov rdx, qword [rsp + 0x2a8]
test rbx, rbx
jne 0x14006fa53
cmp r14d, 3
je 0x14006f965
cmp byte [rdi + 0x2c9], r13b
jne 0x14006f4b1
mov r8, rdx
mov rcx, rdi
lea rdx, [0x1400db268]
call fcn.140031460
jmp 0x14006fcf7
mov r11, r13
mov r9, r13
cmp r14d, 3
jne 0x14006f83a
cmp word [rbp], r9w
jne 0x14006f89d
mov rdx, qword [rsp + 0x2a8]
mov rbp, rdx
cmp word [rdx], r9w
je 0x14006f842
cmp word [rbp], 0x3a
mov rcx, rdi
jne 0x14006f917
add rbp, 2
mov rdx, rbp
call fcn.14006fe10
mov r9, rax
test rax, rax
jne 0x14006f8df
cmp byte [rdi + 0x2c9], r13b
jne 0x14006f4b1
mov r8, rbp
lea rdx, [0x1400db1e0]
mov rcx, rdi
call fcn.140031460
jmp 0x14006fcf7
cmp rax, rsi
je 0x14006f8f3
mov rdx, rsi
mov rcx, rax
call fcn.140071360
test al, al
je 0x14006f95d
cmp byte [rdi + 0x2c9], r13b
jne 0x14006f4b1
mov r8, rbp
lea rdx, [0x1400db210]
mov rcx, rdi
call fcn.140031460
jmp 0x14006fcf7
mov r8, qword [rsp + 0x2c8]
mov r9d, 3
mov rdx, rbp
call fcn.14001b650
mov r11, rax
test rax, rax
jne 0x14006f837
cmp byte [rdi + 0x2c9], r13b
jne 0x14006f4b1
mov r8, rbp
lea rdx, [0x1400d1688]
mov rcx, rdi
call fcn.140031460
jmp 0x14006fcf7
mov r11, r13
jmp 0x14006f83a
mov r8d, dword [0x1400ef8d4]
mov ebx, 0x2afb
mov r10, qword [rdi + 0xb38]
inc r8d
nop dword [rax + rax]
cmp r8d, 0xff13
mov rcx, r10
cmova r8d, ebx
mov dword [0x1400ef8d4], r8d
test r10, r10
je 0x14006f9c8
nop word [rax + rax]
mov rax, qword [rcx + 8]
test rax, rax
je 0x14006f9bf
nop dword [rax]
cmp dword [rax + 0x10], r8d
je 0x14006fa15
mov rax, qword [rax + 0x38]
test rax, rax
jne 0x14006f9b0
mov rcx, qword [rcx + 0x30]
test rcx, rcx
jne 0x14006f9a0
mov rax, qword [rsp + 0x2b8]
mov rcx, rsi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r9
mov r9, r11
call fcn.1400700a0
test eax, eax
jne 0x14006fc2f
cmp byte [rdi + 0x2c9], al
jne 0x14006f4b1
mov r8, qword [rsp + 0x2a8]
lea rdx, [0x1400db2c8]
mov rcx, rdi
call fcn.140031460
jmp 0x14006fcf7
inc r8d
inc r13d
mov dword [0x1400ef8d4], r8d
cmp r13d, 0xd419
jl 0x14006f980
cmp byte [rdi + 0x2c9], 0
jne 0x14006f4b1
mov r8, rdx
mov rcx, rdi
lea rdx, [0x1400db298]
call fcn.140031460
jmp 0x14006fcf7
add r14d, 0xfffffffd
cmp r14d, 0x11
ja case.0x14006fa75.11
lea rdx, [0x140000000]
movsxd rax, r14d
mov ecx, dword [rdx + rax*4 + 0x6fdbc]
add rcx, rdx
jmp rcx
mov rax, qword [rsp + 0x2b8]
mov r8, r11
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.1400704e0
jmp 0x14006fcf7
mov r8, r12
mov rdx, rbx
mov rcx, rsi
call fcn.1400706c0
test eax, eax
jne 0x14006fc2f
cmp byte [rdi + 0x2c9], r13b
jne 0x14006f4b1
mov r8, r12
lea rdx, str.Menu_item_name_already_in_use__or_too_long_.
mov rcx, rdi
call fcn.140031460
jmp 0x14006fcf7
mov byte [rbx + 0x35], 1
cmp qword [rsi + 0x38], r13
je 0x14006fc2f
mov rdx, qword [rbx + 0x20]
test rdx, rdx
je 0x14006faf8
mov rdx, qword [rdx + 0x38]
mov rcx, rsi
call fcn.1400712d0
mov edx, eax
jmp 0x14006fafb
mov edx, dword [rbx + 0x10]
mov rax, qword [rbx + 0x20]
mov rcx, qword [rsi + 0x38]
neg rax
sbb r8d, r8d
and r8d, 0x400
or r8d, 8
call qword [sym.imp.USER32.dll_CheckMenuItem]
mov eax, 1
jmp 0x14006fcf7
mov byte [rbx + 0x35], r13b
cmp qword [rsi + 0x38], r13
je 0x14006fc2f
mov rdx, qword [rbx + 0x20]
test rdx, rdx
je 0x14006fb4b
mov rdx, qword [rdx + 0x38]
mov rcx, rsi
call fcn.1400712d0
mov edx, eax
jmp 0x14006fb4e
mov edx, dword [rbx + 0x10]
mov rax, qword [rbx + 0x20]
mov rcx, qword [rsi + 0x38]
neg rax
sbb r8d, r8d
and r8d, 0x400
call qword [sym.imp.USER32.dll_CheckMenuItem]
mov eax, 1
jmp 0x14006fcf7
cmp byte [rbx + 0x35], r13b
sete al
mov byte [rbx + 0x35], al
cmp qword [rsi + 0x38], r13
je 0x14006fc2f
mov rdx, qword [rbx + 0x20]
test rdx, rdx
je 0x14006fba0
mov rdx, qword [rdx + 0x38]
mov rcx, rsi
call fcn.1400712d0
mov edx, eax
jmp 0x14006fba3
mov edx, dword [rbx + 0x10]
movzx eax, byte [rbx + 0x35]
neg al
mov rax, qword [rbx + 0x20]
sbb r8d, r8d
and r8d, 8
neg rax
sbb ecx, ecx
and ecx, 0x400
or r8d, ecx
mov rcx, qword [rsi + 0x38]
call qword [sym.imp.USER32.dll_CheckMenuItem]
mov eax, 1
jmp 0x14006fcf7
mov byte [rbx + 0x34], 1
cmp qword [rsi + 0x38], r13
je 0x14006fc2f
mov rdx, qword [rbx + 0x20]
test rdx, rdx
je 0x14006fbf9
mov rdx, qword [rdx + 0x38]
mov rcx, rsi
call fcn.1400712d0
mov edx, eax
jmp 0x14006fbfc
mov edx, dword [rbx + 0x10]
mov rax, qword [rbx + 0x20]
mov rcx, qword [rsi + 0x38]
neg rax
sbb r8d, r8d
and r8d, 0x400
call qword [sym.imp.USER32.dll_EnableMenuItem]
cmp dword [rsi + 0x40], 2
jne 0x14006fc2f
cmp dword [0x1400f1530], r13d
je 0x14006fc2f
mov rcx, qword [rsi + 0x38]
call fcn.140062f20
mov eax, 1
jmp 0x14006fcf7
mov rdx, rbx
mov rcx, rsi
call fcn.140070980
jmp 0x14006fcf7
mov rdx, rbx
mov rcx, rsi
call fcn.140070a00
jmp 0x14006fcf7
mov rdx, rbx
mov rcx, rsi
call fcn.140070a90
jmp 0x14006fcf7
mov r8, r15
mov rdx, rbx
mov rcx, rsi
call fcn.1400702f0
jmp 0x14006fcf7
mov rcx, qword [rsp + 0x2c0]
cmp word [rcx], r13w
jne 0x14006fc94
mov ecx, gethostbyname
call qword [sym.imp.USER32.dll_GetSystemMetrics]
jmp 0x14006fc99
call fcn.14000e350
mov rcx, qword [rsp + 0x2b8]
mov r14d, eax
call fcn.14000e350
mov r9d, eax
mov dword [rsp + 0x20], r14d
mov r8, rbp
mov rdx, rbx
mov rcx, rsi
call fcn.1400714c0
test eax, eax
jne 0x14006fc2f
cmp byte [rdi + 0x2c9], r13b
jne 0x14006f4b1
mov r8, rbp
lea rdx, [0x1400db068]
mov rcx, rdi
call fcn.140031460
jmp 0x14006fcf7
mov rdx, rbx
mov rcx, rsi
call fcn.1400716a0
jmp 0x14006fcf7
xor eax, eax
mov r12, qword [rsp + 0x258]
mov rbp, qword [rsp + 0x298]
mov r13, qword [rsp + 0x250]
add rsp, 0x260
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret