Function at 0x44422a
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x66c
push ebx
push esi
mov esi, dword [ebp + 0x14]
push edi
xor edi, edi
push edi
push edi
push edi
push edi
push esi
push dword [ebp + 0xc]
push edi
push edi
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalAlloc]
add esi, esi
push esi
push 0x2002
mov dword [ebp - 0x1c], eax
call ebx
push dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
push 0x2002
call ebx
cmp dword [ebp - 0x18], edi
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp - 0x14], eax
je 0x444964
cmp eax, edi
push dword [ebp - 0x18]
je 0x444962
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalLock]
call ebx
cmp eax, edi
mov dword [ebp - 0x30], eax
jne 0x4442ac
push dword [ebp - 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalFree]
call esi
push dword [ebp - 0x14]
call esi
jmp 0x44496e
push dword [ebp - 0x14]
call ebx
cmp eax, edi
mov dword [ebp - 0x28], eax
jne 0x4442c3
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x444297
push esi
push dword [ebp + 0xc]
push dword [ebp - 0x30]
call fcn.004526b0
add esp, 0xc
push edi
push edi
push dword [ebp - 0x1c]
push dword [ebp - 0x28]
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push edi
push edi
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0x88
push dword [0x47e53c]
call fcn.00402219
test eax, eax
pop ecx
pop ecx
je 0x4448c6
push 0x70
push dword [0x47e53c]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x38], edi
call fcn.004025ef
mov esi, eax
push edi
lea eax, [ebp - 0x66c]
push eax
push edi
call fcn.0045039b
push dword [esi]
call fcn.00451fa0
add eax, 0x64
push 1
push eax
mov dword [ebp - 0x24], eax
call fcn.0040bca9
mov ebx, eax
mov eax, dword [esi + 8]
shl eax, 1
push eax
push dword [esi]
push str._rtf1_ansideff0_fonttbl_f0_fmodern__s__f0_fs_d
push ebx
call fcn.00452ae8
add esp, 0x30
cmp dword [ebp + 0x10], edi
mov esi, eax
je 0x4444b7
push 0x418
lea eax, [ebp - 0x46c]
push edi
push eax
call fcn.00452c10
mov eax, dword [ebp + 0x14]
add esp, 0xc
dec eax
cmp eax, edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x2c], eax
jle 0x44441c
mov esi, 0x1ff
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x10]
lea eax, [eax + ecx*4]
mov edx, dword [eax]
mov dword [ebp - 4], eax
mov eax, edx
shr eax, 9
mov ecx, edx
and ecx, esi
and eax, esi
test edx, 0x100000
je 0x4443bc
mov edx, ecx
mov ecx, eax
mov eax, edx
cmp dword [0x47cca8], edi
je 0x4443e0
mov edx, dword [ebp - 4]
test byte [edx + 2], 4
je 0x4443e0
cmp ecx, 8
jge 0x4443d7
add ecx, 8
jmp 0x4443e0
cmp ecx, 0x100
jl 0x4443e0
inc ecx
mov edx, dword [ebp - 4]
test byte [edx + 2], 0x20
je 0x4443fb
cmp eax, 8
jge 0x4443f3
add eax, 8
jmp 0x4443fb
cmp eax, 0x100
jl 0x4443fb
inc eax
lea ecx, [ebp + ecx*4 - 0x46c]
inc dword [ecx]
lea eax, [ebp + eax*4 - 0x46c]
inc dword [eax]
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x2c]
jl 0x444395
xor eax, eax
xor edx, edx
lea ecx, [ebp + edx*4 - 0x46c]
cmp dword [ecx], edi
je 0x44442e
inc eax
mov dword [ecx], eax
inc edx
cmp edx, 0x106
jl 0x444420
imul eax, eax, 0x19
add eax, dword [ebp - 0x24]
push 1
push eax
push ebx
call fcn.0040bd08
mov ebx, eax
push str.colortbl__
push ebx
call fcn.00453c80
push ebx
call fcn.00451fa0
mov esi, eax
lea eax, [ebp - 0x46c]
add esp, 0x18
mov edi, 0x47be11
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax], 0
je 0x444495
movzx eax, byte [edi - 1]
push eax
movzx eax, byte [edi]
push eax
movzx eax, byte [edi + 1]
push eax
lea eax, [esi + ebx]
push str._red_dgreen_d_blue_d_
push eax
call fcn.00452ae8
add esp, 0x14
add esi, eax
add dword [ebp - 4], 4
add edi, 3
cmp edi, 0x47c123
jl 0x44446c
lea eax, [esi + ebx]
push 0x472c28
push eax
call fcn.00453c70
pop ecx
inc esi
pop ecx
xor edi, edi
cmp dword [ebp - 0x1c], edi
jle 0x44487c
lea eax, [ebp - 0x66c]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x10]
jge 0x44487c
mov edx, dword [ebp - 0x28]
cmp byte [eax + edx], 0
je 0x44487c
mov edx, dword [ebp - 0x30]
cmp word [edx + ecx*2], di
je 0x44487c
lea edx, [eax + 1]
cmp edx, dword [ebp - 0x1c]
jge 0x444514
mov ecx, dword [ebp - 0x28]
cmp byte [eax + ecx], 0xd
jne 0x444514
cmp byte [eax + ecx + 1], 0xa
jne 0x444514
inc dword [ebp - 0x20]
add dword [ebp - 0xc], 2
mov dword [ebp - 0x10], edx
cmp dword [ebp + 0x10], edi
je 0x4446b4
lea eax, [esi + 0x40]
cmp dword [ebp - 0x24], eax
jge 0x44453c
lea eax, [esi + 0x200]
push 1
push eax
push ebx
mov dword [ebp - 0x24], eax
call fcn.0040bd08
add esp, 0xc
mov ebx, eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x10]
lea ecx, [eax + ecx*4]
mov edx, dword [ecx]
mov edi, edx
shr edi, 9
mov eax, edx
and eax, 0x1ff
and edi, 0x1ff
test edx, 0x100000
je 0x444567
mov edx, eax
mov eax, edi
mov edi, edx
cmp dword [0x47cca8], 0
je 0x444588
test byte [ecx + 2], 4
je 0x444588
cmp eax, 8
jge 0x444580
add eax, 8
jmp 0x444588
cmp eax, 0x100
jl 0x444588
inc eax
mov edx, dword [ecx]
test edx, 0x200000
je 0x4445a5
cmp edi, 8
jge 0x44459c
add edi, 8
jmp 0x4445a5
cmp edi, 0x100
jl 0x4445a5
inc edi
cmp dword [0x47be08], 0
je 0x4445b9
and edx, 0x40000
mov dword [ebp - 4], edx
jmp 0x4445bd
and dword [ebp - 4], 0
mov ecx, dword [ecx]
mov edx, ecx
and edx, 0x80000
test ecx, 0x100000
mov dword [ebp - 8], edx
jne 0x4445fe
mov ecx, 0x100
cmp edi, ecx
jl 0x4445de
or edi, 0xffffffff
cmp eax, ecx
jl 0x4445fe
cmp dword [0x47cca8], 0
je 0x4445fb
test al, 1
je 0x4445fb
cmp edi, 0xffffffff
jne 0x4445fb
mov dword [ebp - 4], 0x40000
or eax, 0xffffffff
cmp dword [ebp - 0x40], eax
je 0x44462c
test eax, eax
mov dword [ebp - 0x40], eax
jl 0x444613
mov eax, dword [ebp + eax*4 - 0x46c]
jmp 0x444615
xor eax, eax
push eax
lea eax, [esi + ebx]
push str.cf_d
push eax
call fcn.00452ae8
mov edx, dword [ebp - 8]
add esp, 0xc
add esi, eax
cmp dword [ebp - 0x3c], edi
je 0x44465a
test edi, edi
mov dword [ebp - 0x3c], edi
jl 0x444641
mov edi, dword [ebp + edi*4 - 0x46c]
jmp 0x444643
xor edi, edi
push edi
lea eax, [esi + ebx]
push str.highlight_d
push eax
call fcn.00452ae8
mov edx, dword [ebp - 8]
add esp, 0xc
add esi, eax
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x44], eax
je 0x44468a
mov dword [ebp - 0x44], eax
test eax, eax
mov eax, 0x472c0c
jne 0x444673
mov eax, str._b0
push eax
lea eax, [esi + ebx]
push 0x463914
push eax
call fcn.00452ae8
mov edx, dword [ebp - 8]
add esp, 0xc
add esi, eax
cmp dword [ebp - 0x38], edx
je 0x4446b4
test edx, edx
mov dword [ebp - 0x38], edx
mov eax, str.ul
jne 0x4446a0
mov eax, str.ulnone
push eax
lea eax, [esi + ebx]
push 0x463914
push eax
call fcn.00452ae8
add esp, 0xc
add esi, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x20]
add eax, ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
movzx eax, byte [eax]
mov ax, word [ebp + eax*2 - 0x66c]
lea edi, [ecx + edx*2]
cmp ax, word [edi]
jne 0x4446ea
xor edi, edi
mov dword [ebp - 8], 1
mov byte [ebp - 0x54], 0
mov dword [ebp - 4], edi
jmp 0x44474a
xor eax, eax
push eax
push eax
push eax
push eax
push 1
push dword [ebp - 0xc]
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 8], eax
cmp eax, 1
movzx eax, word [edi]
push eax
lea eax, [ebp - 0x54]
je 0x444736
push dword [ebp - 8]
push str.uc_du_d
push eax
call fcn.00452ae8
mov edi, eax
lea eax, [ebp - 0x34]
push 0x472c28
push eax
mov dword [ebp - 4], 1
call fcn.00453c70
add esp, 0x18
jmp 0x44474e
push str.u_d
push eax
call fcn.00452ae8
add esp, 0xc
and dword [ebp - 4], 0
mov edi, eax
mov byte [ebp - 0x34], 0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
add eax, ecx
cmp eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
jle 0x444775
push 0x143f
push str...windowswindow.c
push str.tindex__multilen___len2
call fcn.004522d8
add esp, 0xc
mov eax, dword [ebp - 4]
xor edx, edx
cmp dword [ebp - 8], edx
lea ecx, [eax + edi]
jle 0x4447b9
mov eax, dword [ebp - 0x2c]
mov al, byte [edx + eax]
cmp al, 0x5c
je 0x4447b1
cmp al, 0x7b
je 0x4447b1
cmp al, 0x7d
je 0x4447b1
cmp al, 0xd
je 0x4447ac
cmp al, 0xa
je 0x4447ac
cmp al, 0x7e
ja 0x4447a7
cmp al, 0x20
jb 0x4447a7
inc ecx
jmp 0x4447b3
add ecx, 4
jmp 0x4447b3
add ecx, 6
jmp 0x4447b3
inc ecx
inc ecx
inc edx
cmp edx, dword [ebp - 8]
jl 0x444782
lea eax, [ecx + esi]
lea ecx, [eax + 3]
cmp dword [ebp - 0x24], ecx
jge 0x4447da
add eax, 0x200
push 1
push eax
push ebx
mov dword [ebp - 0x24], eax
call fcn.0040bd08
add esp, 0xc
mov ebx, eax
lea eax, [ebp - 0x54]
push eax
lea eax, [esi + ebx]
push eax
call fcn.00453c70
add esi, edi
xor edi, edi
cmp dword [ebp - 8], edi
pop ecx
pop ecx
jle 0x444852
mov eax, dword [ebp - 0x2c]
lea ecx, [edi + eax]
mov al, byte [ecx]
cmp al, 0x5c
je 0x444841
cmp al, 0x7b
je 0x444841
cmp al, 0x7d
je 0x444841
cmp al, 0xd
je 0x44482d
cmp al, 0xa
je 0x44482d
cmp al, 0x7e
ja 0x444816
cmp al, 0x20
jae 0x444848
movzx eax, al
push eax
lea eax, [esi + ebx]
push str._02x
push eax
call fcn.00452ae8
add esp, 0xc
jmp 0x44483d
lea eax, [esi + ebx]
push str.par_r_n
push eax
call fcn.00452ae8
pop ecx
pop ecx
add esi, eax
jmp 0x44484c
mov byte [esi + ebx], 0x5c
mov al, byte [ecx]
inc esi
mov byte [esi + ebx], al
inc esi
inc edi
cmp edi, dword [ebp - 8]
jl 0x4447f2
lea eax, [ebp - 0x34]
push eax
lea eax, [esi + ebx]
push eax
call fcn.00453c70
add esi, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x20]
add dword [ebp - 0xc], 2
pop ecx
xor edi, edi
cmp eax, dword [ebp - 0x1c]
pop ecx
mov dword [ebp - 0x10], eax
jl 0x4444c9
mov byte [esi + ebx], 0x7d
inc esi
mov byte [esi + ebx], 0
inc esi
mov byte [esi + ebx], 0
inc esi
push esi
push 0x2002
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, edi
mov dword [ebp + 0x14], eax
je 0x4448bd
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
cmp eax, edi
je 0x4448bd
push esi
push ebx
push eax
call fcn.004526b0
add esp, 0xc
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push ebx
call fcn.0040bd73
pop ecx
jmp 0x4448c9
mov dword [ebp + 0x14], edi
push dword [ebp - 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call esi
push dword [ebp - 0x14]
call esi
cmp dword [ebp + 0x18], edi
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
jne 0x4448f4
push edi
push 1
push 0x8002
push dword [0x47e55c]
call ebx
push dword [0x47e55c]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x44493c
call dword [sym.imp.USER32.dll_EmptyClipboard]
push dword [ebp - 0x18]
mov esi, dword [sym.imp.USER32.dll_SetClipboardData]
push 0xd
call esi
push dword [ebp - 0x14]
push 1
call esi
cmp dword [ebp + 0x14], edi
je 0x444934
push dword [ebp + 0x14]
push str.Rich_Text_Format
call dword [sym.imp.USER32.dll_RegisterClipboardFormatA]
push eax
call esi
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x44494c
push dword [ebp - 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalFree]
call esi
push dword [ebp - 0x14]
call esi
cmp dword [ebp + 0x18], edi
jne 0x44496e
push edi
push edi
push 0x8002
push dword [0x47e55c]
call ebx
jmp 0x44496e
call ebx
cmp dword [ebp - 0x14], edi
je 0x44496e
push dword [ebp - 0x14]
call ebx
pop edi
pop esi
pop ebx
leave
ret