Function at 0x10017983
Capabilities:
Get common file path
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1888
call fcn.10038750
mov eax, dword [0x100b802c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push ebx
push esi
mov dword [ebp - 0x1858], eax
mov eax, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1850], eax
xor eax, eax
push 0x20c
push eax
mov dword [ecx], eax
lea eax, [ebp - 0x210]
push eax
mov dword [ebp - 0x1838], edi
mov dword [ebp - 0x1854], ecx
call fcn.10050310
add esp, 0xc
mov ebx, edi
xor edx, edx
push 2
lea ecx, [ebx + 2]
pop esi
mov ax, word [ebx]
add ebx, esi
cmp ax, dx
jne 0x100179e4
sub ebx, ecx
sar ebx, 1
cmp ebx, 0x104
jb 0x10017a02
push 0x57
pop eax
jmp 0x10017ef9
mov byte [ebp - 0x1829], dl
mov dword [ebp - 0x1834], edi
push 0x5c
pop eax
cmp ebx, esi
jbe 0x10017a4a
cmp word [edi], ax
je 0x10017a4a
cmp word [edi + 2], 0x3a
je 0x10017a4a
push 0x106
lea eax, [ebp - 0x210]
push eax
push edi
push 1
call fcn.100177d1
add esp, 0x10
test al, al
je 0x10017a51
lea eax, [ebp - 0x210]
mov dword [ebp - 0x1834], eax
jmp 0x10017a51
mov byte [ebp - 0x1829], 1
lea eax, [ebx*2 + 0x20c]
push eax
call fcn.10056d83
pop ecx
mov esi, eax
mov dword [ebp - 0x1828], 0xaac56b
xor ecx, ecx
mov dword [ebp - 0x1824], 0x11d0cd44
mov dword [ebp - 0x1820], 0xc000c28c
mov dword [ebp - 0x181c], 0xee95c24f
test esi, esi
jne 0x10017a96
push 8
jmp 0x100179fc
lea eax, [ebx*2 + 0x20c]
push eax
push ecx
push esi
call fcn.10050310
add esp, 0xc
lea eax, [ebx + 0x104]
mov dword [ebp - 0x1830], eax
cmp dword [ebp - 0x1834], edi
jne 0x10017b90
cmp byte [ebp - 0x1829], 0
jne 0x10017b90
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov edx, eax
mov dword [ebp - 0x183c], edx
test edx, edx
je 0x10017b90
lea ecx, [edx + ebx]
cmp ecx, dword [ebp - 0x1830]
jbe 0x10017b6e
push esi
call fcn.10056501
mov eax, dword [ebp - 0x183c]
lea eax, [eax*2 + 0x20c]
push eax
mov dword [ebp - 0x1834], eax
call fcn.10056d83
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x10017a8f
push dword [ebp - 0x1834]
mov eax, dword [ebp - 0x183c]
push 0
push esi
mov dword [ebp - 0x1830], eax
call fcn.10050310
add esp, 0xc
push esi
push dword [ebp - 0x183c]
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov edx, eax
mov eax, dword [ebp - 0x1830]
test edx, edx
je 0x10017b63
cmp edx, eax
jbe 0x10017b63
push esi
call fcn.10056501
pop ecx
push 3
jmp 0x100179fc
add eax, 0x104
mov dword [ebp - 0x1830], eax
push 0x5c
lea edx, [esi + edx*2]
mov ecx, edi
pop eax
mov word [edx], ax
sub edx, edi
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx], ax
test ax, ax
jne 0x10017b7b
mov dword [ebp - 0x1834], esi
xor eax, eax
lea edi, [ebp - 0x184c]
stosd dword es:[edi], eax
push 0x30
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1834]
pop edi
mov dword [ebp - 0x1848], eax
xor eax, eax
push edi
push eax
mov dword [ebp - 0x1844], eax
mov dword [ebp - 0x1840], eax
lea eax, [ebp - 0x1888]
push eax
mov dword [ebp - 0x184c], 0x10
call fcn.10050310
xor eax, eax
mov dword [ebp - 0x1888], edi
inc eax
mov dword [ebp - 0x187c], 2
mov dword [ebp - 0x186c], eax
add esp, 0xc
mov dword [ebp - 0x1874], eax
xor ecx, ecx
lea eax, [ebp - 0x184c]
mov dword [ebp - 0x1884], ecx
mov dword [ebp - 0x1870], eax
lea eax, [ebp - 0x1888]
push eax
lea eax, [ebp - 0x1828]
mov dword [ebp - 0x1880], ecx
push eax
push 0xffffffffffffffff
mov dword [ebp - 0x1878], ecx
mov dword [ebp - 0x1868], ecx
mov dword [ebp - 0x1864], ecx
mov dword [ebp - 0x185c], ecx
mov dword [ebp - 0x1860], 0x1010
call sub.WINTRUST.dll_WinVerifyTrust
mov edi, eax
cmp edi, 2
je 0x10017c57
cmp edi, 0x80092003
jne 0x10017db9
cmp byte [ebp - 0x1829], 0
jne 0x10017db9
push str.NotComDllGetInterface:_DLL_not_found_in_install_location__looking_in_current_directory
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, dword [ebp - 0x1830]
lea eax, [ecx + ecx]
push eax
push 0
push esi
call fcn.10050310
add esp, 0xc
push dword [ebp - 0x1830]
push esi
push dword [ebp - 0x1850]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x183c], eax
test eax, eax
je 0x10017db9
add eax, ebx
cmp eax, dword [ebp - 0x1830]
jb 0x10017d0d
push esi
lea edi, [eax*2 + 0x20c]
call fcn.10056501
and dword [ebp - 0x1848], 0
push edi
call fcn.10056d83
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x10017cdf
mov ebx, dword [ebp - 0x1838]
push 8
pop edi
jmp 0x10017de7
push edi
push 0
push esi
call fcn.10050310
mov edi, dword [ebp - 0x183c]
add esp, 0xc
add edi, 0x104
push edi
push esi
push dword [ebp - 0x1850]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x10017d0d
cmp eax, edi
jae 0x10017cd1
push 0x5c
pop eax
push eax
push esi
call fcn.10019c03
mov ebx, dword [ebp - 0x1838]
mov edx, eax
pop ecx
pop ecx
push 2
pop edi
test edx, edx
je 0x10017d3b
mov ecx, ebx
sub edx, ebx
movzx eax, word [ecx]
mov word [edx + ecx + 2], ax
add ecx, edi
test ax, ax
jne 0x10017d2c
cmp dword [ebp - 0x1868], 0
mov dword [ebp - 0x1834], esi
je 0x10017d76
lea eax, [ebp - 0x1888]
mov dword [ebp - 0x186c], edi
push eax
lea eax, [ebp - 0x1828]
push eax
push 0
call sub.WINTRUST.dll_WinVerifyTrust
and dword [ebp - 0x1868], 0
mov dword [ebp - 0x186c], 1
xor eax, eax
lea edi, [ebp - 0x184c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x1844], eax
mov dword [ebp - 0x1840], eax
lea eax, [ebp - 0x1888]
push eax
lea eax, [ebp - 0x1828]
mov dword [ebp - 0x184c], 0x10
push eax
push 0xffffffffffffffff
mov dword [ebp - 0x1848], esi
call sub.WINTRUST.dll_WinVerifyTrust
mov edi, eax
jmp 0x10017dbf
mov ebx, dword [ebp - 0x1838]
cmp edi, 0x80092026
je 0x10017e63
cmp edi, 0x800b0101
je 0x10017e63
cmp edi, 0x800b010e
je 0x10017e63
test edi, edi
je 0x10017e63
push 0x800
lea eax, [ebp - 0xa10]
push 0
push eax
call fcn.10050310
push 0xe08
lea eax, [ebp - 0x1818]
push 0
push eax
call fcn.10050310
add esp, 0x18
lea eax, [ebp - 0xa10]
push 0x400
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp dword [ebp - 0x1848], 0
lea eax, [ebp - 0xa10]
push edi
cmovne ebx, dword [ebp - 0x1848]
push ebx
push eax
lea eax, [ebp - 0x1818]
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, [ebp - 0x1818]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor ecx, ecx
mov bl, cl
jmp 0x10017e68
xor ebx, ebx
inc ebx
xor ecx, ecx
cmp dword [ebp - 0x1868], 0
je 0x10017e8f
lea eax, [ebp - 0x1888]
mov dword [ebp - 0x186c], 2
push eax
lea eax, [ebp - 0x1828]
push eax
push ecx
call sub.WINTRUST.dll_WinVerifyTrust
test bl, bl
je 0x10017eec
push 8
push 0
push dword [ebp - 0x1834]
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov ebx, eax
test ebx, ebx
je 0x10017edc
push str.NotComDllGetInterface
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10017ecb
push dword [ebp - 0x1854]
push dword [ebp - 0x1858]
call eax
pop ecx
pop ecx
jmp 0x10017ed1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
mov edi, eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x10017eec
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
push 2
test edi, edi
pop eax
cmove edi, eax
test esi, esi
je 0x10017ef7
push esi
call fcn.10056501
pop ecx
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10037f93
mov esp, ebp
pop ebp
ret