Function at 0x4f0700
Capabilities:
Get common file path
Print debug messages
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x1894
call fcn.0050c0a0
mov eax, dword [0x595c60]
xor eax, esp
mov dword [esp + 0x188c], eax
mov eax, dword [esp + 0x189c]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x30], eax
mov ebx, ecx
mov ecx, dword [esp + 0x18a8]
xor eax, eax
push 0x20a
push eax
mov word [esp + 0x88], ax
lea eax, [esp + 0x8a]
push eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], ecx
mov dword [ecx], 0
call fcn.0050be90
mov esi, ebx
add esp, 0xc
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4f0767
sub esi, ecx
sar esi, 1
cmp esi, 0x104
jb 0x4f0788
mov eax, 0x57
jmp 0x4f0c5e
mov byte [esp + 0x16], 0
mov dword [esp + 0x18], ebx
cmp esi, 2
jbe 0x4f07c7
cmp word [ebx], 0x5c
je 0x4f07c7
cmp word [ebx + 2], 0x3a
je 0x4f07c7
push ecx
lea eax, [esp + 0x84]
mov edx, ebx
push eax
call fcn.004f0580
add esp, 8
test al, al
je 0x4f07cc
lea eax, [esp + 0x80]
mov dword [esp + 0x18], eax
jmp 0x4f07cc
mov byte [esp + 0x16], 1
lea ebp, [esi + 0x106]
lea eax, [ebp*2]
push eax
call fcn.00507c0d
mov edi, eax
mov dword [esp + 0x74], 0xaac56b
add esp, 4
mov dword [esp + 0x74], 0x11d0cd44
mov dword [esp + 0x78], 0xc000c28c
mov dword [esp + 0x7c], 0xee95c24f
mov byte [esp + 0x17], 1
test edi, edi
jne 0x4f0817
mov eax, 8
jmp 0x4f0c5e
lea eax, [ebp*2]
push eax
push 0
push edi
call fcn.0050be90
mov eax, dword [esp + 0x24]
add esp, 0xc
sub ebp, 2
cmp eax, ebx
jne 0x4f08ec
cmp byte [esp + 0x16], 0
jne 0x4f08ec
push edi
push ebp
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov ebx, eax
test ebx, ebx
je 0x4f08e8
lea ecx, [ebx + esi]
cmp ecx, ebp
jbe 0x4f08b9
push edi
call fcn.005074d4
lea eax, [ebx*2 + 0x20c]
push eax
call fcn.00507c0d
mov edi, eax
add esp, 8
test edi, edi
je 0x4f080d
lea eax, [ebx*2 + 0x20c]
mov ebp, ebx
push eax
push 0
push edi
call fcn.0050be90
add esp, 0xc
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov ebx, eax
test ebx, ebx
je 0x4f08b3
cmp ebx, ebp
jbe 0x4f08b3
push edi
call fcn.005074d4
add esp, 4
mov eax, 3
jmp 0x4f0c5e
add ebp, 0x104
lea eax, [edi + ebx*2]
mov ecx, 0x5c
mov word [eax], cx
mov ecx, dword [esp + 0x2c]
sub eax, ecx
lea edx, [eax + 2]
lea ecx, [ecx]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x4f08d0
mov eax, edi
mov dword [esp + 0x18], eax
jmp 0x4f08ec
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x20], ecx
push 0x30
mov dword [esp + 0x24], eax
lea eax, [esp + 0x44]
push ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
push eax
mov dword [esp + 0x28], 0x10
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
call fcn.0050be90
add esp, 0xc
mov dword [esp + 0x40], 0x30
lea eax, [esp + 0x1c]
mov dword [esp + 0x44], 0
mov dword [esp + 0x58], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x48], 0
push eax
lea eax, [esp + 0x74]
mov dword [esp + 0x50], 2
push eax
push 0xffffffffffffffff
mov dword [esp + 0x5c], 0
mov dword [esp + 0x68], 1
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x60], 1
mov dword [esp + 0x74], 0x1010
call dword [sym.imp.WINTRUST.dll_WinVerifyTrust]
mov ebx, eax
cmp ebx, 2
je 0x4f09a7
cmp ebx, 0x80092003
jne 0x4f0aef
cmp byte [esp + 0x16], 0
jne 0x4f0aef
push str.NotComDllGetInterface:_DLL_not_found_in_install_location__looking_in_current_directory
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebp*2]
push eax
push 0
push edi
call fcn.0050be90
add esp, 0xc
push ebp
push edi
push dword [esp + 0x38]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x4f0aef
add eax, esi
cmp eax, ebp
jb 0x4f0a5a
push edi
lea esi, [eax*2 + 0x20c]
call fcn.005074d4
push esi
mov dword [esp + 0x28], 0
call fcn.00507c0d
mov edi, eax
add esp, 8
test edi, edi
jne 0x4f0a20
mov esi, dword [sym.imp.WINTRUST.dll_WinVerifyTrust]
lea ebx, [eax + 8]
jmp 0x4f0b2d
push esi
push 0
push edi
call fcn.0050be90
mov esi, dword [esp + 0x48]
add esp, 0xc
add esi, 0x104
push esi
push edi
push dword [esp + 0x38]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x4f0a5a
cmp eax, esi
jb 0x4f0a5a
mov esi, dword [sym.imp.WINTRUST.dll_WinVerifyTrust]
mov ebx, 8
jmp 0x4f0b2d
push 0x5c
push edi
call fcn.00507d7c
mov edx, eax
add esp, 8
test edx, edx
je 0x4f0a80
mov ecx, dword [esp + 0x2c]
sub edx, ecx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx], ax
test ax, ax
jne 0x4f0a71
cmp dword [esp + 0x60], 0
mov esi, dword [sym.imp.WINTRUST.dll_WinVerifyTrust]
mov dword [esp + 0x18], edi
je 0x4f0ab7
lea eax, [esp + 0x40]
mov dword [esp + 0x5c], 2
push eax
lea eax, [esp + 0x74]
push eax
push 0
call esi
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 1
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x74]
mov dword [esp + 0x20], 0x10
push eax
push 0xffffffffffffffff
mov dword [esp + 0x2c], edi
call esi
mov ebx, eax
jmp 0x4f0af5
mov esi, dword [sym.imp.WINTRUST.dll_WinVerifyTrust]
cmp ebx, 0x800b010e
jg 0x4f0b25
je 0x4f0bbe
cmp ebx, 0x80092026
je 0x4f0bbe
cmp ebx, 0x800b0101
je 0x4f0bbe
test ebx, ebx
je 0x4f0bb9
jmp 0x4f0b2d
test ebx, ebx
je 0x4f0bbe
xor eax, eax
push 0x7fe
push eax
mov word [esp + 0x298], ax
lea eax, [esp + 0x29a]
push eax
call fcn.0050be90
xor eax, eax
push 0xe06
push eax
mov word [esp + 0xaa4], ax
lea eax, [esp + 0xaa6]
push eax
call fcn.0050be90
add esp, 0x18
lea eax, [esp + 0x290]
push 0x400
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4f0b8b
mov eax, dword [esp + 0x2c]
push ebx
push eax
lea eax, [esp + 0x298]
push eax
lea eax, [esp + 0xa9c]
push str.NotComDllGetInterface:__s_loading__s__WinVerifyTrust_failed_with__08x_n
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
lea eax, [esp + 0xa90]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [esp + 0x17], 0
cmp dword [esp + 0x60], 0
je 0x4f0bdb
lea eax, [esp + 0x40]
mov dword [esp + 0x5c], 2
push eax
lea eax, [esp + 0x74]
push eax
push 0
call esi
cmp byte [esp + 0x17], 0
jne 0x4f0bf3
test edi, edi
je 0x4f0bef
push edi
call fcn.005074d4
add esp, 4
mov eax, ebx
jmp 0x4f0c5e
push 8
push 0
push dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov ebx, eax
test ebx, ebx
je 0x4f0c40
push str.NotComDllGetInterface
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4f0c2f
push dword [esp + 0x34]
push dword [esp + 0x3c]
call eax
add esp, 8
mov esi, eax
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x4f0c4f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x4f0c4f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x4f0c4f
lea esi, [eax + 2]
test edi, edi
je 0x4f0c5c
push edi
call fcn.005074d4
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x189c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00506c7d
add esp, 0x1894
ret