Function at 0x41e520
Capabilities:
Open clipboard
Read clipboard data
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x500
push ebx
push ebp
push esi
push edi
call fcn.00536930
mov ecx, eax
call fcn.005366c0
test eax, eax
mov dword [esp + 0x1c], eax
je 0x41e905
mov ecx, dword [eax + 0x898]
test ecx, ecx
jne 0x41e905
mov eax, dword [0x589b2c]
test eax, eax
je 0x41e905
mov eax, dword [0x5a1b00]
push eax
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x41e905
push 1
call dword [sym.imp.USER32.dll_GetClipboardData]
mov esi, eax
test esi, esi
mov dword [esp + 0x14], esi
je 0x41e678
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebp, eax
test ebp, ebp
jne 0x41e5b4
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [ebp]
xor ebx, ebx
xor edi, edi
test al, al
mov esi, ebp
jne 0x41e5e0
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi], 0
je 0x41e61f
push 0xa
push esi
call fcn.00563730
add esp, 8
test eax, eax
je 0x41e619
test edi, edi
je 0x41e5f9
inc ebx
cmp esi, eax
je 0x41e602
inc ebx
xor edi, edi
jmp 0x41e607
mov edi, 1
mov cl, byte [eax + 1]
inc eax
cmp cl, 0xd
jne 0x41e611
inc eax
test eax, eax
mov esi, eax
jne 0x41e5e0
jmp 0x41e61f
inc ebx
test edi, edi
je 0x41e61f
inc ebx
cmp ebx, dword [0x589b30]
jge 0x41e645
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, ebp
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41e650
sub eax, edx
lea esi, [eax + 0xa]
push esi
call fcn.005635a3
add esp, 4
test eax, eax
mov dword [esp + 0x18], eax
jne 0x41e68b
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x18]
mov ecx, esi
shr ecx, 2
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x41e6a5
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edi, dword [sym.imp.USER32.dll_CloseClipboard]
call edi
push ebx
xor edx, edx
mov ecx, 0x264
call fcn.0041c9e0
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
push eax
lea edx, [esp + 0x130]
push edx
call ebp
mov ebx, dword [esp + 0x24]
add esp, 0xc
mov edx, ebx
lea esp, [esp]
mov al, byte [edx]
cmp al, 0xd
je 0x41e6fe
cmp al, 0xa
je 0x41e6fe
cmp al, 0x20
jne 0x41e701
inc edx
jmp 0x41e6f0
cmp byte [edx], 0
je 0x41e808
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x20]
push 0xfa
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x28]
push eax
call fcn.005635f0
mov cl, byte [esp + 0x2c]
mov esi, dword [0x575654]
add esp, 0xc
xor edx, edx
test cl, cl
lea eax, [esp + 0x20]
je 0x41e771
mov edi, edi
mov cl, byte [eax]
cmp cl, 0xd
jne 0x41e753
cmp byte [eax + 1], 0xa
jne 0x41e758
inc edx
add eax, 2
jmp 0x41e75a
cmp cl, 0xa
jne 0x41e759
inc edx
inc eax
cmp edx, 9
jge 0x41e766
cmp byte [eax], 0
jne 0x41e740
jmp 0x41e771
mov cl, byte [0x575658]
mov dword [eax], esi
mov byte [eax + 4], cl
lea eax, [esp + 0x20]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41e778
sub eax, edx
lea eax, [esp + eax + 0x1f]
lea edx, [esp + 0x20]
cmp eax, edx
jbe 0x41e7ad
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0xd
je 0x41e7a1
cmp cl, 0xa
je 0x41e7a1
cmp cl, 0x20
jne 0x41e7ad
mov byte [eax], 0
dec eax
lea ecx, [esp + 0x20]
cmp eax, ecx
ja 0x41e790
lea eax, [esp + 0x20]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41e7b4
sub eax, edx
cmp eax, 0xf0
jle 0x41e7d8
mov dl, byte [0x575658]
mov dword [esp + 0x110], esi
mov byte [esp + 0x114], dl
lea eax, [esp + 0x128]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41e7e2
lea ecx, [esp + 0x20]
push ecx
sub eax, edx
lea edx, [esp + eax + 0x12c]
push 0x575648
push edx
call ebp
mov edi, dword [sym.imp.USER32.dll_CloseClipboard]
add esp, 0xc
push 0
push 0
push 0
push 0
push 2
push 4
push 0
lea eax, [esp + 0x144]
push eax
xor edx, edx
mov ecx, 0x263
call fcn.0041c9e0
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov edx, eax
call fcn.004b2150
test eax, eax
jne 0x41e84e
push ebx
call fcn.005635b5
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x5a1b00]
push edx
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x41e89d
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41e864
sub eax, edx
add eax, 0xa
push eax
push 0x2042
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x41e89b
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
jne 0x41e8d3
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
call edi
push ebx
call fcn.005635b5
mov eax, dword [0x5903d0]
add esp, 4
test eax, eax
je 0x41e8c1
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_MessageBeep]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, eax
mov ecx, ebx
sub edx, ebx
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x41e8e0
push ebx
call fcn.005635b5
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
call edi
pop edi
mov eax, 1
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret