Function at 0x43f91b
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 0x440055
cmp eax, edi
push dword [ebp - 0x18]
je 0x440053
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalLock]
call ebx
cmp eax, edi
mov dword [ebp - 0x30], eax
jne 0x43f99d
push dword [ebp - 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalFree]
call esi
push dword [ebp - 0x14]
call esi
jmp 0x44005f
push dword [ebp - 0x14]
call ebx
cmp eax, edi
mov dword [ebp - 0x28], eax
jne 0x43f9b4
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x43f988
push esi
push dword [ebp + 0xc]
push dword [ebp - 0x30]
call fcn.0044c930
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 [0x4774dc]
call fcn.00402036
test eax, eax
pop ecx
pop ecx
je 0x43ffb7
push 0x70
push dword [0x4774dc]
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.0040240c
mov esi, eax
push edi
lea eax, [ebp - 0x66c]
push eax
push edi
call fcn.0044aa25
push dword [esi]
call fcn.0044c220
add eax, 0x64
push 1
push eax
mov dword [ebp - 0x24], eax
call fcn.0040b3b0
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.0044cd68
add esp, 0x30
cmp dword [ebp + 0x10], edi
mov esi, eax
je 0x43fba8
push 0x418
lea eax, [ebp - 0x46c]
push edi
push eax
call fcn.0044ce90
mov eax, dword [ebp + 0x14]
add esp, 0xc
dec eax
cmp eax, edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x2c], eax
jle 0x43fb0d
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 0x43faad
mov edx, ecx
mov ecx, eax
mov eax, edx
cmp dword [0x475c78], edi
je 0x43fad1
mov edx, dword [ebp - 4]
test byte [edx + 2], 4
je 0x43fad1
cmp ecx, 8
jge 0x43fac8
add ecx, 8
jmp 0x43fad1
cmp ecx, 0x100
jl 0x43fad1
inc ecx
mov edx, dword [ebp - 4]
test byte [edx + 2], 0x20
je 0x43faec
cmp eax, 8
jge 0x43fae4
add eax, 8
jmp 0x43faec
cmp eax, 0x100
jl 0x43faec
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 0x43fa86
xor eax, eax
xor edx, edx
lea ecx, [ebp + edx*4 - 0x46c]
cmp dword [ecx], edi
je 0x43fb1f
inc eax
mov dword [ecx], eax
inc edx
cmp edx, 0x106
jl 0x43fb11
imul eax, eax, 0x19
add eax, dword [ebp - 0x24]
push 1
push eax
push ebx
call fcn.0040b40a
mov ebx, eax
push str.colortbl__
push ebx
call fcn.0044df00
push ebx
call fcn.0044c220
mov esi, eax
lea eax, [ebp - 0x46c]
add esp, 0x18
mov edi, 0x474de1
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax], 0
je 0x43fb86
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.0044cd68
add esp, 0x14
add esi, eax
add dword [ebp - 4], 4
add edi, 3
cmp edi, 0x4750f3
jl 0x43fb5d
lea eax, [esi + ebx]
push 0x46bad4
push eax
call fcn.0044def0
pop ecx
inc esi
pop ecx
xor edi, edi
cmp dword [ebp - 0x1c], edi
jle 0x43ff6d
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 0x43ff6d
mov edx, dword [ebp - 0x28]
cmp byte [eax + edx], 0
je 0x43ff6d
mov edx, dword [ebp - 0x30]
cmp word [edx + ecx*2], di
je 0x43ff6d
lea edx, [eax + 1]
cmp edx, dword [ebp - 0x1c]
jge 0x43fc05
mov ecx, dword [ebp - 0x28]
cmp byte [eax + ecx], 0xd
jne 0x43fc05
cmp byte [eax + ecx + 1], 0xa
jne 0x43fc05
inc dword [ebp - 0x20]
add dword [ebp - 0xc], 2
mov dword [ebp - 0x10], edx
cmp dword [ebp + 0x10], edi
je 0x43fda5
lea eax, [esi + 0x40]
cmp dword [ebp - 0x24], eax
jge 0x43fc2d
lea eax, [esi + 0x200]
push 1
push eax
push ebx
mov dword [ebp - 0x24], eax
call fcn.0040b40a
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 0x43fc58
mov edx, eax
mov eax, edi
mov edi, edx
cmp dword [0x475c78], 0
je 0x43fc79
test byte [ecx + 2], 4
je 0x43fc79
cmp eax, 8
jge 0x43fc71
add eax, 8
jmp 0x43fc79
cmp eax, 0x100
jl 0x43fc79
inc eax
mov edx, dword [ecx]
test edx, 0x200000
je 0x43fc96
cmp edi, 8
jge 0x43fc8d
add edi, 8
jmp 0x43fc96
cmp edi, 0x100
jl 0x43fc96
inc edi
cmp dword [0x474ddc], 0
je 0x43fcaa
and edx, 0x40000
mov dword [ebp - 4], edx
jmp 0x43fcae
and dword [ebp - 4], 0
mov ecx, dword [ecx]
mov edx, ecx
and edx, 0x80000
test ecx, 0x100000
mov dword [ebp - 8], edx
jne 0x43fcef
mov ecx, 0x100
cmp edi, ecx
jl 0x43fccf
or edi, 0xffffffff
cmp eax, ecx
jl 0x43fcef
cmp dword [0x475c78], 0
je 0x43fcec
test al, 1
je 0x43fcec
cmp edi, 0xffffffff
jne 0x43fcec
mov dword [ebp - 4], 0x40000
or eax, 0xffffffff
cmp dword [ebp - 0x40], eax
je 0x43fd1d
test eax, eax
mov dword [ebp - 0x40], eax
jl 0x43fd04
mov eax, dword [ebp + eax*4 - 0x46c]
jmp 0x43fd06
xor eax, eax
push eax
lea eax, [esi + ebx]
push str.cf_d
push eax
call fcn.0044cd68
mov edx, dword [ebp - 8]
add esp, 0xc
add esi, eax
cmp dword [ebp - 0x3c], edi
je 0x43fd4b
test edi, edi
mov dword [ebp - 0x3c], edi
jl 0x43fd32
mov edi, dword [ebp + edi*4 - 0x46c]
jmp 0x43fd34
xor edi, edi
push edi
lea eax, [esi + ebx]
push str.highlight_d
push eax
call fcn.0044cd68
mov edx, dword [ebp - 8]
add esp, 0xc
add esi, eax
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x44], eax
je 0x43fd7b
mov dword [ebp - 0x44], eax
test eax, eax
mov eax, 0x46bab8
jne 0x43fd64
mov eax, str._b0
push eax
lea eax, [esi + ebx]
push 0x45dc10
push eax
call fcn.0044cd68
mov edx, dword [ebp - 8]
add esp, 0xc
add esi, eax
cmp dword [ebp - 0x38], edx
je 0x43fda5
test edx, edx
mov dword [ebp - 0x38], edx
mov eax, str.ul
jne 0x43fd91
mov eax, str.ulnone
push eax
lea eax, [esi + ebx]
push 0x45dc10
push eax
call fcn.0044cd68
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 0x43fddb
xor edi, edi
mov dword [ebp - 8], 1
mov byte [ebp - 0x54], 0
mov dword [ebp - 4], edi
jmp 0x43fe3b
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 0x43fe27
push dword [ebp - 8]
push str.uc_du_d
push eax
call fcn.0044cd68
mov edi, eax
lea eax, [ebp - 0x34]
push 0x46bad4
push eax
mov dword [ebp - 4], 1
call fcn.0044def0
add esp, 0x18
jmp 0x43fe3f
push str.u_d
push eax
call fcn.0044cd68
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 0x43fe66
push 0x1422
push str...windowswindow.c
push str.tindex__multilen___len2
call fcn.0044c558
add esp, 0xc
mov eax, dword [ebp - 4]
xor edx, edx
cmp dword [ebp - 8], edx
lea ecx, [eax + edi]
jle 0x43feaa
mov eax, dword [ebp - 0x2c]
mov al, byte [edx + eax]
cmp al, 0x5c
je 0x43fea2
cmp al, 0x7b
je 0x43fea2
cmp al, 0x7d
je 0x43fea2
cmp al, 0xd
je 0x43fe9d
cmp al, 0xa
je 0x43fe9d
cmp al, 0x7e
ja 0x43fe98
cmp al, 0x20
jb 0x43fe98
inc ecx
jmp 0x43fea4
add ecx, 4
jmp 0x43fea4
add ecx, 6
jmp 0x43fea4
inc ecx
inc ecx
inc edx
cmp edx, dword [ebp - 8]
jl 0x43fe73
lea eax, [ecx + esi]
lea ecx, [eax + 3]
cmp dword [ebp - 0x24], ecx
jge 0x43fecb
add eax, 0x200
push 1
push eax
push ebx
mov dword [ebp - 0x24], eax
call fcn.0040b40a
add esp, 0xc
mov ebx, eax
lea eax, [ebp - 0x54]
push eax
lea eax, [esi + ebx]
push eax
call fcn.0044def0
add esi, edi
xor edi, edi
cmp dword [ebp - 8], edi
pop ecx
pop ecx
jle 0x43ff43
mov eax, dword [ebp - 0x2c]
lea ecx, [edi + eax]
mov al, byte [ecx]
cmp al, 0x5c
je 0x43ff32
cmp al, 0x7b
je 0x43ff32
cmp al, 0x7d
je 0x43ff32
cmp al, 0xd
je 0x43ff1e
cmp al, 0xa
je 0x43ff1e
cmp al, 0x7e
ja 0x43ff07
cmp al, 0x20
jae 0x43ff39
movzx eax, al
push eax
lea eax, [esi + ebx]
push str._02x
push eax
call fcn.0044cd68
add esp, 0xc
jmp 0x43ff2e
lea eax, [esi + ebx]
push str.par_r_n
push eax
call fcn.0044cd68
pop ecx
pop ecx
add esi, eax
jmp 0x43ff3d
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 0x43fee3
lea eax, [ebp - 0x34]
push eax
lea eax, [esi + ebx]
push eax
call fcn.0044def0
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 0x43fbba
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 0x43ffae
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
cmp eax, edi
je 0x43ffae
push esi
push ebx
push eax
call fcn.0044c930
add esp, 0xc
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push ebx
call fcn.0040b470
pop ecx
jmp 0x43ffba
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 0x43ffe5
push edi
push 1
push 0x8002
push dword [0x4774fc]
call ebx
push dword [0x4774fc]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x44002d
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 0x440025
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 0x44003d
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 0x44005f
push edi
push edi
push 0x8002
push dword [0x4774fc]
call ebx
jmp 0x44005f
call ebx
cmp dword [ebp - 0x14], edi
je 0x44005f
push dword [ebp - 0x14]
call ebx
pop edi
pop esi
pop ebx
leave
ret