Function at 0x421190
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.005612d0
mov ecx, eax
call fcn.00561000
test eax, eax
mov dword [esp + 0x1c], eax
je 0x421575
mov ecx, dword [eax + 0x8b8]
test ecx, ecx
jne 0x421575
mov eax, dword [0x5bfc94]
test eax, eax
je 0x421575
mov eax, dword [0x5f92ec]
push eax
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x421575
push 1
call dword [sym.imp.USER32.dll_GetClipboardData]
mov esi, eax
test esi, esi
mov dword [esp + 0x14], esi
je 0x4212e8
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebp, eax
test ebp, ebp
jne 0x421224
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 0x421250
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 0x42128f
push 0xa
push esi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x421289
test edi, edi
je 0x421269
inc ebx
cmp esi, eax
je 0x421272
inc ebx
xor edi, edi
jmp 0x421277
mov edi, 1
mov cl, byte [eax + 1]
inc eax
cmp cl, 0xd
jne 0x421281
inc eax
test eax, eax
mov esi, eax
jne 0x421250
jmp 0x42128f
inc ebx
test edi, edi
je 0x42128f
inc ebx
cmp ebx, dword [0x5bfc98]
jge 0x4212b5
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 0x4212c0
sub eax, edx
lea esi, [eax + 0xa]
push esi
call fcn.00591118
add esp, 4
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4212fb
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 0x421315
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.0041f1a0
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 0x42136e
cmp al, 0xa
je 0x42136e
cmp al, 0x20
jne 0x421371
inc edx
jmp 0x421360
cmp byte [edx], 0
je 0x421478
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.005911a0
mov cl, byte [esp + 0x2c]
mov esi, dword [str._...]
add esp, 0xc
xor edx, edx
test cl, cl
lea eax, [esp + 0x20]
je 0x4213e1
mov edi, edi
mov cl, byte [eax]
cmp cl, 0xd
jne 0x4213c3
cmp byte [eax + 1], 0xa
jne 0x4213c8
inc edx
add eax, 2
jmp 0x4213ca
cmp cl, 0xa
jne 0x4213c9
inc edx
inc eax
cmp edx, 9
jge 0x4213d6
cmp byte [eax], 0
jne 0x4213b0
jmp 0x4213e1
mov cl, byte [0x5a5788]
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 0x4213e8
sub eax, edx
lea eax, [esp + eax + 0x1f]
lea edx, [esp + 0x20]
cmp eax, edx
jbe 0x42141d
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0xd
je 0x421411
cmp cl, 0xa
je 0x421411
cmp cl, 0x20
jne 0x42141d
mov byte [eax], 0
dec eax
lea ecx, [esp + 0x20]
cmp eax, ecx
ja 0x421400
lea eax, [esp + 0x20]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x421424
sub eax, edx
cmp eax, 0xf0
jle 0x421448
mov dl, byte [0x5a5788]
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 0x421452
lea ecx, [esp + 0x20]
push ecx
sub eax, edx
lea edx, [esp + eax + 0x12c]
push 0x5a5778
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.0041f1a0
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov edx, eax
call fcn.004c2c40
test eax, eax
jne 0x4214be
push ebx
call fcn.0059112a
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x5f92ec]
push edx
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x42150d
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4214d4
sub eax, edx
add eax, 0xa
push eax
push 0x2042
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x42150b
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
jne 0x421543
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
call edi
push ebx
call fcn.0059112a
mov eax, dword [0x5c5e20]
add esp, 4
test eax, eax
je 0x421531
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 0x421550
push ebx
call fcn.0059112a
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