Function at 0x401ef0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov eax, dword [esp + 0x50]
mov dword [esp], str.user32.dll
mov dword [esp + 0x28], eax
call sub.KERNEL32.dll_GetModuleHandleA
mov edi, eax
mov eax, dword [eax + 0x3c]
sub esp, 4
mov ebx, dword [edi + eax + 0x78]
add ebx, edi
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x24]
test ecx, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x20]
je 0x4021d2
xor ebp, ebp
lea esi, [edi + eax]
jmp 0x401f4c
add ebp, 1
cmp ebp, dword [ebx + 0x18]
jae 0x4020f4
mov eax, dword [esi + ebp*4]
mov dword [esp], str.OpenClipboard
add eax, edi
mov dword [esp + 4], eax
call fcn.00401570
test eax, eax
jne 0x401f40
mov ecx, dword [esp + 0x1c]
lea eax, [edi + ebp*2]
movzx eax, word [eax + ecx]
mov ecx, dword [esp + 0x18]
lea eax, [edi + eax*4]
mov edx, dword [eax + ecx]
add edx, edi
mov dword [esp + 0x18], edx
mov eax, dword [edi + 0x3c]
mov ebx, dword [edi + eax + 0x78]
add ebx, edi
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x24]
test edx, edx
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x20]
je 0x4021fe
xor ebp, ebp
lea esi, [edi + eax]
jmp 0x401fbc
add ebp, 1
cmp ebp, dword [ebx + 0x18]
jae 0x402101
mov eax, dword [esi + ebp*4]
mov dword [esp], str.CloseClipboard
add eax, edi
mov dword [esp + 4], eax
call fcn.00401570
test eax, eax
jne 0x401fb0
mov edx, dword [esp + 0x20]
lea eax, [edi + ebp*2]
mov ecx, dword [esp + 0x1c]
movzx eax, word [eax + edx]
lea eax, [edi + eax*4]
mov edx, dword [eax + ecx]
mov eax, dword [edi + 0x3c]
mov ebx, dword [edi + eax + 0x78]
add edx, edi
mov dword [esp + 0x24], edx
add ebx, edi
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x20]
test ecx, ecx
je 0x402215
xor ebp, ebp
lea esi, [edi + eax]
jmp 0x40202c
add ebp, 1
cmp ebp, dword [ebx + 0x18]
jae 0x402130
mov eax, dword [esi + ebp*4]
mov dword [esp], str.SetClipboardData
add eax, edi
mov dword [esp + 4], eax
call fcn.00401570
test eax, eax
jne 0x402020
mov edx, dword [esp + 0x20]
lea eax, [edi + ebp*2]
mov ecx, dword [esp + 0x1c]
movzx eax, word [eax + edx]
lea eax, [edi + eax*4]
mov edx, dword [eax + ecx]
mov eax, dword [edi + 0x3c]
mov ebx, dword [edi + eax + 0x78]
add edx, edi
mov dword [esp + 0x2c], edx
add ebx, edi
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x20]
test ecx, ecx
je 0x4020f0
xor ebp, ebp
lea esi, [edi + eax]
jmp 0x402098
add ebp, 1
cmp ebp, dword [ebx + 0x18]
jae 0x4020f0
mov eax, dword [esi + ebp*4]
mov dword [esp], str.EmptyClipboard
add eax, edi
mov dword [esp + 4], eax
call fcn.00401570
test eax, eax
jne 0x402090
mov edx, dword [esp + 0x20]
lea eax, [edi + ebp*2]
movzx eax, word [eax + edx]
mov edx, dword [esp + 0x1c]
lea eax, [edi + eax*4]
add edi, dword [eax + edx]
mov ebx, edi
mov dword [esp], 0
call dword [esp + 0x18]
sub esp, 4
test eax, eax
jne 0x402160
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
xor ebx, ebx
jmp 0x4020c8
mov dword [esp + 0x18], 0
jmp 0x401f80
mov eax, dword [edi + 0x3c]
mov dword [esp + 0x24], 0
mov ebx, dword [edi + eax + 0x78]
add ebx, edi
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x20]
jmp 0x40200d
mov eax, dword [edi + 0x3c]
mov dword [esp + 0x2c], 0
mov ebx, dword [edi + eax + 0x78]
add ebx, edi
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x20]
jmp 0x40207d
call ebx
mov esi, dword [esp + 0x28]
mov dword [esp], esi
call fcn.004014e0
movzx eax, ax
mov dword [esp], 0
add eax, 1
mov dword [esp + 4], eax
call sub.KERNEL32.dll_GlobalAlloc
sub esp, 8
test eax, eax
mov ebx, eax
je 0x4021c5
mov dword [esp], eax
call sub.KERNEL32.dll_GlobalLock
sub esp, 4
test eax, eax
je 0x4021f1
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp], ebx
call sub.KERNEL32.dll_GlobalUnlock
sub esp, 4
mov dword [esp + 4], ebx
mov dword [esp], 1
call dword [esp + 0x2c]
sub esp, 8
mov eax, dword [esp + 0x24]
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
jmp eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x24], 0
xor ebx, ebx
mov dword [esp + 0x2c], 0
jmp 0x4020c8
mov dword [esp], ebx
call sub.KERNEL32.dll_GlobalFree
sub esp, 4
jmp 0x4021c5
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], 0
xor ebx, ebx
jmp 0x4020c8
mov dword [esp + 0x2c], 0
xor ebx, ebx
jmp 0x4020c8