Function at 0x10648c9
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
and dword [ebp - 4], 0
cmp dword [ebp + 8], 0
push ebx
push esi
mov ebx, 0x80004005
push edi
mov edi, ebx
je 0x1064c81
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x1064c81
lea eax, [ebp - 4]
push eax
push 0x1007cc0
push dword [ebp + 8]
call dword [sym.imp.msvcrt.dll_swscanf]
add esp, 0xc
test eax, eax
jne 0x1064915
mov eax, 0x80070057
jmp 0x1064c86
mov eax, dword [ebp - 4]
cmp eax, 0xffffffff
je 0x106490b
cmp eax, 0x19
ja 0x1064b62
je 0x1064b51
cmp eax, 0x11
ja 0x1064a4c
je 0x1064a09
sub eax, 0
je 0x1064c7d
dec eax
je 0x10649f7
sub eax, 9
je 0x1064b51
dec eax
je 0x10649be
dec eax
jne 0x1064c7d
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1064972
xor edi, edi
jmp 0x1064997
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1064981
push 0x57
pop eax
test eax, eax
jle 0x106498d
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x1064c7d
push 0
push 4
call fcn.010563cb
test eax, eax
je 0x10649ab
push 0x100db68
jmp 0x10649b0
push 0x100db54
push esi
push dword [ebp + 8]
call fcn.01035886
jmp 0x1064c7d
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
jmp 0x1064a03
xor edi, edi
jmp 0x1064c7d
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x10649e2
push 0x57
pop eax
test eax, eax
jle 0x1064c7b
and eax, 0xffff
or eax, 0x80070000
jmp 0x1064c7b
push dword [ebp + 8]
shr esi, 1
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
jne 0x10649cc
jmp 0x10649d3
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x1064a1d
xor edi, edi
jmp 0x1064a42
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1064a2c
push 0x57
pop eax
test eax, eax
jle 0x1064a38
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x1064c7d
push 0x100db48
jmp 0x10649b0
sub eax, 0x12
je 0x1064b0e
dec eax
dec eax
je 0x1064acb
dec eax
je 0x1064c7d
dec eax
dec eax
je 0x1064c7d
dec eax
jne 0x1064c7d
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1064a83
xor edi, edi
jmp 0x1064aa8
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1064a92
push 0x57
pop eax
test eax, eax
jle 0x1064a9e
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x1064c7d
push 0x1007db0
push dword [ebp + 8]
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x1064c7d
xor ecx, ecx
mov word [eax + 4], cx
jmp 0x1064c7d
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x1064adf
xor edi, edi
jmp 0x1064b04
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1064aee
push 0x57
pop eax
test eax, eax
jle 0x1064afa
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x1064c7d
push 0x100db38
jmp 0x10649b0
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x1064b22
xor edi, edi
jmp 0x1064b47
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1064b31
push 0x57
pop eax
test eax, eax
jle 0x1064b3d
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x1064c7d
push 0x100db2c
jmp 0x10649b0
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
jmp 0x1064a03
cmp eax, 0x4019
ja 0x1064c1a
cmp eax, 0x4016
jae 0x1064c7d
cmp eax, 0x1e
je 0x1064c7d
cmp eax, 0x32
je 0x1064c7d
cmp eax, 0x33
je 0x1064bdb
cmp eax, 0x34
jne 0x1064c7d
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x1064bac
xor edi, edi
jmp 0x1064bd1
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1064bbb
push 0x57
pop eax
test eax, eax
jle 0x1064bc7
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x1064c7d
push 0x100db0c
jmp 0x10649b0
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x1064bef
xor edi, edi
jmp 0x1064c10
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1064bfe
push 0x57
pop eax
test eax, eax
jle 0x1064c0a
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x1064c7d
push 0x100dafc
jmp 0x10649b0
sub eax, 0x401f
je 0x1064c7d
sub eax, 4
je 0x1064c70
sub eax, 3
je 0x1064c63
sub eax, 5
je 0x1064c56
sub eax, 0x3825
jne 0x1064c7d
push 0x104
push 1
push dword [ebp + 8]
call fcn.01058c2d
mov edi, eax
neg edi
sbb edi, edi
and edi, 0x7fffbffb
add edi, ebx
jmp 0x1064c7d
shr esi, 1
push esi
push dword [ebp + 8]
call fcn.01064616
jmp 0x1064c7b
shr esi, 1
push esi
push dword [ebp + 8]
call fcn.01064391
jmp 0x1064c7b
shr esi, 1
push esi
push dword [ebp + 8]
call fcn.01064774
mov edi, eax
mov eax, edi
jmp 0x1064c86
mov eax, 0x80004003
pop edi
pop esi
pop ebx
leave
ret 8