Function at 0x7f2dd907
Capabilities:
Check if file exists
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
push esi
push edi
push 0
call ebx
cmp dword [ebp + 8], 0
jne 0x7f2dd928
push 0x57
call ebx
jmp 0x7f2ddb29
push 0x1c
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
mov dword [ebp - 4], esi
je 0x7f2dda39
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edi, eax
test edi, edi
jne 0x7f2dd952
push esi
jmp 0x7f2dda33
mov eax, dword [ebp + 8]
cmp eax, 0xffff
jbe 0x7f2dd9fc
push eax
call fcn.7f2da99a
mov ebx, eax
mov eax, dword [0x7f307088]
inc ebx
imul eax, ebx
pop ecx
push eax
call fcn.7f2d53a1
test eax, eax
mov esi, dword [0x7f307088]
je 0x7f2dd99b
mov eax, esi
imul eax, ebx
test eax, eax
je 0x7f2dd99b
add eax, 3
and eax, 0xfffffffc
call fcn.7f2fd060
mov dword [ebp - 8], esp
jmp 0x7f2dd99f
and dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x7f2dd9c1
imul esi, ebx
xor eax, eax
push eax
push eax
push esi
push dword [ebp - 8]
push ebx
push dword [ebp + 8]
push eax
push dword [0x7f307ac8]
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [ebp + 8]
push eax
push OleUIAddVerbMenuA
push dword [ebp - 8]
call fcn.7f2dd0f5
mov esi, eax
test esi, esi
jge 0x7f2dda01
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
and esi, 0xffff
push esi
jmp 0x7f2dd921
mov dword [ebp - 8], eax
jmp 0x7f2dd9c7
and dword [edi + 0x14], 0
mov esi, dword [ebp + 8]
inc esi
push esi
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
test eax, eax
mov dword [edi + 0x18], eax
je 0x7f2dda27
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
mov dword [ebp + 8], eax
jne 0x7f2dda40
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push 8
jmp 0x7f2dd921
push dword [ebp - 8]
push esi
push eax
call fcn.7f2dbb28
push dword [edi + 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ebx, eax
call esi
test ebx, ebx
jge 0x7f2dda7c
push dword [edi + 0x18]
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
call edi
push dword [ebp - 4]
call esi
push dword [ebp - 4]
call edi
and ebx, 0xffff
push ebx
jmp 0x7f2ddb23
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x7f2dda9d
push dword [ebp - 4]
call esi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x7f2ddb29
test al, 0x17
je 0x7f2ddab3
push dword [ebp - 4]
call esi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push 0x13
jmp 0x7f2ddb23
cmp dword [ebp + 0xc], 0
jne 0x7f2ddb0c
push 3
push 0
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov ebx, eax
test ebx, ebx
jne 0x7f2ddaeb
push dword [ebp - 4]
call esi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x7f2ddb29
push 0xc1
jmp 0x7f2ddb23
push edi
push 0x7f2dd8ea
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
test eax, eax
jne 0x7f2ddb05
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0x14], eax
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [edi + 0x14], 0
push dword [ebp - 4]
je 0x7f2ddb2d
call esi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push dword [edi + 0x14]
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x7f2ddb32
call esi
mov eax, dword [ebp - 4]
lea esp, [ebp - 0x14]
pop edi
pop esi
pop ebx
leave
ret 8