Function at 0x140002c60
Capabilities:
Open clipboard
Read clipboard data
Write clipboard data

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1f0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x1e0], rax
mov r13, rcx
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x70], rcx
xor r12d, r12d
mov r15d, r12d
mov dword [rsp + 0x44], r12d
mov byte [r11 - 0x130], r12b
lea rsi, [r11 - 0x130]
cmp byte [rcx + 0x13], r12b
cmovne rsi, r12
mov qword [rsp + 0x58], rsi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x150], xmm0
movaps xmmword [rsp + 0x160], xmm0
movups xmmword [rsp + 0x100], xmm0
movdqa xmm2, xmmword [0x14002b100]
movdqa xmmword [rsp + 0x110], xmm2
mov byte [r11 - 0x118], r12b
movups xmmword [rsp + 0x120], xmm0
movdqa xmm1, xmmword [0x14002b0f0]
movdqa xmmword [rsp + 0x130], xmm1
mov word [r11 - 0xf8], r12w
movdqa xmmword [rsp + 0x140], xmm0
mov dword [rsp + 0x150], 0xfde9
mov word [r11 - 0xc4], r12w
mov byte [r11 - 0xc2], r12b
mov dword [r11 - 0xc0], r12d
mov qword [r11 - 0xb8], r12
mov qword [r11 - 0xb0], r12
add rcx, 0x20
mov rbx, qword [r13 + 0x38]
cmp rbx, 7
jbe 0x140002d61
mov rcx, qword [r13 + 0x20]
mov r8, qword [str._clipboard_]
cmp qword [r13 + 0x30], 0xb
jne 0x140002d99
mov edx, 0xb
mov r9, r8
sub r9, rcx
nop word [rax + rax]
movzx eax, word [rcx + r9]
cmp ax, word [rcx]
jne 0x140002d99
add rcx, 2
sub rdx, 1
jne 0x140002d80
mov r9b, 1
jmp 0x140002d9c
xor r9b, r9b
mov byte [rsp + 0x40], r9b
cmp byte [r13 + 0xd], 0
je 0x140002daf
movzx r11d, byte [r13 + 0xc]
jmp 0x140002db7
movzx r11d, r9b
xor r11b, 1
movzx eax, byte [r13 + 0x11]
neg al
sbb dl, dl
and dl, 8
mov ecx, 4
cmp byte [r13 + 0x10], 0
cmovne ecx, r12d
cmp byte [r13 + 0x12], 3
sete dil
mov eax, 0x10
mov r14d, 0x12
test r11b, r11b
cmovne eax, r14d
or dil, al
or dil, dl
or dil, cl
test r9b, r9b
je 0x140002e94
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x140], xmm0
mov qword [rsp + 0x160], r12
mov qword [rsp + 0x168], r12
mov dword [rsp + 0x150], 0x4b0
mov word [rsp + 0x154], 0x101
mov byte [rsp + 0x156], dil
mov eax, edi
and eax, 4
shl eax, 5
mov dword [rsp + 0x158], eax
test dil, 2
je 0x140002f6c
lea rax, [0x14002a6f0]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x80], xmm0
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x100]
call fcn.140006d50
jmp 0x140002f55
lea rcx, [r13 + 0x20]
cmp rbx, 7
jbe 0x140002ea2
mov rcx, qword [r13 + 0x20]
cmp qword [r13 + 0x30], 8
jne 0x140002eea
mov edx, 8
mov r8, qword [str._stdout_]
sub r8, rcx
nop dword [rax + rax]
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x140002eea
add rcx, 2
sub rdx, 1
jne 0x140002ec0
mov ebx, dword [r13 + 8]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x48], r12
jmp 0x140002f38
mov ebx, dword [r13 + 8]
lea rcx, [r13 + 0x20]
cmp qword [rcx + 0x18], 7
jbe 0x140002efc
mov rcx, qword [rcx]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x8000080
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov edx, 2
mov r8d, 5
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x140002f33
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140002f55
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x20], dil
mov r9d, ebx
mov r8, rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x100]
call fcn.140006a40
movdqa xmm2, xmmword [0x14002b100]
movdqa xmm1, xmmword [0x14002b0f0]
mov r8, qword [str._clipboard_]
xorps xmm0, xmm0
xor eax, eax
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x1c0], xmm0
movups xmmword [rsp + 0x170], xmm0
movdqa xmmword [rsp + 0x180], xmm2
mov byte [rsp + 0x170], al
movups xmmword [rsp + 0x190], xmm0
mov qword [rsp + 0x1a0], r12
mov qword [rsp + 0x1a8], 7
mov word [rsp + 0x190], r12w
movdqa xmmword [rsp + 0x1b0], xmm0
mov dword [rsp + 0x1c0], 0xfde9
mov word [rsp + 0x1c4], ax
mov byte [rsp + 0x1c6], al
mov qword [rsp + 0x1c8], r12
mov qword [rsp + 0x1d0], r12
mov r14, qword [r13 + 0x40]
mov rax, qword [r13 + 0x48]
mov qword [rsp + 0x48], rax
mov r9d, 0x32
mov qword [rsp + 0x78], r14
cmp r14, rax
je 0x1400033e6
mov qword [rsp + 0x60], r14
mov rcx, r14
cmp qword [r14 + 0x18], 7
jbe 0x140003024
mov rcx, qword [r14]
cmp qword [r14 + 0x10], 0xb
jne 0x14000304c
mov edx, 0xb
sub r8, rcx
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x14000304c
add rcx, 2
sub rdx, 1
jne 0x140003033
mov r8b, 1
jmp 0x14000304f
xor r8b, r8b
cmp byte [r13 + 5], 0
je 0x14000305d
movzx edx, byte [r13 + 4]
jmp 0x140003064
movzx edx, r8b
xor dl, 1
mov ecx, 4
cmp byte [r13 + 0x10], 0
cmovne ecx, r12d
cmp byte [r13 + 0x12], 1
setne r15b
mov eax, 0x30
test dl, dl
cmovne eax, r9d
or r15b, al
or r15b, cl
test r8b, r8b
je 0x1400031d4
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
setne bl
mov byte [rsp + 0x50], bl
test bl, bl
jne 0x1400030b7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x140003160
mov ecx, 0xd
call qword [sym.imp.USER32.dll_GetClipboardData]
mov rsi, rax
test rax, rax
jne 0x1400030d7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x14000315b
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
jne 0x1400030ef
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x14000315b
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xb0], rax
mov rcx, r12
cmp word [rax], 0
je 0x14000311d
nop dword [rax + rax]
inc rcx
lea rax, [rax + 2]
cmp word [rax], 0
jne 0x140003110
mov qword [rsp + 0xb8], rcx
movaps xmm0, xmmword [rsp + 0xb0]
movdqa xmmword [rsp + 0xa0], xmm0
movzx r8d, r15b
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x170]
call fcn.140007bc0
mov edi, r12d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rsi, qword [rsp + 0x58]
test bl, bl
je 0x14000316a
call qword [sym.imp.USER32.dll_CloseClipboard]
test edi, edi
je 0x1400032ea
mov ecx, 2
call fcn.14000dcd4
mov r9d, edi
lea r8, str.wconv
lea rdx, str._hs:_warning_:_clipboard_error__u._Clipboard_not_read._n
mov rcx, rax
call fcn.1400029e0
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xc8], r12
movaps xmm0, xmmword [rsp + 0xc0]
movdqa xmmword [rsp + 0xa0], xmm0
movzx r8d, r15b
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x170]
call fcn.140007bc0
jmp 0x1400032ea
mov rcx, r14
cmp qword [r14 + 0x18], 7
jbe 0x1400031e1
mov rcx, qword [r14]
cmp qword [r14 + 0x10], 7
jne 0x140003233
mov edx, 7
mov r8, qword [str._stdin_]
sub r8, rcx
nop word [rax + rax]
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x140003233
add rcx, 2
sub rdx, 1
jne 0x140003200
mov rax, qword [rsp + 0x70]
mov ebx, dword [rax]
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0xf0], r12
jmp 0x1400032c9
mov rax, qword [rsp + 0x70]
mov ebx, dword [rax]
mov rcx, r14
cmp qword [r14 + 0x18], 7
jbe 0x140003247
mov rcx, qword [r14]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x8000080
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 1
mov r8d, 5
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x1400032c1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test eax, eax
je 0x1400032ea
mov rbx, r14
cmp qword [r14 + 0x18], 7
jbe 0x14000328f
mov rbx, qword [r14]
mov ecx, 2
call fcn.14000dcd4
mov qword [rsp + 0x20], rbx
mov r9d, edi
lea r8, str.wconv
lea rdx, str._hs:_warning_:_CreateFile_error__u_opening_input_file__ls._Skipping._n
mov rcx, rax
call fcn.1400029e0
mov r15d, dword [rsp + 0x44]
jmp 0x1400033c1
mov qword [rsp + 0xf0], rax
mov byte [rsp + 0x20], r15b
mov r9d, ebx
mov r8, rax
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x170]
call fcn.1400077c0
nop
nop word [rax + rax]
lea rcx, [rsp + 0x190]
cmp qword [rsp + 0x1a8], 7
cmova rcx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x1d0]
cmp byte [rsp + 0x1c4], 4
jne 0x14000335a
test rax, rax
je 0x14000335a
cmp word [rcx + rax*2 - 2], 0x1a
jne 0x14000335a
mov qword [rsp + 0xd0], rcx
dec rax
mov qword [rsp + 0xd8], rax
mov r9, rsi
mov r8, qword [r13 + 0x18]
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x100]
call fcn.140006d50
jmp 0x14000339b
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
mov r9, rsi
mov r8, qword [r13 + 0x18]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x100]
call fcn.140006d50
lea rcx, [rsp + 0x170]
call fcn.140007d70
test al, al
jne 0x1400032f0
mov r15d, dword [rsp + 0x44]
jmp 0x1400033c1
mov rax, qword [rsp + 0x48]
add r14, 0x20
mov r8, qword [str._clipboard_]
movdqa xmm1, xmmword [0x14002b0f0]
movdqa xmm2, xmmword [0x14002b100]
jmp 0x140002ffe
cmp byte [rsp + 0xe8], 0
je 0x140003420
mov ecx, 2
call fcn.14000dcd4
lea r8, str.wconv
lea rdx, str._hs:_warning_:_Some_input_could_not_be_converted_to_the_output_encoding._n
mov rcx, rax
call fcn.1400029e0
movdqa xmm1, xmmword [0x14002b0f0]
movdqa xmm2, xmmword [0x14002b100]
cmp byte [rsp + 0x40], 0
je 0x14000354a
lea rsi, [rsp + 0x120]
cmp qword [rsp + 0x138], 7
cmova rsi, qword [rsp + 0x120]
mov rax, qword [rsp + 0x168]
lea r14, [rax + rax]
lea rdx, [r14 + 2]
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rbx, rax
test rax, rax
jne 0x140003475
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x14000350d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rdi, rax
test rax, rax
jne 0x140003490
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x140003504
mov r8, r14
mov rdx, rsi
mov rcx, rdi
call fcn.14001ff70
mov word [rdi + r14], r12w
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
jne 0x1400034c2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x140003504
call qword [sym.imp.USER32.dll_EmptyClipboard]
test eax, eax
jne 0x1400034d6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x1400034f9
mov rdx, rbx
mov ecx, 0xd
call qword [sym.imp.USER32.dll_SetClipboardData]
test rax, rax
jne 0x1400034f3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x1400034f9
mov rbx, r12
mov edi, r12d
call qword [sym.imp.USER32.dll_CloseClipboard]
test rbx, rbx
je 0x14000350d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalFree]
test edi, edi
je 0x14000353a
mov ecx, 2
call fcn.14000dcd4
mov r9d, edi
lea r8, str.wconv
lea rdx, str._hs:_error_:_clipboard_error__u._Clipboard_not_updated._n
mov rcx, rax
call fcn.1400029e0
mov r15d, 1
movdqa xmm2, xmmword [0x14002b100]
movdqa xmm1, xmmword [0x14002b0f0]
mov rcx, qword [rsp + 0x1b0]
test rcx, rcx
je 0x14000356d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movdqa xmm1, xmmword [0x14002b0f0]
movdqa xmm2, xmmword [0x14002b100]
mov rdx, qword [rsp + 0x1a8]
cmp rdx, 7
jbe 0x1400035c5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400035b0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003752
call fcn.1400081a0
movdqa xmm1, xmmword [0x14002b0f0]
movdqa xmm2, xmmword [0x14002b100]
mov qword [rsp + 0x1a0], r12
mov qword [rsp + 0x1a8], 7
mov word [rsp + 0x190], r12w
mov rdx, qword [rsp + 0x188]
cmp rdx, 0xf
jbe 0x140003635
inc rdx
mov rcx, qword [rsp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003620
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003752
call fcn.1400081a0
movdqa xmm1, xmmword [0x14002b0f0]
movdqa xmm2, xmmword [0x14002b100]
movdqa xmmword [rsp + 0x180], xmm2
mov byte [rsp + 0x170], 0
cmp byte [rsp + 0x155], 3
jne 0x140003665
lea rcx, [rsp + 0x100]
call fcn.140006620
movdqa xmm1, xmmword [0x14002b0f0]
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x140003680
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movdqa xmm1, xmmword [0x14002b0f0]
mov rdx, qword [rsp + 0x138]
cmp rdx, 7
jbe 0x1400036d0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400036c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003758
call fcn.1400081a0
movdqa xmm1, xmmword [0x14002b0f0]
movdqa xmmword [rsp + 0x130], xmm1
mov word [rsp + 0x120], r12w
mov rdx, qword [rsp + 0x118]
cmp rdx, 0xf
jbe 0x140003722
inc rdx
mov rcx, qword [rsp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000371c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003758
call fcn.1400081a0
nop
mov eax, r15d
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.140008180
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.14000e100
nop
call fcn.14000e100
int3