Function at 0x425289
Capabilities:
Write clipboard data

Disassembly:
sub esp, 0xc
push ebp
push edi
push esi
push ebx
mov edi, dword [esp + 0x20]
add esp, 0xfffffff4
push dword [0x4f5f84]
call sub.USER32.dll_OpenClipboard
add esp, 0xc
test eax, eax
jne 0x4250f7
xor eax, eax
jmp 0x4252ea
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
add ebx, eax
xor esi, esi
mov eax, edi
cmp esi, edi
jge 0x42519d
mov edx, edi
and edx, 3
test edi, edi
jle 0x425142
test edx, edx
je 0x425155
cmp edx, 1
jle 0x425142
cmp edx, 2
jle 0x425133
cmp byte [ebx], 0xd
jne 0x425132
cmp byte [ebx + 1], 0xa
je 0x425132
lea eax, [edi + 1]
inc esi
cmp byte [esi + ebx], 0xd
jne 0x425141
cmp byte [ebx + esi + 1], 0xa
je 0x425141
inc eax
inc esi
cmp byte [esi + ebx], 0xd
jne 0x425150
cmp byte [ebx + esi + 1], 0xa
je 0x425150
inc eax
inc esi
cmp esi, edi
jge 0x42519d
cmp byte [esi + ebx], 0xd
jne 0x425163
cmp byte [ebx + esi + 1], 0xa
je 0x425163
inc eax
lea edx, [esi + 1]
cmp byte [edx + ebx], 0xd
jne 0x425174
cmp byte [ebx + edx + 1], 0xa
je 0x425174
inc eax
lea edx, [esi + 2]
cmp byte [edx + ebx], 0xd
jne 0x425185
cmp byte [ebx + edx + 1], 0xa
je 0x425185
inc eax
lea edx, [esi + 3]
cmp byte [edx + ebx], 0xd
jne 0x425196
cmp byte [ebx + edx + 1], 0xa
je 0x425196
inc eax
add esi, 4
cmp esi, edi
jl 0x425155
add esp, 0xfffffff4
inc eax
push eax
call fcn.004f1e90
mov ebp, eax
mov edx, ebp
add esp, 0x10
test edi, edi
jle 0x42527c
mov esi, edi
mov eax, esi
neg eax
and eax, 3
je 0x425213
cmp eax, 3
jge 0x4251fb
cmp eax, 2
jge 0x4251e5
mov al, byte [ebx]
mov byte [ebp], al
cmp byte [ebx], 0xd
jne 0x4251e2
cmp byte [ebx + 1], 0xa
je 0x4251e2
lea edx, [ebp + 1]
mov byte [ebp + 1], 0xa
dec esi
inc edx
inc ebx
mov al, byte [ebx]
mov byte [edx], al
cmp byte [ebx], 0xd
jne 0x4251f8
cmp byte [ebx + 1], 0xa
je 0x4251f8
inc edx
mov byte [edx], 0xa
dec esi
inc edx
inc ebx
mov al, byte [ebx]
mov byte [edx], al
cmp byte [ebx], 0xd
jne 0x42520e
cmp byte [ebx + 1], 0xa
je 0x42520e
inc edx
mov byte [edx], 0xa
inc edx
inc ebx
dec esi
je 0x42527c
mov al, byte [ebx]
mov byte [edx], al
cmp byte [ebx], 0xd
jne 0x425226
cmp byte [ebx + 1], 0xa
je 0x425226
inc edx
mov byte [edx], 0xa
inc edx
lea ecx, [ebx + 1]
mov al, byte [ebx + 1]
mov byte [edx], al
cmp byte [ebx + 1], 0xd
jne 0x42523f
cmp byte [ecx + 1], 0xa
je 0x42523f
inc edx
mov byte [edx], 0xa
inc edx
lea ecx, [ebx + 2]
mov al, byte [ebx + 2]
mov byte [edx], al
cmp byte [ebx + 2], 0xd
jne 0x425258
cmp byte [ecx + 1], 0xa
je 0x425258
inc edx
mov byte [edx], 0xa
inc edx
lea ecx, [ebx + 3]
mov al, byte [ebx + 3]
mov byte [edx], al
cmp byte [ebx + 3], 0xd
jne 0x425271
cmp byte [ecx + 1], 0xa
je 0x425271
inc edx
mov byte [edx], 0xa
add esi, 0xfffffffc
inc edx
add ebx, 4
test esi, esi
jne 0x425213
mov byte [edx], 0
add esp, 0xfffffff8
push 0
push 0
push 0xffffffffffffffff
push ebp
push 0
push 0xfde9
call sub.KERNEL32.dll_MultiByteToWideChar
mov ebx, eax
lea eax, [ebx + ebx]
push eax
push 0x2002
call sub.KERNEL32.dll_GlobalAlloc
mov esi, eax
add esp, 0xfffffffc
push esi
call sub.KERNEL32.dll_GlobalLock
add esp, 0xfffffff4
push ebx
push eax
push 0xffffffffffffffff
push ebp
push 0
push 0xfde9
call sub.KERNEL32.dll_MultiByteToWideChar
add esp, 0xfffffff8
call sub.USER32.dll_EmptyClipboard
add esp, 0x20
add esp, 0xfffffff8
push esi
push 0xd
call sub.USER32.dll_SetClipboardData
add esp, 0xfffffff8
call sub.USER32.dll_CloseClipboard
mov eax, 1
add esp, 0x10
pop ebx
pop esi
pop edi
pop ebp
add esp, 0xc
ret