Function at 0x454f78
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
push edi
mov edi, eax
mov esi, 0x80004005
test ebx, ebx
je 0x455322
test edi, edi
je 0x455322
lea eax, [ebp - 4]
push eax
push 0x41d1dc
push ebx
call dword [sym.imp.msvcrt.dll_swscanf]
add esp, 0xc
test eax, eax
jne 0x454fbf
mov eax, 0x80070057
jmp 0x455327
mov eax, dword [ebp - 4]
cmp eax, reloc.ADVAPI32.dll_TraceMessage
je 0x454fb5
cmp eax, 0x19
ja 0x455212
je 0x4551fb
cmp eax, 0x11
ja 0x4550f8
je 0x4550b1
sub eax, 0
je 0x45531e
dec eax
je 0x45507a
sub eax, 9
je 0x4551fb
dec eax
je 0x455064
dec eax
jne 0x45531e
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x45501a
xor esi, esi
jmp 0x455041
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x45502b
push 0x57
pop esi
test esi, esi
jle 0x455039
and esi, 0xffff
or esi, 0x80070000
test esi, esi
jne 0x45531e
call fcn.00440e9b
test eax, eax
mov eax, edi
mov edi, ebx
je 0x455055
push 0x422338
jmp 0x45505a
push 0x42234c
call fcn.0042c8f1
jmp 0x45531e
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
jmp 0x455205
xor esi, esi
jmp 0x45531e
push ebx
shr edi, 1
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
jmp 0x455205
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x45509a
push 0x57
pop esi
test esi, esi
jle 0x45531e
and esi, 0xffff
or esi, 0x80070000
jmp 0x45531e
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x4550c3
xor esi, esi
jmp 0x4550ea
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x4550d4
push 0x57
pop esi
test esi, esi
jle 0x4550e2
and esi, 0xffff
or esi, 0x80070000
test esi, esi
jne 0x45531e
push 0x422360
mov eax, edi
mov edi, ebx
jmp 0x45505a
sub eax, 0x12
je 0x4551b8
dec eax
dec eax
je 0x455175
dec eax
je 0x45531e
dec eax
dec eax
je 0x45531e
dec eax
jne 0x45531e
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x45512d
xor esi, esi
jmp 0x455154
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x45513e
push 0x57
pop esi
test esi, esi
jle 0x45514c
and esi, 0xffff
or esi, 0x80070000
test esi, esi
jne 0x45531e
push 0x41d1e4
push ebx
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x45531e
xor ecx, ecx
mov word [eax + 4], cx
jmp 0x45531e
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x455187
xor esi, esi
jmp 0x4551ae
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x455198
push 0x57
pop esi
test esi, esi
jle 0x4551a6
and esi, 0xffff
or esi, 0x80070000
test esi, esi
jne 0x45531e
push 0x422378
jmp 0x4550ef
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x4551ca
xor esi, esi
jmp 0x4551f1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x4551db
push 0x57
pop esi
test esi, esi
jle 0x4551e9
and esi, 0xffff
or esi, 0x80070000
test esi, esi
jne 0x45531e
push 0x42236c
jmp 0x4550ef
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
jne 0x455073
jmp 0x455089
cmp eax, 0x4019
ja 0x4552ca
cmp eax, 0x4016
jae 0x45531e
cmp eax, 0x1e
je 0x45531e
cmp eax, 0x32
je 0x45531e
cmp eax, 0x33
je 0x45528b
cmp eax, 0x34
jne 0x45531e
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x45525a
xor esi, esi
jmp 0x455281
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x45526b
push 0x57
pop esi
test esi, esi
jle 0x455279
and esi, 0xffff
or esi, 0x80070000
test esi, esi
jne 0x45531e
push 0x422398
jmp 0x4550ef
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x45529d
xor esi, esi
jmp 0x4552c0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x4552ae
push 0x57
pop esi
test esi, esi
jle 0x4552bc
and esi, 0xffff
or esi, 0x80070000
test esi, esi
jne 0x45531e
push 0x422388
jmp 0x4550ef
sub eax, 0x401f
je 0x45531e
sub eax, 4
je 0x455313
sub eax, 3
je 0x455307
sub eax, 5
je 0x4552fc
sub eax, 0x3825
jne 0x45531e
push 1
push ebx
call fcn.00441544
neg eax
sbb eax, eax
and eax, 0x7fffbffb
add esi, eax
jmp 0x45531e
shr edi, 1
mov ecx, edi
call fcn.00454ace
jmp 0x45531c
shr edi, 1
push ebx
mov ecx, edi
call fcn.0045486d
jmp 0x45531c
shr edi, 1
push edi
push ebx
call fcn.00454c21
mov esi, eax
mov eax, esi
jmp 0x455327
mov eax, 0x80004003
pop edi
pop esi
pop ebx
leave
ret