Function at 0x43e550
Capabilities:
List drag and drop files
Open clipboard
Read clipboard data

Disassembly:
push 0xffffffffffffffff
push 0x4d6feb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x138
push edi
mov edi, ecx
mov dword [esp + 0x24], edi
mov eax, dword [edi + 0xc]
push eax
call dword [sym.imp.user32.dll_OpenClipboard]
test eax, eax
je 0x43e76e
push ebx
push ebp
push esi
push 0xf
call dword [sym.imp.user32.dll_GetClipboardData]
mov ebp, eax
xor esi, esi
cmp ebp, esi
mov dword [esp + 0x3c], ebp
je 0x43e765
push esi
push esi
push 0xffffffffffffffff
push ebp
call dword [sym.imp.shell32.dll_DragQueryFile]
mov ebx, eax
cmp ebx, esi
mov dword [esp + 0x38], ebx
je 0x43e765
cmp ebx, 0x64
jle 0x43e5d4
push 0x7f02
push esi
call dword [sym.imp.user32.dll_LoadCursorA]
push eax
call dword [sym.imp.user32.dll_SetCursor]
mov dword [esp + 0x34], eax
push 0x80
mov dword [esp + 0x14], 0x4d86f4
call fcn.004c7e90
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], 0x1f
mov dword [esp + 0x24], pe_nt_image_headers32
test ebx, ebx
mov dword [esp + 0x150], esi
mov dword [esp + 0x20], 1
mov dword [esp + 0x2c], esi
jle 0x43e6ed
jmp 0x43e622
mov ebp, dword [esp + 0x3c]
mov cl, byte [0x4fbe40]
lea edx, [esp + 0x40]
mov byte [esp + 0x40], cl
push 0x105
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x45]
push edx
push esi
push ebp
rep stosd dword es:[edi], eax
call dword [sym.imp.shell32.dll_DragQueryFile]
lea eax, [esp + 0x40]
push eax
call fcn.00442c90
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x43e6dc
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
lea ecx, [eax + 1]
cmp edx, ecx
jne 0x43e6c8
mov edx, dword [esp + 0x24]
add edx, eax
lea eax, [edx*4 + 4]
push eax
call fcn.004c7e90
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov ebx, eax
lea ecx, [ecx*4 + 4]
mov edi, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x18]
push eax
call fcn.004c7e56
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x34]
add esp, 8
add eax, ecx
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [edx + eax*4], ebp
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
inc esi
cmp esi, ebx
mov dword [esp + 0x2c], esi
jl 0x43e61e
mov edi, dword [esp + 0x30]
push 0
push 2
lea ecx, [esp + 0x18]
push 0
push ecx
mov ecx, edi
call fcn.00439aa0
mov eax, dword [esp + 0x34]
test eax, eax
je 0x43e70e
push eax
call dword [sym.imp.user32.dll_SetCursor]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x150], 0xffffffff
test eax, eax
mov dword [esp + 0x10], 0x4d86f4
je 0x43e758
mov eax, dword [esp + 0x18]
xor esi, esi
test eax, eax
jle 0x43e758
cmp esi, eax
jge 0x43e744
test esi, esi
jl 0x43e744
mov edx, dword [esp + 0x14]
mov eax, dword [edx + esi*4]
jmp 0x43e746
xor eax, eax
push eax
call fcn.004c7e56
mov eax, dword [esp + 0x1c]
add esp, 4
inc esi
cmp esi, eax
jl 0x43e737
mov eax, dword [esp + 0x14]
push eax
call fcn.004c7e56
add esp, 4
call dword [sym.imp.user32.dll_CloseClipboard]
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x13c]
pop edi
mov dword fs:[0], ecx
add esp, 0x144
ret