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

Disassembly:
mov edi, edi
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 0x7f2de029
push 0x57
call ebx
jmp 0x7f2de22a
push 0x1c
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
mov dword [ebp - 4], esi
je 0x7f2de13a
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edi, eax
test edi, edi
jne 0x7f2de053
push esi
jmp 0x7f2de134
mov eax, dword [ebp + 8]
cmp eax, 0xffff
jbe 0x7f2de0fd
push eax
call fcn.7f2daf04
mov ebx, eax
mov eax, dword [0x7f30b088]
inc ebx
imul eax, ebx
pop ecx
push eax
call fcn.7f2d55af
test eax, eax
mov esi, dword [0x7f30b088]
je 0x7f2de09c
mov eax, esi
imul eax, ebx
test eax, eax
je 0x7f2de09c
add eax, 3
and eax, 0xfffffffc
call fcn.7f2fec90
mov dword [ebp - 8], esp
jmp 0x7f2de0a0
and dword [ebp - 8], 0
cmp dword [ebp - 8], 0
je 0x7f2de0c2
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 [0x7f30bac8]
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.7f2dd76f
mov esi, eax
test esi, esi
jge 0x7f2de102
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 0x7f2de022
mov dword [ebp - 8], eax
jmp 0x7f2de0c8
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 0x7f2de128
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
mov dword [ebp + 8], eax
jne 0x7f2de141
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 0x7f2de022
push dword [ebp - 8]
push esi
push eax
call fcn.7f2dc19d
push dword [edi + 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ebx, eax
call esi
test ebx, ebx
jge 0x7f2de17d
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 0x7f2de224
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x7f2de19e
push dword [ebp - 4]
call esi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x7f2de22a
test al, 0x17
je 0x7f2de1b4
push dword [ebp - 4]
call esi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push 0x13
jmp 0x7f2de224
cmp dword [ebp + 0xc], 0
jne 0x7f2de20d
push 3
push 0
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov ebx, eax
test ebx, ebx
jne 0x7f2de1ec
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 0x7f2de22a
push 0xc1
jmp 0x7f2de224
push edi
push 0x7f2ddfe1
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
test eax, eax
jne 0x7f2de206
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 0x7f2de22e
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 0x7f2de233
call esi
mov eax, dword [ebp - 4]
lea esp, [ebp - 0x14]
pop edi
pop esi
pop ebx
leave
ret 8