Function at 0x404910
Capabilities:
Get common file path

Disassembly:
push ebx
push ebp
push esi
push edi
xor esi, esi
push 0x104
mov dword [0x41031c], esi
mov dword [0x4102f8], esi
mov dword [0x410310], esi
mov dword [0x410300], esi
mov dword [0x410318], esi
mov dword [0x410324], esi
mov dword [0x410328], esi
mov dword [0x410308], esi
mov dword [0x41033c], esi
mov dword [0x41030c], esi
mov dword [0x410334], esi
mov dword [0x41032c], esi
mov dword [0x410340], esi
mov dword [0x4102fc], esi
mov dword [0x410304], esi
mov dword [0x410320], esi
mov dword [0x410314], esi
call fcn.00405174
push 0x104
mov dword [0x41031c], eax
call fcn.00405174
push 0x104
mov dword [0x410308], eax
call fcn.00405174
mov ecx, dword [0x41031c]
add esp, 0xc
cmp ecx, esi
mov dword [0x410314], eax
je 0x404fa5
cmp dword [0x410308], esi
je 0x404fa5
cmp eax, esi
je 0x404fa5
mov ebp, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push 0x104
push ecx
call ebp
mov eax, dword [0x410308]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTempPathA]
push eax
push 0x104
call ebx
mov ecx, dword [0x410314]
push ecx
push 0x104
call ebx
mov edx, dword [0x41031c]
push edx
call fcn.004048e0
mov eax, dword [0x410308]
push eax
call fcn.004048e0
mov ecx, dword [0x410314]
push ecx
call fcn.004048e0
or ecx, 0xffffffff
mov edi, 0x40d064
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [0x41031c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x40d064
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x410308]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.TestSCM.cam
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x410314]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x410330]
sub eax, 0
je 0x404b16
dec eax
je 0x404ac7
dec eax
je 0x404dbc
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
push 0x104
call fcn.00405174
add esp, 4
mov dword [0x4102f8], eax
test eax, eax
je 0x404fa5
push 0x104
push eax
call ebp
mov eax, dword [0x4102f8]
push eax
call fcn.004048e0
mov edi, str.DX9XDriver.dll
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x4102f8]
mov edx, ecx
jmp 0x404f85
push 0x104
call fcn.00405174
push 0x104
mov dword [0x410318], eax
call fcn.00405174
push 0x104
mov dword [0x410328], eax
call fcn.00405174
push 0x104
mov dword [0x410324], eax
call fcn.00405174
push 0x104
mov dword [0x41032c], eax
call fcn.00405174
push 0x104
mov dword [0x4102fc], eax
call fcn.00405174
mov ecx, dword [0x410318]
add esp, 0x18
test ecx, ecx
mov dword [0x410340], eax
je 0x404fa5
mov edx, dword [0x410328]
test edx, edx
je 0x404fa5
mov edx, dword [0x410324]
test edx, edx
je 0x404fa5
mov edx, dword [0x41032c]
test edx, edx
je 0x404fa5
mov edx, dword [0x4102fc]
test edx, edx
je 0x404fa5
test eax, eax
je 0x404fa5
push 0x104
push ecx
call ebp
mov eax, dword [0x410328]
push 0x104
push eax
call ebp
mov ecx, dword [0x410324]
push 0x104
push ecx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov edx, dword [0x41032c]
push edx
push 0x104
call ebx
mov eax, dword [0x4102fc]
push eax
push 0x104
call ebx
mov ecx, dword [0x410340]
push ecx
push 0x104
call ebx
mov edx, dword [0x410318]
push edx
call fcn.004048e0
mov eax, dword [0x410328]
push eax
call fcn.004048e0
mov ecx, dword [0x410324]
push ecx
call fcn.004048e0
mov edx, dword [0x41032c]
push edx
call fcn.004048e0
mov eax, dword [0x4102fc]
push eax
call fcn.004048e0
mov ecx, dword [0x410340]
push ecx
call fcn.004048e0
mov edi, str.JPVideo.dll
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x410318]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.Drivers_
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x410328]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x40d3c0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x410328]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, str.inf_
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [0x410324]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, str.JMVideo.inf
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [0x410324]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.JPVideo.dll
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x41032c]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x40d3c0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x4102fc]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.JMVideo.inf
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x410340]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x104
call fcn.00405174
push 0x104
mov dword [0x410300], eax
call fcn.00405174
push 0x104
mov dword [0x410310], eax
call fcn.00405174
mov ecx, dword [0x410300]
add esp, 0xc
test ecx, ecx
mov dword [0x41030c], eax
je 0x404fa5
mov ecx, dword [0x410310]
test ecx, ecx
je 0x404fa5
push eax
push 0x104
call ebx
mov eax, dword [0x410300]
push 0x104
push eax
call ebp
mov ecx, dword [0x410310]
push 0x104
push ecx
call ebp
mov edx, dword [0x410300]
push edx
call fcn.004048e0
mov eax, dword [0x410310]
push eax
call fcn.004048e0
mov ecx, dword [0x41030c]
push ecx
call fcn.004048e0
push 0x104
call fcn.00405174
push 0x104
mov dword [0x410304], eax
call fcn.00405174
mov edi, dword [0x410300]
mov dword [0x410320], eax
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [0x410304]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [0x410310]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [0x410320]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.DXVideo_lmlegacy.dll
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x410304]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.DXProxy_lmlegacy.dll
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x410320]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.DXVideo.dll
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x410300]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x40d2e0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x410310]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x40d2e0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x41030c]
mov edx, ecx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, 1
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret