Function at 0x4284c2
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
and dword [ebp - 4], 0
push ebx
push esi
mov ebx, ecx
mov esi, 0x80004005
push edi
mov edi, edx
test ebx, ebx
je 0x42886e
test edi, edi
je 0x42886e
lea eax, [ebp - 4]
push eax
push 0x406840
push ebx
call dword [sym.imp.msvcrt.dll_swscanf]
add esp, 0xc
test eax, eax
jne 0x428509
mov eax, 0x80070057
jmp 0x428873
mov eax, dword [ebp - 4]
cmp eax, 0xffffffff
je 0x4284ff
cmp eax, 0x19
ja 0x428758
je 0x428741
cmp eax, 0x11
ja 0x42863f
je 0x4285fb
sub eax, 0
je 0x42886a
sub eax, 1
je 0x4285c7
sub eax, 9
je 0x428741
sub eax, 1
je 0x4285b1
sub eax, 1
jne 0x42886a
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x42856a
xor esi, esi
jmp 0x42858e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x42857b
push 0x57
pop esi
test esi, esi
jle 0x428586
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x42886a
call fcn.0042520d
mov edx, edi
mov ecx, ebx
test eax, eax
je 0x4285a2
push 0x409608
jmp 0x4285a7
push 0x40961c
call fcn.00418407
jmp 0x42886a
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
jmp 0x42874b
xor esi, esi
jmp 0x42886a
push ebx
shr edi, 1
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
jmp 0x42874b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x4285e7
push 0x57
pop esi
test esi, esi
jle 0x42886a
movzx esi, si
or esi, 0x80070000
jmp 0x42886a
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x42860d
xor esi, esi
jmp 0x428631
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x42861e
push 0x57
pop esi
test esi, esi
jle 0x428629
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x42886a
push 0x409630
mov edx, edi
mov ecx, ebx
jmp 0x4285a7
sub eax, 0x12
je 0x428701
dec eax
sub eax, 1
je 0x4286c1
sub eax, 1
je 0x42886a
dec eax
sub eax, 1
je 0x42886a
sub eax, 1
jne 0x42886a
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x42867c
xor esi, esi
jmp 0x4286a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x42868d
push 0x57
pop esi
test esi, esi
jle 0x428698
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x42886a
push 0x406848
push ebx
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x42886a
xor ecx, ecx
mov word [eax + 4], cx
jmp 0x42886a
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x4286d3
xor esi, esi
jmp 0x4286f7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x4286e4
push 0x57
pop esi
test esi, esi
jle 0x4286ef
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x42886a
push 0x409648
jmp 0x428636
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x428713
xor esi, esi
jmp 0x428737
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x428724
push 0x57
pop esi
test esi, esi
jle 0x42872f
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x42886a
push 0x40963c
jmp 0x428636
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
jne 0x4285c0
jmp 0x4285d6
cmp eax, 0x4019
ja 0x42880a
cmp eax, 0x4016
jae 0x42886a
cmp eax, 0x1e
je 0x42886a
cmp eax, 0x32
je 0x42886a
cmp eax, 0x33
je 0x4287ce
cmp eax, 0x34
jne 0x42886a
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x4287a0
xor esi, esi
jmp 0x4287c4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x4287b1
push 0x57
pop esi
test esi, esi
jle 0x4287bc
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x42886a
push 0x409668
jmp 0x428636
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x4287e0
xor esi, esi
jmp 0x428800
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x4287f1
push 0x57
pop esi
test esi, esi
jle 0x4287fc
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x42886a
push 0x409658
jmp 0x428636
sub eax, 0x401f
je 0x42886a
sub eax, 4
je 0x42885d
sub eax, 3
je 0x428850
sub eax, 5
je 0x428843
sub eax, 0x3825
jne 0x42886a
xor edx, edx
mov ecx, ebx
push 0x104
inc edx
call fcn.00425381
neg eax
sbb eax, eax
and eax, 0x7fffbffb
add esi, eax
jmp 0x42886a
shr edi, 1
mov ecx, ebx
mov edx, edi
call fcn.0042804f
jmp 0x428868
shr edi, 1
mov ecx, ebx
mov edx, edi
call fcn.00427db5
jmp 0x428868
shr edi, 1
mov ecx, ebx
mov edx, edi
call fcn.004281aa
mov esi, eax
mov eax, esi
jmp 0x428873
mov eax, 0x80004003
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret