Function at 0x14009b6df
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x718
movaps xmmword [rsp + 0x700], xmm6
mov esi, r9d
mov r13, r8
mov r15, rdx
mov r14d, dword [rsp + 0x780]
mov rax, qword [0x14002e420]
mov qword [rsp + 0x6f8], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor ecx, ecx
xor edx, edx
mov r8, r15
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebp, eax
movsxd rdi, esi
add rdi, rdi
mov rbx, qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ecx, 0x2002
mov rdx, rdi
call rbx
mov r12, rax
mov dword [rsp + 0x50], ebp
movsxd rdx, ebp
mov ecx, 0x2002
call rbx
mov rbx, rax
test r12, r12
je 0x14009ba36
test rbx, rbx
je 0x14009ba36
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14009ba88
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rbp, rax
test rbp, rbp
je 0x14009ba7f
mov rcx, qword [rsp + 0x70]
mov rdx, r15
mov r8, rdi
call fcn.1400a9f50
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x20], rbp
xor edi, edi
xor ecx, ecx
xor edx, edx
mov r8, r15
mov r9d, esi
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rcx, qword [0x14002b2c8]
mov edx, 0x8d
call fcn.140039937
test eax, eax
je 0x14009c135
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xa8], rbx
mov dword [rsp + 0x9c], r14d
mov rcx, qword [0x14002b2c8]
mov edx, 0x75
call fcn.140039ef4
mov rdi, rax
lea rdx, [rsp + 0x4f0]
xor ecx, ecx
xor r8d, r8d
call fcn.1400a6c28
mov rcx, qword [rdi]
call fcn.1400b93d0
add rax, 0x64
mov r15, rax
movsxd rcx, eax
mov edx, 1
call fcn.14004723d
mov r12, rax
mov r9d, dword [rdi + 0xc]
add r9d, r9d
mov r8, qword [rdi]
lea rdx, str._rtf1_ansideff0_fonttbl_f0_fmodern__s__f0_fs_d
mov rcx, r12
call fcn.14003a950
test r13, r13
mov qword [rsp + 0x88], r13
je 0x14009bac5
lea rcx, [rsp + 0xc0]
xor r14d, r14d
xor edx, edx
mov r8d, 0x418
call fcn.1400aa3a0
cmp dword [rsp + 0x80], 2
jl 0x14009b957
mov rax, qword [rsp + 0x80]
lea eax, [rax - 1]
mov r8d, dword [0x14002a8e0]
mov rdx, r13
mov esi, dword [rdx]
mov ecx, esi
and ecx, 0x1ff
mov ebp, esi
shr ebp, 9
and ebp, 0x1ff
mov edi, esi
and edi, 0x100000
mov ebx, ecx
cmove ebx, ebp
test edi, edi
cmove ebp, ecx
test r8d, r8d
je 0x14009b917
mov ecx, esi
and ecx, 0x40000
je 0x14009b917
cmp ebp, 7
ja 0x14009b90a
add ebp, 8
jmp 0x14009b917
xor ecx, ecx
cmp ebp, 0xff
seta cl
add ebp, ecx
test esi, 0x200000
je 0x14009b936
cmp ebx, 7
ja 0x14009b929
add ebx, 8
jmp 0x14009b936
xor ecx, ecx
cmp ebx, 0xff
seta cl
add ebx, ecx
movsxd rcx, ebp
inc dword [rsp + rcx*4 + 0xc0]
movsxd rcx, ebx
inc dword [rsp + rcx*4 + 0xc0]
add rdx, 4
dec rax
jne 0x14009b8ca
xor eax, eax
mov r13, qword [rsp + 0x58]
mov rcx, r15
cmp dword [rsp + rax*4 + 0xc0], 0
je 0x14009b976
inc r14d
mov dword [rsp + rax*4 + 0xc0], r14d
inc rax
cmp rax, 0x106
jne 0x14009b961
lea eax, [r14 + r14*4]
lea eax, [rax + rax*4]
add eax, ecx
movsxd rdx, eax
mov r8d, 1
mov rcx, r12
call fcn.14004732a
mov r12, rax
mov rcx, r12
call fcn.1400b93d0
movabs rcx, 0x3b206c6274726f
mov qword [r12 + rax + 5], rcx
movabs rcx, 0x74726f6c6f635c7b
mov qword [r12 + rax], rcx
mov rcx, r12
call fcn.1400b93d0
mov rdi, rax
lea rbp, [0x14002ad62]
xor ebx, ebx
lea r14, str._red_dgreen_d_blue_d_
cmp dword [rsp + rbx*4 + 0xc0], 0
je 0x14009ba0b
movzx eax, byte [rbp - 2]
movzx r9d, byte [rbp - 1]
movzx r8d, byte [rbp]
movsxd rdi, edi
lea rcx, [r12 + rdi]
mov dword [rsp + 0x20], eax
mov rdx, r14
call fcn.14003a950
add edi, eax
inc rbx
add rbp, 3
cmp rbx, 0x106
jne 0x14009b9de
movsxd rax, edi
mov word [r12 + rax], 0x7d
inc eax
mov qword [rsp + 0x60], rax
mov rbx, qword [rsp + 0x70]
jmp 0x14009bad4
test r12, r12
je 0x14009ba44
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GlobalFree]
test rbx, rbx
je 0x14009c1eb
mov rcx, qword [rsp + 0x6f8]
call fcn.1400a8e70
mov rcx, rbx
movaps xmm6, xmmword [rsp + 0x700]
add rsp, 0x718
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rsi, qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, r12
call rsi
mov rcx, qword [rsp + 0x6f8]
call fcn.1400a8e70
mov rcx, rbx
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x700]
add rsp, 0x718
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rax
mov qword [rsp + 0x60], rax
mov rbx, qword [rsp + 0x70]
mov r13, qword [rsp + 0x58]
mov rdi, r15
cmp dword [rsp + 0x80], 0
jle 0x14009c0c2
cmp dword [rsp + 0x50], 0
jle 0x14009c0c2
mov dword [rsp + 0x7c], 0
movabs rsi, 0x280000001
xorps xmm6, xmm6
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x54], 0
mov dword [rsp + 0x68], 0
xor ebp, ebp
xor r14d, r14d
movsxd rax, ebp
mov cl, byte [r13 + rax]
test cl, cl
je 0x14009c0c2
movsxd rdx, r14d
cmp word [rbx + rdx*2], 0
je 0x14009c0c2
inc rax
cmp eax, dword [rsp + 0x50]
jge 0x14009bb5f
cmp cl, 0xd
jne 0x14009bb5f
xor ecx, ecx
cmp byte [r13 + rax], 0xa
sete cl
cmove ebp, eax
add r14d, ecx
cmp qword [rsp + 0x88], 0
mov ecx, dword [rsp + 0x68]
mov dword [rsp + 0x6c], ebp
je 0x14009bba2
mov rbx, qword [rsp + 0x60]
lea eax, [rbx + 0x40]
cmp edi, eax
jge 0x14009bbb2
lea eax, [rbx + 0x200]
mov qword [rsp + 0x90], rax
movsxd rdx, eax
mov r8d, 1
mov rcx, r12
call fcn.14004732a
mov r12, rax
jmp 0x14009bbba
mov qword [rsp + 0x90], rdi
movsxd rbp, ebp
jmp 0x14009bdfa
mov qword [rsp + 0x90], rdi
mov rax, qword [rsp + 0x88]
mov r8d, dword [rsp + 0x4c]
movsxd rbp, ebp
mov r13d, dword [rax + rbp*4]
mov ecx, r13d
and ecx, 0x1ff
mov edi, r13d
shr edi, 9
and edi, 0x1ff
mov edx, r13d
and edx, 0x100000
mov eax, ecx
cmove eax, edi
test edx, edx
cmove edi, ecx
mov ecx, dword [0x14002a8e0]
mov r15d, r13d
and r15d, 0x40000
test ecx, ecx
je 0x14009bc26
test r15d, r15d
je 0x14009bc26
cmp edi, 7
ja 0x14009bc19
add edi, 8
jmp 0x14009bc26
xor edx, edx
cmp edi, 0xff
seta dl
add edi, edx
test r13d, 0x200000
je 0x14009bc45
cmp eax, 7
ja 0x14009bc39
add eax, 8
jmp 0x14009bc45
xor edx, edx
cmp eax, 0xff
seta dl
add eax, edx
mov edx, dword [0x14002a6d4]
test edx, edx
cmove r15d, edx
test r13d, 0x100000
jne 0x14009bc9c
cmp eax, 0xff
mov esi, eax
mov edx, 0xffffffff
cmovg esi, edx
cmp edi, 0x100
mov edx, 0xffffffff
cmovl edx, edi
jl 0x14009bca0
test ecx, ecx
je 0x14009bca0
cmp eax, 0xff
mov eax, r15d
mov ecx, 0x40000
cmovg eax, ecx
test dil, 1
cmovne r15d, eax
mov edi, 0xffffffff
jmp 0x14009bca2
mov esi, eax
jmp 0x14009bca2
mov edi, edx
mov ecx, dword [rsp + 0x68]
cmp ecx, edi
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x4c], r8d
jne 0x14009bcb7
mov edi, ecx
jmp 0x14009bcea
test edi, edi
js 0x14009bcc8
movsxd rax, edi
mov r8d, dword [rsp + rax*4 + 0xc0]
jmp 0x14009bccb
xor r8d, r8d
movsxd rcx, ebx
add rcx, r12
lea rdx, str.cf_d
call fcn.14003a950
add eax, ebx
mov ebx, eax
mov eax, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x4c]
cmp eax, esi
je 0x14009bd24
test esi, esi
mov dword [rsp + 0x48], esi
js 0x14009bd03
movsxd rax, esi
mov r8d, dword [rsp + rax*4 + 0xc0]
jmp 0x14009bd06
xor r8d, r8d
movsxd rbx, ebx
lea rcx, [r12 + rbx]
lea rdx, str.highlight_d
call fcn.14003a950
add ebx, eax
mov eax, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x4c]
and r13d, 0x80000
cmp r8d, r15d
mov dword [rsp + 0x48], eax
jne 0x14009bd39
mov r15d, r8d
jmp 0x14009bd77
movsxd rcx, ebx
add rcx, r12
xor eax, eax
xor esi, esi
test r15d, r15d
setne al
lea rdx, str._b0
mov r8, rbx
lea rbx, [0x14001c160]
cmovne rdx, rbx
mov rbx, r8
sete sil
mov r8d, 5
sub r8, rax
call fcn.1400a9f50
lea ebx, [rbx + rsi + 3]
cmp dword [rsp + 0x7c], r13d
jne 0x14009bd94
mov qword [rsp + 0x60], rbx
mov ecx, edi
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x4c], r15d
jmp 0x14009bde6
test r13d, r13d
lea rdx, str.ulnone
lea rax, str.ul
cmovne rdx, rax
movsxd rbx, ebx
lea rcx, [r12 + rbx]
mov esi, r13d
shr rsi, 0x11
xor rsi, 4
add rsi, 4
mov r8, rsi
or r8, 1
call fcn.1400a9f50
add ebx, esi
mov qword [rsp + 0x60], rbx
mov ecx, edi
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x4c], r15d
mov dword [rsp + 0x7c], r13d
mov rbx, qword [rsp + 0x70]
mov r13, qword [rsp + 0x58]
movabs rsi, 0x280000001
movzx eax, byte [r13 + rbp]
movzx eax, word [rsp + rax*2 + 0x4f0]
mov dword [rsp + 0x48], r14d
movsxd rdi, r14d
cmp ax, word [rbx + rdi*2]
mov dword [rsp + 0x68], ecx
jne 0x14009be3a
xor r15d, r15d
mov byte [rsp + 0x4e0], r15b
mov byte [rsp + 0xbc], r15b
mov r14d, 1
xor edi, edi
jmp 0x14009becd
lea r8, [rsp + rdi*2 + 0x4f0]
movups xmmword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor ecx, ecx
xor edx, edx
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov r14d, eax
cmp r14d, 1
movzx r9d, word [rbx + rdi*2]
lea rcx, [rsp + 0x4e0]
jne 0x14009bea2
lea rdx, str.u_d
mov r8d, r9d
call fcn.14003a950
mov r15d, eax
mov byte [rsp + 0xbc], 0
xor edi, edi
mov r14d, 1
jmp 0x14009bec3
lea rdx, str.uc_du_d
mov r8d, r14d
call fcn.14003a950
mov r15d, eax
mov word [rsp + 0xbc], 0x7d
mov edi, 1
movabs rsi, 0x280000001
mov eax, dword [rsp + 0x6c]
add eax, r14d
mov dword [rsp + 0x6c], eax
cmp eax, dword [rsp + 0x50]
jle 0x14009bf01
mov r8d, 0x145a
lea rcx, str.tindex__multilen___len2
lea rdx, str..._windows_window.c
call fcn.1400b5fb0
movabs rsi, 0x280000001
lea r13d, [rdi + r15]
test r14d, r14d
mov qword [rsp + 0xb0], rdi
jle 0x14009bf63
mov eax, r14d
mov rcx, qword [rsp + 0x58]
lea rcx, [rcx + rbp]
mov bl, byte [rcx]
mov edx, ebx
add dl, 0xa4
cmp dl, 0x21
ja 0x14009bf3a
movzx edx, dl
bt rsi, rdx
jae 0x14009bf3a
mov edi, 2
jmp 0x14009bf58
mov edi, 6
cmp bl, 0xa
je 0x14009bf58
cmp bl, 0xd
je 0x14009bf58
add bl, 0xe0
xor edx, edx
cmp bl, 0x5e
seta dl
lea edi, [rdx + rdx*2 + 1]
add r13d, edi
inc rcx
dec rax
jne 0x14009bf1e
mov rsi, qword [rsp + 0x60]
lea eax, [r13 + rsi + 3]
mov rdi, qword [rsp + 0x90]
cmp edi, eax
jge 0x14009bf9a
add r13d, esi
add r13d, 0x200
movsxd rdx, r13d
mov r8d, 1
mov rcx, r12
call fcn.14004732a
mov r12, rax
mov edi, r13d
movsxd rcx, esi
add rcx, r12
lea rdx, [rsp + 0x4e0]
call fcn.1400b9020
add r15d, esi
test r14d, r14d
jle 0x14009c06e
mov ebx, r14d
mov r13, qword [rsp + 0x58]
add rbp, r13
movabs rdx, 0x280000001
mov r14d, dword [rsp + 0x48]
jmp 0x14009c013
mov ecx, eax
add cl, 0xe0
cmp cl, 0x5f
jb 0x14009c007
movzx r8d, al
movsxd rcx, r15d
add rcx, r12
lea rdx, str._02x
call fcn.14003a950
movabs rdx, 0x280000001
add eax, r15d
mov r15d, eax
jmp 0x14009c064
movsxd rcx, r15d
inc r15d
mov byte [r12 + rcx], al
jmp 0x14009c064
mov al, byte [rbp]
mov ecx, eax
add cl, 0xa4
cmp cl, 0x21
ja 0x14009c03f
movzx ecx, cl
bt rdx, rcx
jae 0x14009c03f
movsxd rax, r15d
mov byte [r12 + rax], 0x5c
mov cl, byte [rbp]
add r15d, 2
mov byte [r12 + rax + 1], cl
jmp 0x14009c064
cmp al, 0xa
je 0x14009c047
cmp al, 0xd
jne 0x14009bfd5
movsxd r15, r15d
mov byte [r12 + r15 + 6], 0
mov word [r12 + r15 + 4], 0xa0d
mov dword [r12 + r15], 0x7261705c
add r15d, 6
inc rbp
dec rbx
jne 0x14009c013
jmp 0x14009c078
mov r13, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x48]
movsxd rsi, r15d
lea rcx, [r12 + rsi]
lea rdx, [rsp + 0xbc]
call fcn.1400b9020
add esi, dword [rsp + 0xb0]
mov qword [rsp + 0x60], rsi
inc r14d
cmp r14d, dword [rsp + 0x80]
jge 0x14009c0c2
mov ebp, dword [rsp + 0x6c]
cmp ebp, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x70]
movabs rsi, 0x280000001
jl 0x14009bb22
movsxd rax, dword [rsp + 0x60]
mov word [r12 + rax], 0x7d
lea ecx, [rax + 3]
mov byte [r12 + rax + 2], 0
movsxd rbx, ecx
mov ecx, 0x2002
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rdi, rax
test rdi, rdi
je 0x14009c115
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
je 0x14009c115
mov rcx, rax
mov rdx, r12
mov r8, rbx
call fcn.1400a9f50
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, r12
call fcn.140047430
mov r14d, dword [rsp + 0x9c]
mov rbx, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xa0]
mov rsi, qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, r12
call rsi
mov rcx, rbx
call rsi
test r14d, r14d
jne 0x14009c166
mov rcx, qword [0x14002b2b8]
mov edx, 0x8002
mov r8d, 1
xor r9d, r9d
call qword [sym.imp.USER32.dll_SendMessageA]
mov rcx, qword [0x14002b2b8]
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x14009c1bd
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rsi, qword [sym.imp.USER32.dll_SetClipboardData]
mov ecx, 0xd
mov rdx, r12
call rsi
mov ecx, 1
mov rdx, rbx
call rsi
test rdi, rdi
je 0x14009c1b5
lea rcx, str.Rich_Text_Format
call qword [sym.imp.USER32.dll_RegisterClipboardFormatA]
mov ecx, eax
mov rdx, rdi
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x14009c1ce
mov rsi, qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, r12
call rsi
mov rcx, rbx
call rsi
test r14d, r14d
jne 0x14009c1eb
mov rcx, qword [0x14002b2b8]
mov edx, 0x8002
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.USER32.dll_SendMessageA]
mov rcx, qword [rsp + 0x6f8]
call fcn.1400a8e70
movaps xmm6, xmmword [rsp + 0x700]
add rsp, 0x718
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret