Function at 0x422b51
Capabilities:
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x728c3d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x1e0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x148]
call fcn.0046d110
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x58], eax
push 0
mov ecx, 0x7b0988
call fcn.005dadc4
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x54], 0
jne 0x422bed
jmp 0x423603
cmp dword [0x79dee8], 0
je 0x422c52
mov edx, dword [0x79dee8]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x422c3e
push 1
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx]
call dword [eax + 4]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x158], ecx
jmp 0x422c48
mov dword [ebp - 0x158], 0
mov dword [0x79dee8], 0
cmp dword [0x79deec], 0
je 0x422cb7
mov edx, dword [0x79deec]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
je 0x422ca3
push 1
mov ecx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x124]
mov eax, dword [edx]
call dword [eax + 4]
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x160], ecx
jmp 0x422cad
mov dword [ebp - 0x160], 0
mov dword [0x79deec], 0
mov edx, dword [ebp - 0x58]
add edx, 0x68
mov eax, dword [edx]
mov dword [ebp - 0x40], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x3c], ecx
mov eax, dword [edx + 8]
mov dword [ebp - 0x38], eax
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x40]
call fcn.0042f1c0
mov dword [ebp - 0x164], eax
mov edx, dword [ebp - 0x164]
imul edx, edx, 3
add edx, 4
push edx
call fcn.007090c9
add esp, 4
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
push edx
lea ecx, [ebp - 0x48]
call fcn.0042fc60
mov dword [ebp - 0x16c], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.0042f1c0
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x170]
imul eax, eax, 3
add eax, 4
push eax
call fcn.007090c9
add esp, 4
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
push eax
lea ecx, [ebp - 0x30]
call fcn.0042fc60
mov dword [ebp - 0x178], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40]
call fcn.0042f1c0
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x17c]
imul ecx, ecx, 3
add ecx, 4
push ecx
call fcn.007090c9
add esp, 4
mov dword [ebp - 0x180], eax
mov edx, dword [ebp - 0x180]
mov dword [ebp - 0x134], edx
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x50]
call fcn.0042fc60
mov dword [ebp - 0x184], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x148]
call fcn.0042f9d0
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x188], 0
je 0x4234dc
lea ecx, [ebp - 0xe8]
call fcn.0040ea60
mov dword [ebp - 0x18c], eax
mov byte [ebp - 4], 4
call dword [sym.imp.USER32.DLL_EmptyClipboard]
push 0x270
call fcn.004091b0
mov dword [ebp - 0x190], eax
mov edx, dword [ebp - 0x190]
mov dword [ebp - 0x13c], edx
mov byte [ebp - 4], 5
cmp dword [ebp - 0x13c], 0
je 0x422e51
mov ecx, dword [ebp - 0x13c]
call fcn.005ea973
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x198], eax
jmp 0x422e5b
mov dword [ebp - 0x198], 0
mov ecx, dword [ebp - 0x198]
mov dword [ebp - 0x138], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
push eax
lea ecx, [ebp - 0xf0]
call fcn.0042fc60
mov dword [ebp - 0x19c], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x40]
call fcn.0042f1e0
mov dword [ebp - 0x1a0], eax
lea ecx, [ebp - 0x40]
call fcn.0042f1c0
mov dword [ebp - 0x1a4], eax
push 0xffffff
mov ecx, dword [ebp - 0x54]
mov dx, word [ecx + 0x230]
push edx
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x1a4]
push ecx
mov ecx, dword [ebp - 0x24]
call fcn.005eafc2
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x24]
push eax
mov ecx, 0x7b0988
call fcn.005dafc8
mov dword [ebp - 0x5c], 0xffffff
mov dword [ebp - 0xc8], 3
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov dx, word [ecx + 0x230]
cmp edx, 0x18
je 0x423046
mov dword [ebp - 0xc8], 1
mov ecx, dword [ebp - 0x24]
call fcn.005e5e6f
mov word [ebp - 0x1a8], ax
mov eax, dword [ebp - 0x1a8]
and eax, 0xffff
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], 0x2fa03
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0xfc], 0
jmp 0x422f5d
mov ecx, dword [ebp - 0xfc]
add ecx, 1
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0xfc]
cmp edx, dword [ebp - 0x104]
jge 0x423046
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x210]
mov edx, dword [ebp - 0xfc]
xor eax, eax
mov al, byte [ecx + edx*4 + 2]
mov ecx, 0xff
sub ecx, eax
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x210]
mov ecx, dword [ebp - 0xfc]
xor edx, edx
mov dl, byte [eax + ecx*4 + 1]
mov eax, 0xff
sub eax, edx
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x210]
mov eax, dword [ebp - 0xfc]
xor ecx, ecx
mov cl, byte [edx + eax*4]
mov edx, 0xff
sub edx, ecx
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf4]
imul eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x108]
imul ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0xf8]
imul edx, dword [ebp - 0xf8]
add edx, ecx
add edx, eax
cmp edx, dword [ebp - 0x100]
jge 0x423041
mov eax, dword [ebp - 0xf4]
imul eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x108]
imul ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0xf8]
imul edx, dword [ebp - 0xf8]
add edx, ecx
add edx, eax
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x5c], eax
jmp 0x422f4e
lea ecx, [ebp - 0x40]
call fcn.0042f1e0
mov dword [ebp - 0x1ac], eax
push 0
mov ecx, dword [ebp - 0x1ac]
shl ecx, 1
push ecx
lea ecx, [ebp - 0xc4]
call fcn.006e1966
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xe4], 0
jmp 0x4230a7
mov eax, dword [ebp - 0xe0]
add eax, 1
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xe4]
add ecx, 1
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe0]
cmp edx, dword [ebp - 0x34]
jge 0x4232aa
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0x3c]
push eax
lea ecx, [ebp - 0xc4]
call fcn.006e1d54
lea ecx, [ebp - 0x40]
call fcn.0042f1c0
mov dword [ebp - 0x1b4], eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x1b4]
push edx
mov eax, dword [ebp - 0xe0]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.005e73de
lea ecx, [ebp - 0x40]
call fcn.0042f1c0
mov dword [ebp - 0x1b8], eax
mov edx, dword [ebp - 0x1b8]
imul edx, edx, 3
push edx
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.006ede90
add esp, 0xc
lea ecx, [ebp - 0x40]
call fcn.0042f1c0
mov dword [ebp - 0x1bc], eax
push 0xffffffffffffffff
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x1bc]
push eax
mov ecx, dword [ebp - 0xe0]
sub ecx, dword [ebp - 0x3c]
push ecx
push 0
mov edx, dword [ebp - 0x58]
mov ecx, dword [edx + 0x78]
call fcn.005e73de
cmp dword [ebp - 0xc8], 3
jne 0x4231fa
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xd0], 0
jmp 0x4231af
mov ecx, dword [ebp - 0xd4]
add ecx, 1
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xd0]
add eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd4]
cmp ecx, dword [ebp - 0x38]
jge 0x4231f8
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0xcc]
xor eax, eax
mov al, byte [edx]
cmp eax, 0xff
je 0x4231d0
jmp 0x4231f6
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0xd0]
mov byte [ecx], 0xff
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xd0]
mov byte [edx + 1], 0xff
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0xd0]
mov byte [eax + 2], 0xff
jmp 0x42317f
jmp 0x423278
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xd0], 0
jmp 0x423246
mov edx, dword [ebp - 0xd4]
add edx, 1
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ebp - 0x38]
jge 0x423278
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0xcc]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0xff
je 0x423268
jmp 0x423276
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xd0]
mov al, byte [ebp - 0x5c]
mov byte [edx], al
jmp 0x423219
lea ecx, [ebp - 0x40]
call fcn.0042f1c0
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x1c0]
push edx
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0x3c]
push eax
push 0
mov ecx, dword [ebp - 0x24]
call fcn.005e75c4
jmp 0x423089
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.00421b0c
add esp, 4
mov dword [ebp - 0x1c4], eax
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x20], edx
push 0x270
call fcn.004091b0
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x144], eax
mov byte [ebp - 4], 8
cmp dword [ebp - 0x144], 0
je 0x42330d
mov ecx, dword [ebp - 0x144]
call fcn.005ea973
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0x1d0], ecx
jmp 0x423317
mov dword [ebp - 0x1d0], 0
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x140], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
push ecx
lea ecx, [ebp - 0xdc]
call fcn.0042fc60
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x40]
call fcn.0042f1e0
mov dword [ebp - 0x1d8], eax
lea ecx, [ebp - 0x40]
call fcn.0042f1c0
mov dword [ebp - 0x1dc], eax
push 0xffffff
push 8
mov edx, dword [ebp - 0x1d8]
push edx
mov eax, dword [ebp - 0x1dc]
push eax
mov ecx, dword [ebp - 0x28]
call fcn.005eafc2
mov dword [ebp - 0xe0], 0
jmp 0x42339d
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov dword [ebp - 0xe0], ecx
lea ecx, [ebp - 0x40]
call fcn.0042f1e0
mov dword [ebp - 0x1e0], eax
mov edx, dword [ebp - 0xe0]
cmp edx, dword [ebp - 0x1e0]
jge 0x423441
lea ecx, [ebp - 0x40]
call fcn.0042f1e0
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1e4]
add eax, dword [ebp - 0xe0]
push eax
lea ecx, [ebp - 0xc4]
call fcn.006e1d54
lea ecx, [ebp - 0x40]
call fcn.0042f1c0
mov dword [ebp - 0x1e8], eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x1e8]
push edx
mov eax, dword [ebp - 0xe0]
push eax
push 0
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx + 0x78]
call fcn.005e73de
lea ecx, [ebp - 0x40]
call fcn.0042f1c0
mov dword [ebp - 0x1ec], eax
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x1ec]
push eax
mov ecx, dword [ebp - 0xe0]
push ecx
push 0
mov ecx, dword [ebp - 0x28]
call fcn.005e75c4
jmp 0x42338e
mov edx, dword [ebp - 0x28]
mov dword [0x79deec], edx
mov eax, dword [ebp - 0x24]
mov dword [0x79dee8], eax
lea ecx, [ebp - 0xdc]
call fcn.00529c40
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0xf0]
call fcn.00529c40
mov dword [ebp - 0x24], 0
cmp dword [ebp - 0x20], 0
je 0x42349a
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00421a8f
mov dword [ebp - 0x1f0], eax
mov edx, dword [ebp - 0x1f0]
push edx
push 8
call dword [sym.imp.USER32.DLL_SetClipboardData]
call dword [sym.imp.USER32.DLL_CloseClipboard]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xdc]
call fcn.0042fcb0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc4]
call fcn.006e1cbd
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xf0]
call fcn.0042fcb0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xe8]
call fcn.0040ea80
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x50]
call fcn.0049f6d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x30]
call fcn.0049f6d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.0049f6d0
jmp 0x4235ec
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x20], 0
je 0x423603
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.DLL_GlobalFree]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret