Function at 0x103c07b
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 0x103c433
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x103c433
lea eax, [ebp - 4]
push eax
push 0x1005850
push dword [ebp + 8]
call dword [sym.imp.msvcrt.dll_swscanf]
add esp, 0xc
test eax, eax
jne 0x103c0c7
mov eax, 0x80070057
jmp 0x103c438
mov eax, dword [ebp - 4]
cmp eax, 0xffffffff
je 0x103c0bd
cmp eax, 0x19
ja 0x103c314
je 0x103c303
cmp eax, 0x11
ja 0x103c1fe
je 0x103c1bb
sub eax, 0
je 0x103c42f
dec eax
je 0x103c1a9
sub eax, 9
je 0x103c303
dec eax
je 0x103c170
dec eax
jne 0x103c42f
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x103c124
xor edi, edi
jmp 0x103c149
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x103c133
push 0x57
pop eax
test eax, eax
jle 0x103c13f
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x103c42f
push 0
push 4
call fcn.0102eaba
test eax, eax
je 0x103c15d
push 0x100c200
jmp 0x103c162
push 0x100c1ec
push esi
push dword [ebp + 8]
call fcn.01027edd
jmp 0x103c42f
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
jmp 0x103c1b5
xor edi, edi
jmp 0x103c42f
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x103c194
push 0x57
pop eax
test eax, eax
jle 0x103c42d
and eax, 0xffff
or eax, 0x80070000
jmp 0x103c42d
push dword [ebp + 8]
shr esi, 1
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
jne 0x103c17e
jmp 0x103c185
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x103c1cf
xor edi, edi
jmp 0x103c1f4
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x103c1de
push 0x57
pop eax
test eax, eax
jle 0x103c1ea
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x103c42f
push 0x100c1e0
jmp 0x103c162
sub eax, 0x12
je 0x103c2c0
dec eax
dec eax
je 0x103c27d
dec eax
je 0x103c42f
dec eax
dec eax
je 0x103c42f
dec eax
jne 0x103c42f
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x103c235
xor edi, edi
jmp 0x103c25a
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x103c244
push 0x57
pop eax
test eax, eax
jle 0x103c250
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x103c42f
push 0x1005894
push dword [ebp + 8]
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x103c42f
xor ecx, ecx
mov word [eax + 4], cx
jmp 0x103c42f
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x103c291
xor edi, edi
jmp 0x103c2b6
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x103c2a0
push 0x57
pop eax
test eax, eax
jle 0x103c2ac
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x103c42f
push 0x100c1d0
jmp 0x103c162
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x103c2d4
xor edi, edi
jmp 0x103c2f9
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x103c2e3
push 0x57
pop eax
test eax, eax
jle 0x103c2ef
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x103c42f
push 0x100c1c4
jmp 0x103c162
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
jmp 0x103c1b5
cmp eax, 0x4019
ja 0x103c3cc
cmp eax, 0x4016
jae 0x103c42f
cmp eax, 0x1e
je 0x103c42f
cmp eax, 0x32
je 0x103c42f
cmp eax, 0x33
je 0x103c38d
cmp eax, 0x34
jne 0x103c42f
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x103c35e
xor edi, edi
jmp 0x103c383
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x103c36d
push 0x57
pop eax
test eax, eax
jle 0x103c379
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x103c42f
push 0x100c1a4
jmp 0x103c162
shr esi, 1
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x103c3a1
xor edi, edi
jmp 0x103c3c2
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x103c3b0
push 0x57
pop eax
test eax, eax
jle 0x103c3bc
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jne 0x103c42f
push 0x100c194
jmp 0x103c162
sub eax, 0x401f
je 0x103c42f
sub eax, 4
je 0x103c422
sub eax, 3
je 0x103c415
sub eax, 5
je 0x103c408
sub eax, 0x3825
jne 0x103c42f
push 0x104
push 1
push dword [ebp + 8]
call fcn.010302a3
mov edi, eax
neg edi
sbb edi, edi
and edi, 0x7fffbffb
add edi, ebx
jmp 0x103c42f
shr esi, 1
push esi
push dword [ebp + 8]
call fcn.0103bdc8
jmp 0x103c42d
shr esi, 1
push esi
push dword [ebp + 8]
call fcn.0103bb43
jmp 0x103c42d
shr esi, 1
push esi
push dword [ebp + 8]
call fcn.0103bf26
mov edi, eax
mov eax, edi
jmp 0x103c438
mov eax, 0x80004003
pop edi
pop esi
pop ebx
leave
ret 8