Function at 0x1007cfc0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x63c
mov eax, dword [0x1017455c]
xor eax, esp
mov dword [esp + 0x638], eax
push ebx
push esi
push edi
push 0x207
lea eax, [esp + 0x22d]
mov edi, ecx
push 0
push eax
mov dword [esp + 0x18], edi
mov byte [esp + 0x234], 0
call fcn.10116880
add esp, 0xc
xor ebx, ebx
call fcn.1004c7c0
push 0x103
lea ecx, [esp + 0x435]
push ebx
push ecx
mov byte [esp + 0x43c], bl
call fcn.10116880
add esp, 0xc
push 0x104
lea edx, [esp + 0x53c]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea esi, [esp + 0x538]
call fcn.10049c80
lea esi, [esp + 0x430]
call fcn.1007cc60
test eax, eax
jne 0x1007d07d
mov eax, esi
push eax
push 0x1013fb04
push ebx
call fcn.10053700
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x638]
xor ecx, esp
call fcn.1010d699
mov esp, ebp
pop ebp
ret
call fcn.1004ff20
test al, al
jne 0x1007d115
call fcn.1004f920
test eax, eax
jne 0x1007d115
lea edx, [esp + 0x228]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1007d0a2
lea ecx, [esp + 0x228]
call fcn.10049c40
lea eax, [esp + 0x228]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1007d0c0
mov ecx, dword [str.AVDISK.INF]
mov edx, dword [0x1015c34c]
mov dword [eax], ecx
mov cx, word [0x1015c350]
mov dword [eax + 4], edx
mov dl, byte [0x1015c352]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
push 1
push 0
xor edx, edx
lea ecx, [esp + 0x230]
call fcn.10044660
add esp, 8
test eax, eax
jne 0x1007d46f
push eax
mov ecx, str._AVDINST__AVDisk__eScan_Device_Control__NOT_compatible_with_Windows_2000...
jmp 0x1007d467
lea edx, [esp + 0x228]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1007d120
lea ecx, [esp + 0x228]
call fcn.10049c40
lea eax, [esp + 0x228]
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1007d140
mov ecx, dword [str.AVDISK.INF]
mov edx, dword [0x1015c34c]
mov dword [eax], ecx
mov cx, word [0x1015c350]
mov dword [eax + 4], edx
mov dl, byte [0x1015c352]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
push 1
push 0
xor edx, edx
lea ecx, [esp + 0x230]
call fcn.10044660
add esp, 8
test eax, eax
jne 0x1007d43d
call fcn.1004f190
test eax, eax
jne 0x1007d2b6
lea esi, [esp + 0x18]
mov eax, edi
sub esi, edi
nop
mov cl, byte [eax]
mov byte [esi + eax], cl
inc eax
test cl, cl
jne 0x1007d1a0
lea ecx, [esp + 0x18]
call fcn.10049c40
lea eax, [esp + 0x18]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1007d1b8
mov ecx, dword [str.avdisk.sys]
mov edx, dword [0x1015bf9c]
mov dword [eax], ecx
mov cx, word [0x1015bfa0]
mov dword [eax + 4], edx
mov dl, byte [0x1015bfa2]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
lea eax, [esp + 0x538]
push eax
lea ecx, [esp + 0x124]
push str._sdrivers_avdisk.sys
push ecx
call fcn.1010d6a8
add esp, 0xc
push 1
push 0
xor edx, edx
lea ecx, [esp + 0x128]
call fcn.10044660
add esp, 8
test eax, eax
jne 0x1007d400
lea edx, [esp + 0x120]
push edx
lea edx, [esp + 0x1c]
call fcn.1003c330
add esp, 4
cmp eax, 1
jne 0x1007d400
push 0
lea edi, [esp + 0x1c]
lea ebx, [esp + 0x124]
call fcn.10063ba0
mov eax, dword [esp + 0x10]
add esp, 4
mov cl, byte [eax]
mov byte [esi + eax], cl
inc eax
test cl, cl
jne 0x1007d255
lea ecx, [esp + 0x18]
call fcn.10049c40
lea eax, [esp + 0x18]
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1007d270
mov ecx, dword [str.avdisk32.sys]
mov edx, dword [0x1015bfb8]
mov dword [eax], ecx
mov ecx, dword [0x1015bfbc]
mov dword [eax + 4], edx
mov dl, byte [0x1015bfc0]
mov dword [eax + 8], ecx
push 0
lea edi, [esp + 0x1c]
lea ebx, [esp + 0x124]
mov byte [eax + 0xc], dl
call fcn.10063ba0
mov edi, dword [esp + 0x10]
jmp 0x1007d3fd
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], ebx
call fcn.1004f240
lea esi, [esp + 0x1c]
add esp, 4
mov dword [esp + 0x14], eax
mov eax, edi
sub esi, edi
mov cl, byte [eax]
mov byte [esi + eax], cl
inc eax
test cl, cl
jne 0x1007d2d3
lea ecx, [esp + 0x18]
call fcn.10049c40
lea eax, [esp + 0x18]
dec eax
jmp 0x1007d2f0
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1007d2f0
mov ecx, dword [str.avdisk.sys]
mov edx, dword [0x1015bf9c]
mov dword [eax], ecx
mov cx, word [0x1015bfa0]
mov dword [eax + 4], edx
mov dl, byte [0x1015bfa2]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
lea eax, [esp + 0x538]
push eax
lea ecx, [esp + 0x124]
push str._sdrivers_avdisk.sys
push ecx
call fcn.1010d6a8
add esp, 0xc
push 1
push 0
xor edx, edx
lea ecx, [esp + 0x128]
call fcn.10044660
add esp, 8
test eax, eax
jne 0x1007d3ec
lea edx, [esp + 0x120]
push edx
lea edx, [esp + 0x1c]
call fcn.1003c330
add esp, 4
cmp eax, 1
jne 0x1007d3ec
push 0
lea edi, [esp + 0x1c]
lea ebx, [esp + 0x124]
call fcn.10063ba0
mov eax, dword [esp + 0x10]
add esp, 4
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [esi + eax], cl
inc eax
test cl, cl
jne 0x1007d390
lea ecx, [esp + 0x18]
call fcn.10049c40
lea eax, [esp + 0x18]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1007d3a8
mov ecx, dword [str.avdisk64.sys]
mov edx, dword [0x1015bfa8]
mov dword [eax], ecx
mov ecx, dword [0x1015bfac]
mov dword [eax + 4], edx
mov dl, byte [0x1015bfb0]
mov dword [eax + 8], ecx
push 0
lea edi, [esp + 0x1c]
lea ebx, [esp + 0x124]
mov byte [eax + 0xc], dl
call fcn.10063ba0
mov edi, dword [esp + 0x10]
add esp, 4
cmp dword [esp + 0x14], 0
je 0x1007d400
mov eax, dword [esp + 0x10]
push eax
call fcn.1004f2c0
add esp, 4
push 0
mov ecx, str._AVDINST__Installing_AVDISK_Driver...
call fcn.10079d30
add esp, 4
mov ecx, edi
call fcn.1007c910
push 0
mov ecx, str._AVDINST__Starting_AVDISK...
call fcn.10079d30
add esp, 4
mov ecx, str.avdisk
call fcn.10049240
mov ebx, 1
push 0
mov ecx, str._AVDINST__AVDISK_Driver_installation_finished.
jmp 0x1007d467
lea ecx, [esp + 0x228]
push ecx
lea edx, [esp + 0x124]
push str._s_missing._Not_Installing_AVDISK_Driver_
push edx
call fcn.1010d6a8
add esp, 0xc
lea eax, [esp + 0x120]
push eax
mov ecx, str._AVDINST___s
call fcn.10079d30
add esp, 4
mov ecx, dword [esp + 0x644]
pop edi
pop esi
mov eax, ebx
pop ebx
xor ecx, esp
call fcn.1010d699
mov esp, ebp
pop ebp
ret