Function at 0x43da25
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 - 0x20], eax
call ebx
push dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
push 0x2002
call ebx
cmp dword [ebp - 0x24], edi
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp - 0x14], eax
je 0x43e139
cmp eax, edi
push dword [ebp - 0x24]
je 0x43e137
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalLock]
call ebx
cmp eax, edi
mov dword [ebp - 0x30], eax
je 0x43e143
push dword [ebp - 0x14]
call ebx
cmp eax, edi
mov dword [ebp - 0x2c], eax
je 0x43e143
push esi
push dword [ebp + 0xc]
push dword [ebp - 0x30]
call fcn.00449910
add esp, 0xc
push edi
push edi
push dword [ebp - 0x20]
push dword [ebp - 0x2c]
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push edi
push edi
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp dword [0x477004], edi
je 0x43e09b
push edi
lea eax, [ebp - 0x66c]
push eax
push edi
mov dword [ebp - 0x18], 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.00447ddb
mov esi, 0x476ca4
push esi
call fcn.00449600
add eax, 0x64
push 1
push eax
mov dword [ebp - 0x28], eax
call fcn.0040a6b0
mov ebx, eax
mov eax, dword [0x476ce8]
add eax, eax
push eax
push esi
push str._rtf1_ansideff0_fonttbl_f0_fmodern__s__f0_fs_d
push ebx
call fcn.00449da8
add esp, 0x28
cmp dword [ebp + 0x10], edi
mov esi, eax
je 0x43dc86
push 0x418
lea eax, [ebp - 0x46c]
push edi
push eax
call fcn.004495a0
mov eax, dword [ebp + 0x14]
add esp, 0xc
dec eax
cmp eax, edi
mov dword [ebp - 8], edi
mov dword [ebp - 0x1c], eax
jle 0x43dbe7
mov esi, 0x1ff
mov ecx, dword [ebp - 8]
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 0x43db87
mov edx, ecx
mov ecx, eax
mov eax, edx
cmp dword [0x47361c], edi
jne 0x43dbab
mov edx, dword [ebp - 4]
test byte [edx + 2], 4
je 0x43dbab
cmp ecx, 8
jge 0x43dba2
add ecx, 8
jmp 0x43dbab
cmp ecx, 0x100
jl 0x43dbab
inc ecx
mov edx, dword [ebp - 4]
test byte [edx + 2], 0x20
je 0x43dbc6
cmp eax, 8
jge 0x43dbbe
add eax, 8
jmp 0x43dbc6
cmp eax, 0x100
jl 0x43dbc6
inc eax
lea ecx, [ebp + ecx*4 - 0x46c]
inc dword [ecx]
lea eax, [ebp + eax*4 - 0x46c]
inc dword [eax]
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x1c]
jl 0x43db60
xor eax, eax
xor edx, edx
lea ecx, [ebp + edx*4 - 0x46c]
cmp dword [ecx], edi
je 0x43dbf9
inc eax
mov dword [ecx], eax
inc edx
cmp edx, 0x106
jl 0x43dbeb
imul eax, eax, 0x19
add eax, dword [ebp - 0x28]
push 1
push eax
push ebx
call fcn.0040a70a
mov ebx, eax
push str.colortbl__
push ebx
call fcn.0044a1f0
push ebx
call fcn.00449600
mov esi, eax
lea eax, [ebp - 0x46c]
add esp, 0x18
mov dword [ebp - 8], 0x4727c9
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax], edi
je 0x43dc64
mov eax, dword [ebp - 8]
movzx ecx, byte [eax - 1]
push ecx
movzx ecx, byte [eax]
movzx eax, byte [eax + 1]
push ecx
push eax
lea eax, [esi + ebx]
push str._red_dgreen_d_blue_d_
push eax
call fcn.00449da8
add esp, 0x14
add esi, eax
add dword [ebp - 8], 3
add dword [ebp - 4], 4
cmp dword [ebp - 8], 0x472adb
jl 0x43dc39
lea eax, [esi + ebx]
push 0x4697f8
push eax
call fcn.0044a1e0
pop ecx
pop ecx
inc esi
cmp dword [ebp - 0x20], edi
jle 0x43e051
lea eax, [ebp - 0x66c]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x10]
jge 0x43e051
mov edx, dword [ebp - 0x2c]
cmp byte [eax + edx], 0
je 0x43e051
mov edx, dword [ebp - 0x30]
cmp word [edx + ecx*2], di
je 0x43e051
lea edx, [eax + 1]
cmp edx, dword [ebp - 0x20]
jge 0x43dce3
mov ecx, dword [ebp - 0x2c]
cmp byte [eax + ecx], 0xd
jne 0x43dce3
cmp byte [eax + ecx + 1], 0xa
jne 0x43dce3
inc dword [ebp - 0x18]
add dword [ebp - 8], 2
mov dword [ebp - 0x10], edx
cmp dword [ebp + 0x10], edi
je 0x43de89
lea eax, [esi + 0x40]
cmp dword [ebp - 0x28], eax
jge 0x43dd0b
lea eax, [esi + 0x200]
push 1
push eax
push ebx
mov dword [ebp - 0x28], eax
call fcn.0040a70a
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 0x43dd36
mov edx, eax
mov eax, edi
mov edi, edx
cmp dword [0x47361c], 0
jne 0x43dd57
test byte [ecx + 2], 4
je 0x43dd57
cmp eax, 8
jge 0x43dd4f
add eax, 8
jmp 0x43dd57
cmp eax, 0x100
jl 0x43dd57
inc eax
mov edx, dword [ecx]
test edx, 0x200000
mov dword [ebp - 0x1c], edx
je 0x43dd77
cmp edi, 8
jge 0x43dd6e
add edi, 8
jmp 0x43dd77
cmp edi, 0x100
jl 0x43dd77
inc edi
cmp dword [0x47361c], 0
je 0x43dd8e
mov edx, dword [ebp - 0x1c]
and edx, 0x40000
mov dword [ebp - 4], edx
jmp 0x43dd92
and dword [ebp - 4], 0
mov ecx, dword [ecx]
mov edx, ecx
and edx, 0x80000
test ecx, 0x100000
mov dword [ebp - 0xc], edx
jne 0x43ddd3
mov ecx, pe_nt_image_headers32
cmp edi, ecx
jl 0x43ddb3
or edi, 0xffffffff
cmp eax, ecx
jl 0x43ddd3
cmp dword [0x47361c], 0
jne 0x43ddd0
test al, 1
je 0x43ddd0
cmp edi, 0xffffffff
jne 0x43ddd0
mov dword [ebp - 4], 0x40000
or eax, 0xffffffff
cmp dword [ebp - 0x40], eax
je 0x43de01
test eax, eax
mov dword [ebp - 0x40], eax
jl 0x43dde8
mov eax, dword [ebp + eax*4 - 0x46c]
jmp 0x43ddea
xor eax, eax
push eax
lea eax, [esi + ebx]
push str.cf_d
push eax
call fcn.00449da8
mov edx, dword [ebp - 0xc]
add esp, 0xc
add esi, eax
cmp dword [ebp - 0x3c], edi
je 0x43de2f
test edi, edi
mov dword [ebp - 0x3c], edi
jl 0x43de16
mov edi, dword [ebp + edi*4 - 0x46c]
jmp 0x43de18
xor edi, edi
push edi
lea eax, [esi + ebx]
push str.highlight_d
push eax
call fcn.00449da8
mov edx, dword [ebp - 0xc]
add esp, 0xc
add esi, eax
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x44], eax
je 0x43de5f
mov dword [ebp - 0x44], eax
test eax, eax
mov eax, 0x4697dc
jne 0x43de48
mov eax, str._b0
push eax
lea eax, [esi + ebx]
push 0x45ba30
push eax
call fcn.00449da8
mov edx, dword [ebp - 0xc]
add esp, 0xc
add esi, eax
cmp dword [ebp - 0x38], edx
je 0x43de89
test edx, edx
mov dword [ebp - 0x38], edx
mov eax, str.ul
jne 0x43de75
mov eax, str.ulnone
push eax
lea eax, [esi + ebx]
push 0x45ba30
push eax
call fcn.00449da8
add esp, 0xc
add esi, eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
add eax, ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
movzx eax, byte [eax]
mov ax, word [ebp + eax*2 - 0x66c]
lea edi, [ecx + edx*2]
cmp ax, word [edi]
jne 0x43debf
xor edi, edi
mov dword [ebp - 0xc], 1
mov byte [ebp - 0x54], 0
mov dword [ebp - 4], edi
jmp 0x43df1f
xor eax, eax
push eax
push eax
push eax
push eax
push 1
push dword [ebp - 8]
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0xc], eax
cmp eax, 1
movzx eax, word [edi]
push eax
lea eax, [ebp - 0x54]
je 0x43df0b
push dword [ebp - 0xc]
push str.uc_du_d
push eax
call fcn.00449da8
mov edi, eax
lea eax, [ebp - 0x34]
push 0x4697f8
push eax
mov dword [ebp - 4], 1
call fcn.0044a1e0
add esp, 0x18
jmp 0x43df23
push str.u_d
push eax
call fcn.00449da8
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 - 0xc]
add eax, ecx
cmp eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
jle 0x43df4a
push 0x1336
push str...windowswindow.c
push str.tindex__multilen___len2
call fcn.00449e00
add esp, 0xc
mov eax, dword [ebp - 4]
xor edx, edx
cmp dword [ebp - 0xc], edx
lea ecx, [eax + edi]
jle 0x43df8e
mov eax, dword [ebp - 0x1c]
mov al, byte [eax + edx]
cmp al, 0x5c
je 0x43df86
cmp al, 0x7b
je 0x43df86
cmp al, 0x7d
je 0x43df86
cmp al, 0xd
je 0x43df81
cmp al, 0xa
je 0x43df81
cmp al, 0x7e
ja 0x43df7c
cmp al, 0x20
jb 0x43df7c
inc ecx
jmp 0x43df88
add ecx, 4
jmp 0x43df88
add ecx, 6
jmp 0x43df88
inc ecx
inc ecx
inc edx
cmp edx, dword [ebp - 0xc]
jl 0x43df57
lea eax, [ecx + esi]
lea ecx, [eax + 3]
cmp dword [ebp - 0x28], ecx
jge 0x43dfaf
add eax, 0x200
push 1
push eax
push ebx
mov dword [ebp - 0x28], eax
call fcn.0040a70a
add esp, 0xc
mov ebx, eax
lea eax, [ebp - 0x54]
push eax
lea eax, [esi + ebx]
push eax
call fcn.0044a1e0
add esi, edi
xor edi, edi
cmp dword [ebp - 0xc], edi
pop ecx
pop ecx
jle 0x43e027
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + edi]
mov al, byte [ecx]
cmp al, 0x5c
je 0x43e016
cmp al, 0x7b
je 0x43e016
cmp al, 0x7d
je 0x43e016
cmp al, 0xd
je 0x43e002
cmp al, 0xa
je 0x43e002
cmp al, 0x7e
ja 0x43dfeb
cmp al, 0x20
jae 0x43e01d
movzx eax, al
push eax
lea eax, [esi + ebx]
push str._02x
push eax
call fcn.00449da8
add esp, 0xc
jmp 0x43e012
lea eax, [esi + ebx]
push str.par_r_n
push eax
call fcn.00449da8
pop ecx
pop ecx
add esi, eax
jmp 0x43e021
mov byte [esi + ebx], 0x5c
mov al, byte [ecx]
inc esi
mov byte [esi + ebx], al
inc esi
inc edi
cmp edi, dword [ebp - 0xc]
jl 0x43dfc7
lea eax, [ebp - 0x34]
push eax
lea eax, [esi + ebx]
push eax
call fcn.0044a1e0
add esi, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x18]
add dword [ebp - 8], 2
pop ecx
xor edi, edi
cmp eax, dword [ebp - 0x20]
pop ecx
mov dword [ebp - 0x10], eax
jl 0x43dc98
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 0x43e092
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
cmp eax, edi
je 0x43e092
push esi
push ebx
push eax
call fcn.00449910
add esp, 0xc
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push ebx
call fcn.0040a770
pop ecx
jmp 0x43e09e
mov dword [ebp + 0x14], edi
push dword [ebp - 0x24]
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 0x43e0c9
push edi
push 1
push 0x8002
push dword [0x477a58]
call ebx
push dword [0x477a58]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x43e111
call dword [sym.imp.USER32.dll_EmptyClipboard]
push dword [ebp - 0x24]
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 0x43e109
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 0x43e121
push dword [ebp - 0x24]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalFree]
call esi
push dword [ebp - 0x14]
call esi
cmp dword [ebp + 0x18], edi
jne 0x43e143
push edi
push edi
push 0x8002
push dword [0x477a58]
call ebx
jmp 0x43e143
call ebx
cmp dword [ebp - 0x14], edi
je 0x43e143
push dword [ebp - 0x14]
call ebx
pop edi
pop esi
pop ebx
leave
ret