Function at 0x48b4a2
Capabilities:
Get common file path

Disassembly:
push 0x43c
mov eax, 0x56e366
call fcn.00523ccd
mov edi, ecx
xor ebx, ebx
lea ecx, [ebp - 0x378]
mov dword [ebp - 0x374], edi
mov byte [ebp - 0x378], bl
call fcn.00486321
test al, al
jne 0x48b4d6
mov byte [ebp - 0x378], bl
push str.HKLMSOFTWARENVIDIA_CorporationGlobalNVUpdatus
lea esi, [ebp - 0x23c]
call fcn.0040338f
mov dword [ebp - 4], ebx
lea ebx, [edi + 0xa4]
push ebx
mov ecx, esi
call fcn.0048a8be
or dword [ebp - 4], 0xffffffff
pop ecx
push 1
xor edi, edi
call fcn.00404145
push str.HKLMSOFTWARENVIDIA_CorporationGlobalNvBackend
lea esi, [ebp - 0x23c]
call fcn.0040338f
xor esi, esi
inc esi
push ebx
lea ecx, [ebp - 0x23c]
mov dword [ebp - 4], esi
call fcn.0048a8be
or dword [ebp - 4], 0xffffffff
pop ecx
push esi
lea esi, [ebp - 0x23c]
call fcn.00404145
push str.HKCUSOFTWARENVIDIA_CorporationNvBackend
lea esi, [ebp - 0x23c]
call fcn.0040338f
push ebx
mov ecx, esi
mov dword [ebp - 4], 2
call fcn.0048a8be
or dword [ebp - 4], 0xffffffff
pop ecx
push 1
call fcn.00404145
push str.HKLMSOFTWARENVIDIA_CorporationGlobalNvTweak
lea esi, [ebp - 0x23c]
call fcn.0040338f
push ebx
mov ecx, esi
mov dword [ebp - 4], 3
call fcn.0048a8be
or dword [ebp - 4], 0xffffffff
pop ecx
push 1
call fcn.00404145
push str.text_plain
lea esi, [ebp - 0x23c]
call fcn.0040338f
lea ebx, [ebp - 0x274]
mov dword [ebp - 4], 4
call fcn.00486a2b
push 2
push eax
push dword [ebp - 0x374]
mov edx, esi
mov ecx, 0x4000
mov byte [ebp - 4], 5
call fcn.00488820
xor ebx, ebx
inc ebx
push ebx
lea esi, [ebp - 0x274]
call fcn.00404145
or dword [ebp - 4], 0xffffffff
push ebx
lea esi, [ebp - 0x23c]
call fcn.00404145
lea ecx, [ebp - 0x300]
call fcn.00486b6d
mov dword [ebp - 4], 6
lea eax, [ebp - 0x300]
call fcn.004954de
test al, al
je 0x48b653
cmp byte [ebp - 0x378], 0
mov edi, 0x100000
je 0x48b61c
mov edi, 0x500000
push str.text_plain
lea esi, [ebp - 0x23c]
call fcn.0040338f
push ebx
lea eax, [ebp - 0x300]
push eax
push dword [ebp - 0x374]
mov edx, esi
mov ecx, edi
mov byte [ebp - 4], 7
call fcn.00488820
push ebx
xor edi, edi
mov byte [ebp - 4], 6
call fcn.00404145
lea ebx, [ebp - 0x370]
call fcn.00486bf5
mov eax, ebx
mov byte [ebp - 4], 8
call fcn.004954de
test al, al
je 0x48b6b9
cmp byte [ebp - 0x378], 0
mov edi, 0x100000
je 0x48b680
mov edi, 0x500000
push str.text_plain
lea esi, [ebp - 0x23c]
call fcn.0040338f
push 1
lea eax, [ebp - 0x370]
push eax
push dword [ebp - 0x374]
mov edx, esi
mov ecx, edi
mov byte [ebp - 4], 9
call fcn.00488820
push 1
xor edi, edi
mov byte [ebp - 4], 8
call fcn.00404145
lea ecx, [ebp - 0x354]
call fcn.00486bb1
lea eax, [ebp - 0x354]
mov byte [ebp - 4], 0xa
call fcn.004954de
test al, al
je 0x48b713
push str.text_plain
lea esi, [ebp - 0x23c]
call fcn.0040338f
push 1
lea eax, [ebp - 0x354]
push eax
push dword [ebp - 0x374]
mov edx, esi
mov ecx, 0xc800
mov byte [ebp - 4], 0xb
call fcn.00488820
push 1
xor edi, edi
mov byte [ebp - 4], 0xa
call fcn.00404145
lea ebx, [ebp - 0x31c]
call fcn.00486e26
mov eax, ebx
mov byte [ebp - 4], 0xc
call fcn.004954de
test al, al
je 0x48b765
push str.text_plain
lea esi, [ebp - 0x23c]
call fcn.0040338f
push 1
mov eax, ebx
push eax
push dword [ebp - 0x374]
mov edx, esi
mov ecx, 0x40000
mov byte [ebp - 4], 0xd
call fcn.00488820
push 1
xor edi, edi
mov byte [ebp - 4], 0xc
call fcn.00404145
lea ecx, [ebp - 0x38c]
call fcn.00486e69
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x388]
sub eax, dword [ebp - 0x38c]
push 0x1c
cdq
pop ecx
idiv ecx
xor ebx, ebx
mov dword [ebp - 0x37c], ebx
test eax, eax
je 0x48b804
mov eax, dword [ebp - 0x38c]
add eax, ebx
call fcn.004954de
test al, al
je 0x48b7e1
push str.text_plain
lea esi, [ebp - 0x23c]
call fcn.0040338f
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x38c]
push 1
add eax, ebx
push eax
push dword [ebp - 0x374]
mov edx, esi
mov ecx, 0x40000
call fcn.00488820
push 1
xor edi, edi
mov byte [ebp - 4], 0xe
call fcn.00404145
mov eax, dword [ebp - 0x388]
sub eax, dword [ebp - 0x38c]
push 0x1c
cdq
pop ecx
idiv ecx
inc dword [ebp - 0x37c]
add ebx, 0x1c
cmp dword [ebp - 0x37c], eax
jb 0x48b792
lea ebx, [ebp - 0x2c8]
call fcn.004870b2
mov eax, ebx
mov byte [ebp - 4], 0x10
call fcn.004954de
test al, al
je 0x48b856
push str.text_plain
lea esi, [ebp - 0x23c]
call fcn.0040338f
push 1
mov eax, ebx
push eax
push dword [ebp - 0x374]
mov edx, esi
mov ecx, 0x40000
mov byte [ebp - 4], 0x11
call fcn.00488820
push 1
xor edi, edi
mov byte [ebp - 4], 0x10
call fcn.00404145
lea ebx, [ebp - 0x258]
call fcn.00486b2a
mov byte [ebp - 4], 0x12
push dword [ebp - 0x378]
mov ecx, eax
push dword [ebp - 0x374]
call fcn.0048b13a
pop ecx
pop ecx
push 1
xor edi, edi
mov esi, ebx
mov byte [ebp - 4], 0x10
call fcn.00404145
push str.C:NvidiaLogging
lea esi, [ebp - 0x23c]
call fcn.0040338f
mov byte [ebp - 4], 0x13
push dword [ebp - 0x378]
mov ecx, esi
push dword [ebp - 0x374]
call fcn.0048b13a
pop ecx
pop ecx
push 1
mov byte [ebp - 4], 0x10
call fcn.00404145
call fcn.004977d7
cmp eax, 5
jl 0x48b991
lea eax, [ebp - 0x220]
push eax
xor esi, esi
push esi
push esi
push 0x24
push esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp eax, esi
jne 0x48b991
lea eax, [ebp - 0x220]
push eax
lea esi, [ebp - 0x23c]
call fcn.0040338f
push str.inf_setupapi.dev.log
mov eax, esi
push eax
mov byte [ebp - 4], 0x14
call fcn.0040d964
mov eax, esi
call fcn.004954de
test al, al
je 0x48b97e
mov edx, esi
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x15
call fcn.0048c594
push str.text_plain
lea esi, [ebp - 0x258]
mov byte [ebp - 4], 0x16
call fcn.0040338f
mov byte [ebp - 4], 0x17
mov eax, esi
push eax
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x268]
lea edx, [ebp - 0x23c]
push eax
push dword [ebp - 0x268]
push dword [ebp - 0x374]
call fcn.00489022
push 1
call fcn.00404145
lea esi, [ebp - 0x268]
call fcn.00426e9d
mov dword [ebp - 4], 0x14
push 1
xor edi, edi
lea esi, [ebp - 0x23c]
mov byte [ebp - 4], 0x10
call fcn.00404145
lea ecx, [ebp - 0x39c]
call fcn.00486c7b
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x398]
sub eax, dword [ebp - 0x39c]
push 0x1c
cdq
pop ecx
idiv ecx
xor ebx, ebx
mov dword [ebp - 0x37c], ebx
test eax, eax
je 0x48ba30
mov eax, dword [ebp - 0x39c]
add eax, ebx
call fcn.004954de
test al, al
je 0x48ba0d
push str.text_plain
lea esi, [ebp - 0x258]
call fcn.0040338f
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x39c]
push 1
add eax, ebx
push eax
push dword [ebp - 0x374]
mov edx, esi
mov ecx, 0x7d000
call fcn.00488820
push 1
xor edi, edi
mov byte [ebp - 4], 0x1b
call fcn.00404145
mov eax, dword [ebp - 0x398]
sub eax, dword [ebp - 0x39c]
push 0x1c
cdq
pop ecx
idiv ecx
inc dword [ebp - 0x37c]
add ebx, 0x1c
cmp dword [ebp - 0x37c], eax
jb 0x48b9be
lea ebx, [ebp - 0x2e4]
call fcn.00486d18
mov eax, ebx
mov byte [ebp - 4], 0x1d
call fcn.004954de
mov ebx, str.text_plain
test al, al
je 0x48ba87
push ebx
lea esi, [ebp - 0x258]
call fcn.0040338f
push 1
lea eax, [ebp - 0x2e4]
push eax
push dword [ebp - 0x374]
mov edx, esi
mov ecx, 0x40000
mov byte [ebp - 4], 0x1e
call fcn.00488820
push 1
xor edi, edi
mov byte [ebp - 4], 0x1d
call fcn.00404145
lea ecx, [ebp - 0x338]
call fcn.00486d9e
lea eax, [ebp - 0x338]
mov byte [ebp - 4], 0x1f
call fcn.004954de
test al, al
je 0x48badd
push ebx
lea esi, [ebp - 0x258]
call fcn.0040338f
push 2
lea eax, [ebp - 0x338]
push eax
push dword [ebp - 0x374]
mov edx, esi
mov ecx, 0x7d000
mov byte [ebp - 4], 0x20
call fcn.00488820
push 1
xor edi, edi
mov byte [ebp - 4], 0x1f
call fcn.00404145
lea ecx, [ebp - 0x2ac]
call fcn.00486de2
lea eax, [ebp - 0x2ac]
mov byte [ebp - 4], 0x21
call fcn.004954de
test al, al
je 0x48bb33
push ebx
lea esi, [ebp - 0x258]
call fcn.0040338f
push 2
lea eax, [ebp - 0x2ac]
push eax
push dword [ebp - 0x374]
mov edx, esi
mov ecx, 0x40000
mov byte [ebp - 4], 0x22
call fcn.00488820
push 1
xor edi, edi
mov byte [ebp - 4], 0x21
call fcn.00404145
lea ecx, [ebp - 0x3ac]
call fcn.00487014
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x3ac]
mov dword [ebp - 0x378], eax
jmp 0x48bc36
mov eax, dword [ebp - 0x378]
call fcn.004954de
test al, al
je 0x48bc29
push ebx
lea esi, [ebp - 0x258]
call fcn.0040338f
push 1
mov byte [ebp - 4], 0x24
push dword [ebp - 0x378]
mov edx, esi
push dword [ebp - 0x374]
mov ecx, 0x20000
call fcn.00488820
push 1
xor edi, edi
mov byte [ebp - 4], 0x23
call fcn.00404145
add dword [ebp - 0x378], 0x1c
mov eax, dword [ebp - 0x378]
cmp eax, dword [ebp - 0x3a8]
jne 0x48bbe3
lea ebx, [ebp - 0x290]
call fcn.00486a96
push str.text_plain
lea esi, [ebp - 0x258]
mov byte [ebp - 4], 0x25
call fcn.0040338f
push 2
mov eax, ebx
push eax
push dword [ebp - 0x374]
mov edx, esi
mov ecx, 0x100000
mov byte [ebp - 4], 0x26
call fcn.00488820
xor ebx, ebx
inc ebx
push ebx
xor edi, edi
mov byte [ebp - 4], 0x25
call fcn.00404145
push str..bak
lea eax, [ebp - 0x290]
push eax
call fcn.0040d964
push str.text_plain
lea esi, [ebp - 0x258]
call fcn.0040338f
push 2
lea eax, [ebp - 0x290]
push eax
push dword [ebp - 0x374]
mov edx, esi
mov ecx, 0x100000
mov byte [ebp - 4], 0x27
call fcn.00488820
push ebx
call fcn.00404145
push ebx
lea esi, [ebp - 0x290]
call fcn.00404145
lea esi, [ebp - 0x3ac]
call fcn.0040f00f
push ebx
lea esi, [ebp - 0x2ac]
call fcn.00404145
push ebx
lea esi, [ebp - 0x338]
call fcn.00404145
push ebx
lea esi, [ebp - 0x2e4]
call fcn.00404145
lea esi, [ebp - 0x39c]
call fcn.0040f00f
push ebx
lea esi, [ebp - 0x2c8]
call fcn.00404145
lea esi, [ebp - 0x38c]
call fcn.0040f00f
push ebx
lea esi, [ebp - 0x31c]
call fcn.00404145
push ebx
lea esi, [ebp - 0x354]
call fcn.00404145
push ebx
lea esi, [ebp - 0x370]
call fcn.00404145
push ebx
lea esi, [ebp - 0x300]
call fcn.00404145
call fcn.00523d29
ret