Function at 0x102871b
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 0x1028b96
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x1028b96
lea eax, [ebp - 4]
push eax
push 0x10066f4
push dword [ebp + 8]
call dword [sym.imp.msvcrt.dll_swscanf]
mov eax, dword [ebp - 4]
add esp, 0xc
cmp eax, 0xffffffff
jne 0x102876b
mov eax, 0x80070057
jmp 0x1028b9b
cmp eax, 0x19
ja 0x1028a3b
je 0x1028a26
cmp eax, 0x11
ja 0x10288d5
je 0x102887c
sub eax, 0
je 0x1028a68
dec eax
je 0x1028830
sub eax, 9
je 0x1028a26
dec eax
je 0x1028822
dec eax
jne 0x1028a6a
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x10287c0
xor edi, edi
jmp 0x10287fb
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
test eax, eax
jne 0x10287d1
push 0x57
pop eax
test eax, eax
jg 0x10287de
call edi
test eax, eax
jne 0x10287f1
push 0x57
pop eax
jmp 0x10287f1
call edi
test eax, eax
jne 0x10287e7
push 0x57
pop eax
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x1028a6a
push 0
push 4
call fcn.01017179
test eax, eax
je 0x102881b
push 0x100c3c0
push esi
push dword [ebp + 8]
call fcn.0100dd4f
jmp 0x1028a6a
push 0x100c3ac
jmp 0x102880d
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
jmp 0x102883c
push dword [ebp + 8]
shr esi, 1
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
jne 0x1028a37
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jne 0x1028855
push 0x57
pop eax
test eax, eax
jg 0x1028867
call esi
test eax, eax
jne 0x1028860
push 0x57
pop eax
mov edi, eax
jmp 0x1028a6a
call esi
test eax, eax
jne 0x1028870
push 0x57
pop eax
and eax, 0xffff
or eax, 0x80070000
jmp 0x1028860
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x1028890
xor edi, edi
jmp 0x10288cb
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
test eax, eax
jne 0x10288a1
push 0x57
pop eax
test eax, eax
jg 0x10288ae
call edi
test eax, eax
jne 0x10288c1
push 0x57
pop eax
jmp 0x10288c1
call edi
test eax, eax
jne 0x10288b7
push 0x57
pop eax
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x1028a6a
push 0x100c3a0
jmp 0x102880d
sub eax, 0x12
je 0x10289d1
dec eax
dec eax
je 0x1028978
dec eax
je 0x1028a68
dec eax
dec eax
je 0x1028a68
dec eax
jne 0x1028a6a
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1028910
xor edi, edi
jmp 0x102894b
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jne 0x1028921
push 0x57
pop eax
test eax, eax
jg 0x102892e
call esi
test eax, eax
jne 0x1028941
push 0x57
pop eax
jmp 0x1028941
call esi
test eax, eax
jne 0x1028937
push 0x57
pop eax
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x1028a6a
mov esi, 0x10062c0
push esi
push dword [ebp + 8]
call dword [sym.imp.msvcrt.dll_wcsstr]
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
je 0x1028a6a
push esi
call dword [sym.imp.msvcrt.dll_wcslen]
and word [ebx + eax*2], 0
pop ecx
jmp 0x1028a6a
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x102898c
xor edi, edi
jmp 0x10289c7
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
test eax, eax
jne 0x102899d
push 0x57
pop eax
test eax, eax
jg 0x10289aa
call edi
test eax, eax
jne 0x10289bd
push 0x57
pop eax
jmp 0x10289bd
call edi
test eax, eax
jne 0x10289b3
push 0x57
pop eax
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x1028a6a
push 0x100c390
jmp 0x102880d
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x10289e5
xor edi, edi
jmp 0x1028a1c
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
test eax, eax
jne 0x10289f6
push 0x57
pop eax
test eax, eax
jg 0x1028a03
call edi
test eax, eax
jne 0x1028a16
push 0x57
pop eax
jmp 0x1028a16
call edi
test eax, eax
jne 0x1028a0c
push 0x57
pop eax
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x1028a6a
push 0x100c384
jmp 0x102880d
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
jmp 0x102883c
xor edi, edi
jmp 0x1028a6a
cmp eax, 0x4019
ja 0x1028b1f
cmp eax, 0x4016
jae 0x1028a68
cmp eax, 0x1e
je 0x1028a68
cmp eax, 0x32
je 0x1028a68
cmp eax, 0x33
je 0x1028ac6
cmp eax, 0x34
je 0x1028a71
jbe 0x1028a6a
cmp eax, 0x37
ja 0x1028a6a
mov edi, ebx
mov eax, edi
jmp 0x1028b9b
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x1028a85
xor edi, edi
jmp 0x1028abc
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
test eax, eax
jne 0x1028a96
push 0x57
pop eax
test eax, eax
jg 0x1028aa3
call edi
test eax, eax
jne 0x1028ab6
push 0x57
pop eax
jmp 0x1028ab6
call edi
test eax, eax
jne 0x1028aac
push 0x57
pop eax
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x1028a6a
push 0x100c364
jmp 0x102880d
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x1028ada
xor edi, edi
jmp 0x1028b15
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
test eax, eax
jne 0x1028aeb
push 0x57
pop eax
test eax, eax
jg 0x1028af8
call edi
test eax, eax
jne 0x1028b0b
push 0x57
pop eax
jmp 0x1028b0b
call edi
test eax, eax
jne 0x1028b01
push 0x57
pop eax
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x1028a6a
push 0x100c354
jmp 0x102880d
sub eax, 0x401f
je 0x1028a68
sub eax, 4
je 0x1028b86
sub eax, 3
je 0x1028b76
sub eax, 5
je 0x1028b66
sub eax, 0x3825
jne 0x1028a6a
push 0x104
push 1
push dword [ebp + 8]
call fcn.010190e9
mov edi, eax
neg edi
sbb edi, edi
and edi, 0x7fffbffb
add edi, ebx
jmp 0x1028a6a
shr esi, 1
push esi
push dword [ebp + 8]
call fcn.01028493
jmp 0x1028860
shr esi, 1
push esi
push dword [ebp + 8]
call fcn.01028264
jmp 0x1028860
shr esi, 1
push esi
push dword [ebp + 8]
call fcn.010285e4
jmp 0x1028860
mov eax, 0x80004003
pop edi
pop esi
pop ebx
leave
ret 8