Function at 0x41f240
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.00542f00
mov ecx, eax
call fcn.00542c90
test eax, eax
mov dword [esp + 0x1c], eax
je 0x41f625
mov ecx, dword [eax + 0x8a0]
test ecx, ecx
jne 0x41f625
mov eax, dword [0x59bc28]
test eax, eax
je 0x41f625
mov eax, dword [0x5b4314]
push eax
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x41f625
push 1
call dword [sym.imp.USER32.dll_GetClipboardData]
mov esi, eax
test esi, esi
mov dword [esp + 0x14], esi
je 0x41f398
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebp, eax
test ebp, ebp
jne 0x41f2d4
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 0x41f300
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 0x41f33f
push 0xa
push esi
call fcn.00570260
add esp, 8
test eax, eax
je 0x41f339
test edi, edi
je 0x41f319
inc ebx
cmp esi, eax
je 0x41f322
inc ebx
xor edi, edi
jmp 0x41f327
mov edi, 1
mov cl, byte [eax + 1]
inc eax
cmp cl, 0xd
jne 0x41f331
inc eax
test eax, eax
mov esi, eax
jne 0x41f300
jmp 0x41f33f
inc ebx
test edi, edi
je 0x41f33f
inc ebx
cmp ebx, dword [0x59bc2c]
jge 0x41f365
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 0x41f370
sub eax, edx
lea esi, [eax + 0xa]
push esi
call fcn.00570098
add esp, 4
test eax, eax
mov dword [esp + 0x18], eax
jne 0x41f3ab
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 0x41f3c5
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.0041d620
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 0x41f41e
cmp al, 0xa
je 0x41f41e
cmp al, 0x20
jne 0x41f421
inc edx
jmp 0x41f410
cmp byte [edx], 0
je 0x41f528
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.00570120
mov cl, byte [esp + 0x2c]
mov esi, dword [str._...]
add esp, 0xc
xor edx, edx
test cl, cl
lea eax, [esp + 0x20]
je 0x41f491
mov edi, edi
mov cl, byte [eax]
cmp cl, 0xd
jne 0x41f473
cmp byte [eax + 1], 0xa
jne 0x41f478
inc edx
add eax, 2
jmp 0x41f47a
cmp cl, 0xa
jne 0x41f479
inc edx
inc eax
cmp edx, 9
jge 0x41f486
cmp byte [eax], 0
jne 0x41f460
jmp 0x41f491
mov cl, byte [0x5846b0]
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 0x41f498
sub eax, edx
lea eax, [esp + eax + 0x1f]
lea edx, [esp + 0x20]
cmp eax, edx
jbe 0x41f4cd
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0xd
je 0x41f4c1
cmp cl, 0xa
je 0x41f4c1
cmp cl, 0x20
jne 0x41f4cd
mov byte [eax], 0
dec eax
lea ecx, [esp + 0x20]
cmp eax, ecx
ja 0x41f4b0
lea eax, [esp + 0x20]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41f4d4
sub eax, edx
cmp eax, 0xf0
jle 0x41f4f8
mov dl, byte [0x5846b0]
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 0x41f502
lea ecx, [esp + 0x20]
push ecx
sub eax, edx
lea edx, [esp + eax + 0x12c]
push 0x5846a0
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.0041d620
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov edx, eax
call fcn.004b7c00
test eax, eax
jne 0x41f56e
push ebx
call fcn.005700aa
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x5b4314]
push edx
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x41f5bd
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41f584
sub eax, edx
add eax, 0xa
push eax
push 0x2042
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x41f5bb
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
jne 0x41f5f3
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
call edi
push ebx
call fcn.005700aa
mov eax, dword [0x5a16d0]
add esp, 4
test eax, eax
je 0x41f5e1
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 0x41f600
push ebx
call fcn.005700aa
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