Function at 0x101703b
Capabilities:
Get common file path

Disassembly:
push 0x24c
mov eax, 0x102fcd7
call fcn.01026060
mov edi, dword [ebp + 0xc]
and dword [ebp - 0x230], 0
xor eax, eax
inc eax
cmp dword [ebp + 8], eax
mov esi, ecx
mov dword [ebp - 0x234], edi
mov byte [ebp - 0x21d], al
mov byte [ebp - 0x225], 0
jle 0x1017920
mov dword [ebp - 0x224], eax
mov ebx, 0x104
mov edi, dword [ebp - 0x234]
mov edx, dword [ebp - 0x224]
mov eax, dword [edi + edx*4]
movzx ecx, word [eax]
cmp cx, 0x2f
je 0x1017131
cmp cx, 0x2d
je 0x1017131
cmp edx, 1
jne 0x101788c
push eax
lea ecx, [ebp - 0x22c]
call dword [sym.imp.MFC80U.DLL_Ordinal_283]
and dword [ebp - 4], 0
push 0x1003984
lea ecx, [ebp - 0x22c]
call dword [sym.imp.MFC80U.DLL_Ordinal_1476]
test eax, eax
jne 0x10170f1
mov dword [esi + 0x74], 4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x22c]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
jmp 0x1017802
push 0x1003978
lea ecx, [ebp - 0x22c]
call dword [sym.imp.MFC80U.DLL_Ordinal_1476]
test eax, eax
jne 0x101710f
mov dword [esi + 0x74], 5
jmp 0x10170dc
push 0x1003960
lea ecx, [ebp - 0x22c]
call dword [sym.imp.MFC80U.DLL_Ordinal_1476]
test eax, eax
jne 0x1017873
mov dword [esi + 0x74], 6
jmp 0x10170dc
mov ecx, dword [esi + 0x74]
inc eax
inc eax
cmp ecx, 4
jb 0x10171b2
movzx ecx, word [eax]
cmp ecx, 0x41
je case.0x10171c8.65
cmp ecx, 0x61
jne case.0x10171c8.72
push ebx
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x224]
push ecx
push eax
push edi
push dword [ebp + 8]
call fcn.0100dcc1
xor eax, eax
add esp, 0x18
cmp word [ebp - 0x21c], ax
je 0x1017895
push 5
push 0x1003954
mov edi, str.SQLDIAG
push edi
call dword [sym.imp.MSVCR80.dll_wcsncpy]
and word [0x103814a], 0
push 0x7b
lea eax, [ebp - 0x21c]
push eax
push edi
call dword [sym.imp.MSVCR80.dll_wcsncat]
add esp, 0x18
and word [0x103823e], 0
jmp 0x1017802
movzx edx, word [eax]
add edx, 0xffffffbf
cmp edx, 0x38
ja case.0x10171c8.72
movzx edx, byte [edx + 0x1017983]
jmp dword [edx*4 + 0x101792b]
push 0x32
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x224]
push ecx
push eax
push edi
push dword [ebp + 8]
call fcn.0100dcc1
add esp, 0x18
lea eax, [ebp - 0x21c]
lea edi, [esi + 0x38]
push eax
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_776]
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
test eax, eax
je 0x10178aa
mov byte [ebp - 0x225], 1
jmp 0x1017802
push 2
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x224]
push ecx
push eax
push edi
push dword [ebp + 8]
call fcn.0100dcc1
lea eax, [ebp - 0x21c]
add esp, 0x18
lea edx, [eax + 2]
xor edi, edi
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1017242
sub eax, edx
sar eax, 1
je 0x10178bf
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.MSVCR80.dll__wtoi]
cmp eax, edi
pop ecx
jl 0x10178bf
cmp eax, 3
jg 0x10178bf
cmp eax, 2
mov dword [esi + 0x6c], eax
jne 0x1017802
lea eax, [ebp - 0x21c]
push eax
push 0x100393c
call fcn.0101cb19
test al, al
pop ecx
pop ecx
jne 0x1017802
push 1
push 1
push 0
push 0
push 0xc000c3d8
jmp 0x10178b7
mov byte [esi + 0x63], 1
jmp 0x1017802
push 0x32
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x224]
push ecx
push eax
push edi
push dword [ebp + 8]
call fcn.0100dcc1
add esp, 0x18
lea eax, [ebp - 0x21c]
lea edi, [esi + 0x3c]
push eax
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_776]
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
test eax, eax
jne 0x101720e
push 1
push 1
push eax
push eax
push 0xc000c394
jmp 0x10178b7
mov byte [esi + 0x65], 1
jmp 0x1017802
mov byte [esi + 0x61], 1
jmp 0x1017802
push ebx
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x224]
push ecx
push eax
push edi
push dword [ebp + 8]
call fcn.0100dcc1
add esp, 0x18
lea eax, [ebp - 0x21c]
lea edi, [esi + 0x50]
push eax
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_776]
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
test eax, eax
je 0x10178cc
cmp dword [esi + 0x74], 2
je 0x1017802
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
call fcn.0101e1ae
test al, al
pop ecx
je 0x1017802
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x21c]
push eax
push 0x105
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
je 0x1017802
mov ecx, edi
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.MFC80U.DLL_Ordinal_776]
jmp 0x1017802
mov byte [esi + 0x79], 1
jmp 0x1017802
push 0x10384d4
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x1017802
push ebx
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x224]
push ecx
push eax
push edi
push dword [ebp + 8]
call fcn.0100dcc1
xor eax, eax
add esp, 0x18
cmp word [ebp - 0x21c], ax
je 0x10178db
lea eax, [ebp - 0x21c]
lea ecx, [esi + 0x54]
push eax
call dword [sym.imp.MFC80U.DLL_Ordinal_776]
cmp dword [esi + 0x74], 2
je 0x1017444
xor edi, edi
inc edi
push edi
lea eax, [ebp - 0x248]
push eax
lea ecx, [esi + 0x54]
call dword [sym.imp.MFC80U.DLL_Ordinal_3990]
mov dword [ebp - 4], edi
or dword [ebp - 0x230], edi
push 0x1003938
push eax
call fcn.010084c5
test al, al
pop ecx
pop ecx
mov byte [ebp - 0x21e], 1
jne 0x101744b
mov byte [ebp - 0x21e], 0
or dword [ebp - 4], 0xffffffff
test byte [ebp - 0x230], 1
je 0x101746b
and dword [ebp - 0x230], 0xfffffffe
lea ecx, [ebp - 0x248]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
cmp byte [ebp - 0x21e], 0
je 0x1017802
push 1
lea eax, [ebp - 0x238]
push eax
lea ecx, [esi + 0x54]
call dword [sym.imp.MFC80U.DLL_Ordinal_4100]
mov dword [ebp - 4], 2
lea edi, [esi + 0x58]
push eax
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_774]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x238]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
call fcn.0101e1ae
test al, al
pop ecx
je 0x1017802
lea eax, [ebp - 0x258]
jmp 0x101737d
push 2
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x224]
push ecx
push eax
push edi
push dword [ebp + 8]
call fcn.0100dcc1
lea eax, [ebp - 0x21c]
add esp, 0x18
lea edx, [eax + 2]
xor edi, edi
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x10174f7
sub eax, edx
sar eax, 1
je 0x10178e8
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.MSVCR80.dll__wtoi]
pop ecx
lea ecx, [eax - 1]
cmp ecx, 1
ja 0x10178e8
mov dword [esi + 0x70], eax
jmp 0x1017802
push ebx
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x224]
push ecx
push eax
push edi
push dword [ebp + 8]
call fcn.0100dcc1
add esp, 0x18
cmp word [ebp - 0x21c], 0
jne 0x101756b
cmp dword [esi + 0x74], 2
je 0x101756b
lea eax, [ebp - 0x21c]
push eax
push 0x105
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea eax, [ebp - 0x21c]
lea edi, [esi + 0x40]
push eax
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_776]
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
test eax, eax
je 0x10178f5
cmp dword [esi + 0x74], 2
je 0x10175c8
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x21c]
push eax
push 0x105
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
je 0x10175c8
lea eax, [ebp - 0x21c]
push eax
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_776]
mov byte [esi + 0x64], 1
jmp 0x1017802
push ebx
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x224]
push ecx
push eax
push edi
push dword [ebp + 8]
call fcn.0100dcc1
add esp, 0x18
cmp word [ebp - 0x21c], 0
jne 0x101760f
cmp dword [esi + 0x74], 2
je 0x101760f
lea eax, [ebp - 0x21c]
push eax
push 0x105
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea eax, [ebp - 0x21c]
lea edi, [esi + 0x4c]
push eax
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_776]
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_2895]
test eax, eax
je 0x1017904
lea eax, [ebp - 0x21c]
push eax
call fcn.0101c95b
test al, al
pop ecx
je 0x1017904
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.0101d9a4
pop ecx
pop ecx
mov dword [ebp - 4], 3
push eax
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_774]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x244]
jmp 0x10170e6
mov byte [esi + 0x60], 1
jmp 0x1017802
cmp ecx, 2
je 0x1017802
push ebx
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x224]
push ecx
push eax
push edi
push dword [ebp + 8]
mov dword [esi + 0x74], 1
call fcn.0100dcc1
add esp, 0x18
cmp word [ebp - 0x21c], 0
je 0x1017802
lea ecx, [esi + 0x5c]
jmp 0x10173a3
push ebx
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x224]
push ecx
push eax
push edi
push dword [ebp + 8]
call fcn.0100dcc1
add esp, 0x18
lea eax, [ebp - 0x21c]
lea edi, [esi + 0x68]
push eax
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_776]
push 1
lea eax, [ebp - 0x24c]
push eax
mov ecx, edi
call dword [sym.imp.MFC80U.DLL_Ordinal_5558]
mov dword [ebp - 4], 4
push eax
push 0x1003934
call fcn.0100e46c
pop ecx
pop ecx
mov byte [ebp - 0x21e], al
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24c]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
cmp byte [ebp - 0x21e], 0
jne 0x10178a6
jmp 0x1017802
cmp ecx, 2
je 0x1017802
mov dword [esi + 0x74], 3
jmp 0x1017802
push ebx
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x224]
push ecx
push eax
push edi
push dword [ebp + 8]
call fcn.0100dcc1
xor edi, edi
add esp, 0x18
cmp word [ebp - 0x21c], di
mov ecx, esi
je 0x1017913
lea eax, [ebp - 0x21c]
push eax
call fcn.01016d45
test al, al
jne 0x1017802
push 1
push 1
push edi
push edi
push 0xc000c459
jmp 0x10178b7
mov byte [esi + 0x78], 1
jmp 0x1017802
push ebx
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x224]
push ecx
push eax
push edi
push dword [ebp + 8]
call fcn.0100dcc1
add esp, 0x18
cmp word [ebp - 0x21c], 0
je 0x10178a6
and dword [ebp - 0x240], 0
push 0xa
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.MSVCR80.dll_wcstoul]
add esp, 0xc
mov dword [0x10384a4], eax
jmp 0x1017802
mov byte [ebp - 0x21d], 0
inc dword [ebp - 0x224]
mov eax, dword [ebp - 0x224]
cmp eax, dword [ebp + 8]
jl 0x1017080
mov edi, dword [ebp - 0x234]
cmp byte [ebp - 0x225], 0
jne 0x1017830
mov dword [0x10384d4], 0
cmp byte [ebp - 0x21d], 0
jne 0x1017920
mov eax, dword [esi]
push 1
push 1
xor ebx, ebx
push ebx
push ebx
push 0xc000c3f3
mov ecx, esi
call dword [eax]
push 0x1003914
call fcn.0101d647
xor esi, esi
cmp dword [ebp + 8], ebx
pop ecx
jle 0x10178a6
push dword [edi + esi*4]
call fcn.0101d647
inc esi
cmp esi, dword [ebp + 8]
pop ecx
jl 0x1017862
jmp 0x10178a6
mov byte [ebp - 0x21d], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x22c]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
jmp 0x101781d
mov byte [ebp - 0x21d], 0
jmp 0x101781d
push 1
push 1
push eax
push eax
push 0xc000c390
mov edx, dword [esi]
mov ecx, esi
call dword [edx]
xor al, al
jmp 0x1017922
push 1
push 1
push 0
push 0
push 0xc000c393
mov ecx, esi
mov eax, dword [esi]
call dword [eax]
jmp 0x10178a6
push 1
push 1
push edi
push edi
push 0xc000c392
jmp 0x10178b7
push 1
push 1
push 0
push 0
push 0xc000c390
jmp 0x10178b7
push 1
push 1
push eax
push eax
push 0xc000c458
jmp 0x10178a0
push 1
push 1
push edi
push edi
push 0xc000c450
jmp 0x10178b7
push 1
push 1
push 0
push 0
push 0xc000c391
jmp 0x10178b7
push 1
push 1
push 0
push 0
push 0xc000c451
jmp 0x10178b7
push 1
push 1
push edi
push edi
push 0xc000c459
jmp 0x10178b9
mov al, 1
call fcn.010260f2
ret 8