Function at 0x48b400
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x3a0]
sub esp, 0x420
mov eax, dword [0x56bbe0]
xor eax, ebp
mov dword [ebp + 0x39c], eax
mov eax, dword [ebp + 0x3a8]
and dword [ebp - 0x7c], 0
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0x3ac]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0x3b0]
mov dword [ebp - 0x74], eax
push 0x104
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x48bcff
push ebx
push esi
push edi
lea eax, [ebp - 0x64]
push eax
mov esi, 0x200
push esi
lea eax, [ebp + 0x19c]
push eax
mov byte [ebp + 0x9f], 0
call fcn.0048b33b
push str.ddraw.dll
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b370
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b259
pop ecx
pop ecx
push 2
xor edi, edi
pop ebx
test eax, eax
jl 0x48b575
push 0x5f
push edi
push ebx
push 4
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jl 0x48b4e8
mov eax, dword [ebp - 0x70]
cmp eax, edi
je 0x48b4ce
mov dword [eax], 1
mov eax, dword [ebp - 0x78]
cmp eax, edi
je 0x48b4d7
mov dword [eax], edi
mov eax, dword [ebp - 0x74]
cmp eax, edi
je 0x48b4e1
mov byte [eax], 0x20
mov dword [ebp - 0x7c], 1
push 0x448
push edi
push 3
push 4
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jl 0x48b52e
mov eax, dword [ebp - 0x70]
cmp eax, edi
je 0x48b514
mov dword [eax], ebx
mov eax, dword [ebp - 0x78]
cmp eax, edi
je 0x48b51d
mov dword [eax], edi
mov eax, dword [ebp - 0x74]
cmp eax, edi
je 0x48b527
mov byte [eax], 0x20
mov dword [ebp - 0x7c], 1
push 0x44
push edi
push 4
push 4
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jl 0x48b575
mov eax, dword [ebp - 0x70]
cmp eax, edi
je 0x48b55b
mov dword [eax], 3
mov eax, dword [ebp - 0x78]
cmp eax, edi
je 0x48b564
mov dword [eax], edi
mov eax, dword [ebp - 0x74]
cmp eax, edi
je 0x48b56e
mov byte [eax], 0x20
mov dword [ebp - 0x7c], 1
lea eax, [ebp - 0x64]
push eax
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b33b
push str.d3drg8x.dll
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b370
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b259
pop ecx
pop ecx
test eax, eax
jl 0x48b5f5
push 0x46
push edi
push 4
push 4
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jl 0x48b5f5
mov eax, dword [ebp - 0x70]
cmp eax, edi
je 0x48b5db
mov dword [eax], 3
mov eax, dword [ebp - 0x78]
cmp eax, edi
je 0x48b5e4
mov dword [eax], edi
mov eax, dword [ebp - 0x74]
cmp eax, edi
je 0x48b5ee
mov byte [eax], 0x61
mov dword [ebp - 0x7c], 1
lea eax, [ebp - 0x64]
push eax
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b33b
push str.ddraw.dll
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b370
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b259
pop ecx
pop ecx
push 5
pop esi
push 6
pop ebx
test eax, eax
jl 0x48b708
push 0x9b
push edi
push esi
push 4
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jl 0x48b67d
mov eax, dword [ebp - 0x70]
cmp eax, edi
je 0x48b663
mov dword [eax], esi
mov eax, dword [ebp - 0x78]
cmp eax, edi
je 0x48b66c
mov dword [eax], edi
mov eax, dword [ebp - 0x74]
cmp eax, edi
je 0x48b676
mov byte [eax], 0x20
mov dword [ebp - 0x7c], 1
push 0x13e
push edi
push ebx
push 4
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
mov esi, dword [ebp - 0x70]
add esp, 0x20
test eax, eax
jl 0x48b6c2
cmp esi, edi
je 0x48b6a8
mov dword [esi], ebx
mov eax, dword [ebp - 0x78]
cmp eax, edi
je 0x48b6b1
mov dword [eax], edi
mov eax, dword [ebp - 0x74]
cmp eax, edi
je 0x48b6bb
mov byte [eax], 0x20
mov dword [ebp - 0x7c], 1
push 0x1b4
push edi
push ebx
push 4
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jl 0x48b708
cmp esi, edi
je 0x48b6ea
mov dword [esi], ebx
mov eax, dword [ebp - 0x78]
cmp eax, edi
je 0x48b6f7
mov dword [eax], 1
mov eax, dword [ebp - 0x74]
cmp eax, edi
je 0x48b701
mov byte [eax], 0x20
mov dword [ebp - 0x7c], 1
lea eax, [ebp - 0x64]
push eax
mov esi, 0x200
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b33b
push str.dplayx.dll
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b370
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b259
pop ecx
pop ecx
test eax, eax
jl 0x48b790
push 0x206
push 3
push ebx
push 4
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jl 0x48b790
mov eax, dword [ebp - 0x70]
cmp eax, edi
je 0x48b772
mov dword [eax], ebx
mov eax, dword [ebp - 0x78]
cmp eax, edi
je 0x48b77f
mov dword [eax], 1
mov eax, dword [ebp - 0x74]
cmp eax, edi
je 0x48b789
mov byte [eax], 0x61
mov dword [ebp - 0x7c], 1
lea eax, [ebp - 0x64]
push eax
mov ebx, esi
push ebx
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b33b
push str.ddraw.dll
push ebx
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b370
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b259
pop ecx
pop ecx
push 7
pop esi
test eax, eax
jl 0x48b813
push 0x2bc
push edi
push esi
push 4
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jl 0x48b813
mov eax, dword [ebp - 0x70]
cmp eax, edi
je 0x48b7f9
mov dword [eax], esi
mov eax, dword [ebp - 0x78]
cmp eax, edi
je 0x48b802
mov dword [eax], edi
mov eax, dword [ebp - 0x74]
cmp eax, edi
je 0x48b80c
mov byte [eax], 0x20
mov dword [ebp - 0x7c], 1
lea eax, [ebp - 0x64]
push eax
push ebx
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b33b
push str.dinput.dll
push ebx
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b370
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b259
pop ecx
pop ecx
test eax, eax
jl 0x48b891
push 0x2cc
push edi
push esi
push 4
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jl 0x48b891
mov eax, dword [ebp - 0x70]
cmp eax, edi
je 0x48b877
mov dword [eax], esi
mov eax, dword [ebp - 0x78]
cmp eax, edi
je 0x48b880
mov dword [eax], edi
mov eax, dword [ebp - 0x74]
cmp eax, edi
je 0x48b88a
mov byte [eax], 0x61
mov dword [ebp - 0x7c], 1
lea eax, [ebp - 0x64]
push eax
mov esi, ebx
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b33b
push str.ddraw.dll
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b370
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b259
pop ecx
pop ecx
push 8
pop ebx
test eax, eax
jl 0x48b94c
mov edi, dword [ebp - 0x68]
shr edi, 0x10
mov esi, 0x190
cmp di, 4
jne 0x48b8ff
push esi
push 0
push ebx
push 4
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jge 0x48b928
cmp di, 5
jne 0x48b94c
push esi
push 0x8d2
push 1
push 5
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jl 0x48b94c
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x48b931
mov dword [eax], ebx
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x48b93b
and dword [eax], 0
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x48b945
mov byte [eax], 0x20
mov dword [ebp - 0x7c], 1
lea eax, [ebp - 0x64]
push eax
mov esi, 0x200
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b33b
push str.d3d8.dll
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b370
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b259
pop ecx
pop ecx
test eax, eax
jl 0x48ba94
mov ebx, dword [ebp - 0x68]
mov dword [ebp - 0x80], ebx
shr dword [ebp - 0x80], 0x10
cmp word [ebp - 0x80], 4
mov edi, 0xa28
mov esi, 0x371
jne 0x48b9c7
push esi
push 1
push 8
push 4
call fcn.0048b2f9
push edx
push eax
push ebx
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jge 0x48b9eb
cmp word [ebp - 0x80], 5
jne 0x48ba16
push esi
push edi
push 1
push 5
call fcn.0048b2f9
push edx
push eax
push ebx
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jl 0x48ba16
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x48b9f8
mov dword [eax], 8
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x48ba05
mov dword [eax], 1
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x48ba0f
mov byte [eax], 0x20
mov dword [ebp - 0x7c], 1
cmp word [ebp - 0x80], 4
mov esi, 0x385
jne 0x48ba40
push esi
push 1
push 8
push 4
call fcn.0048b2f9
push edx
push eax
push ebx
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jge 0x48ba64
cmp word [ebp - 0x80], 5
jne 0x48ba8f
push esi
push edi
push 1
push 5
call fcn.0048b2f9
push edx
push eax
push ebx
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jl 0x48ba8f
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x48ba71
mov dword [eax], 8
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x48ba7e
mov dword [eax], 1
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x48ba88
mov byte [eax], 0x61
mov dword [ebp - 0x7c], 1
mov esi, 0x200
lea eax, [ebp - 0x64]
push eax
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b33b
push str.mpg2splt.ax
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b370
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b259
pop ecx
pop ecx
test eax, eax
jl 0x48bb16
push 0x375
xor edi, edi
inc edi
push edi
push 3
push 6
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jl 0x48bb16
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x48bb00
mov dword [eax], 8
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x48bb09
mov dword [eax], edi
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x48bb13
mov byte [eax], 0x62
mov dword [ebp - 0x7c], edi
lea eax, [ebp - 0x64]
push eax
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b33b
push str.dpnet.dll
push esi
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b370
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b259
pop ecx
pop ecx
push 9
pop ebx
test eax, eax
jl 0x48bbd6
mov edi, dword [ebp - 0x68]
shr edi, 0x10
lea esi, [ebx + 0x7d]
cmp di, 4
jne 0x48bb84
push esi
push 0
push ebx
push 4
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jge 0x48bbad
cmp di, 5
jne 0x48bbd6
push esi
push 0xe5d
push 2
push 5
call fcn.0048b2f9
push edx
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048b318
add esp, 0x20
test eax, eax
jl 0x48bbd6
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x48bbba
mov dword [eax], 8
mov edi, dword [ebp - 0x78]
test edi, edi
je 0x48bbc7
mov dword [edi], 2
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x48bbd1
mov byte [eax], 0x20
xor esi, esi
inc esi
jmp 0x48bbdc
mov esi, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x78]
lea eax, [ebp - 0x64]
push eax
push 0x200
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b33b
push str.d3d9.dll
push 0x200
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b370
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b259
pop ecx
pop ecx
test eax, eax
jl 0x48bc3a
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x48bc26
mov dword [eax], ebx
test edi, edi
je 0x48bc2d
and dword [edi], 0
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x48bc37
mov byte [eax], 0x20
xor esi, esi
inc esi
lea eax, [ebp - 0x64]
push eax
mov ebx, 0x200
push ebx
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b33b
push str.d3d10.dll
push ebx
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b370
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b259
mov ebx, dword [ebp - 0x70]
pop ecx
pop ecx
test eax, eax
jl 0x48bc99
test ebx, ebx
je 0x48bc85
mov dword [ebx], 0xa
test edi, edi
je 0x48bc8c
and dword [edi], 0
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x48bc96
mov byte [eax], 0x20
xor esi, esi
inc esi
lea eax, [ebp - 0x64]
push eax
push 0x200
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b33b
push str.d3d11.dll
push 0x200
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b370
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x19c]
push eax
call fcn.0048b259
pop ecx
pop ecx
test eax, eax
jl 0x48bcf8
test ebx, ebx
je 0x48bce4
mov dword [ebx], 0xb
test edi, edi
je 0x48bceb
and dword [edi], 0
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x48bcf5
mov byte [eax], 0x20
xor esi, esi
inc esi
pop edi
test esi, esi
pop esi
pop ebx
jne 0x48bd1d
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x48bd09
and dword [eax], 0
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x48bd13
and dword [eax], 0
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x48bd1d
mov byte [eax], 0x20
mov ecx, dword [ebp + 0x39c]
xor ecx, ebp
xor eax, eax
call fcn.004a9399
add ebp, 0x3a0
leave
ret