Function at 0x401617
Capabilities:
Get common file path

Disassembly:
mov eax, 0x407804
call fcn.004034e0
sub esp, 0x448
push ebx
push edi
lea ecx, [ebp - 0x24]
call fcn.00401e3e
xor ebx, ebx
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], ebx
call fcn.00401e3e
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00401e3e
push ebx
lea eax, [ebp - 0x454]
push 0x1a
push eax
push ebx
mov byte [ebp - 4], 2
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x40166c
lea eax, [ebp - 0x454]
push eax
jmp 0x401671
push str.c:__window
lea ecx, [ebp - 0x24]
call fcn.00402158
push 0x4092d0
lea ecx, [ebp - 0x24]
call fcn.004021ec
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x18]
push eax
call fcn.0040214a
push str.GboxWeb.dll
lea ecx, [ebp - 0x18]
call fcn.004021ec
cmp dword [ebp - 0x14], 1
jl 0x4016ac
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jne 0x4016b1
mov eax, dword [0x4092e4]
push eax
push dword [0x40b7e0]
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [ebp - 0x14], 1
jl 0x4016cb
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jne 0x4016d0
mov eax, dword [0x4092e4]
push esi
push 1
push eax
push str.gboxweb
push 0x4092b8
push dword [0x40b7e4]
call fcn.0040116b
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
add esp, 0x14
test al, al
jne 0x401707
mov esi, str.Install_failed
push ebx
push esi
push str.Create_Dll_err
push ebx
call edi
jmp 0x40170c
mov esi, str.Install_failed
push str.RegDll_ie...
push dword [0x40b7e0]
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [ebp - 0x14], 1
jl 0x40172a
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jne 0x40172f
mov eax, dword [0x4092e4]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0040133c
pop ecx
test eax, eax
pop ecx
jne 0x401757
cmp dword [ebp - 0x2c], 1
jl 0x40174c
mov eax, dword [ebp - 0x30]
cmp eax, ebx
jne 0x401751
mov eax, dword [0x4092e4]
push ebx
push esi
push eax
push ebx
call edi
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x18]
push eax
call fcn.0040214a
push str.GboxRuner.exe
lea ecx, [ebp - 0x18]
call fcn.004021ec
cmp dword [ebp - 0x14], 1
jl 0x40177d
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jne 0x401782
mov eax, dword [0x4092e4]
push eax
push dword [0x40b7e0]
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [ebp - 0x14], 1
jl 0x40179c
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jne 0x4017a1
mov eax, dword [0x4092e4]
push 1
push eax
push str.gboxruner
push 0x4092b8
push dword [0x40b7e4]
call fcn.0040116b
add esp, 0x14
test al, al
jne 0x4017ca
push ebx
push esi
push str.Create_gboxruner_err
push ebx
call edi
push str.RegWebProtocol...
push dword [0x40b7e0]
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [ebp - 0x14], 1
jl 0x4017e8
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jne 0x4017ed
mov eax, dword [0x4092e4]
push eax
push str.gbox
call fcn.004014b3
pop ecx
lea eax, [ebp - 0x454]
pop ecx
push ebx
push 0x1c
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x4018a2
lea eax, [ebp - 0x454]
lea ecx, [ebp - 0x24]
push eax
call fcn.00402158
push str.GoogleChromeApplicationPlugins
lea ecx, [ebp - 0x24]
call fcn.004021ec
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x18]
push eax
call fcn.0040214a
push str._npgboxruner.dll
lea ecx, [ebp - 0x18]
call fcn.004021ec
cmp dword [ebp - 0x14], 1
jl 0x401855
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jne 0x40185a
mov eax, dword [0x4092e4]
push eax
push dword [0x40b7e0]
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [ebp - 0x14], 1
jl 0x401874
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jne 0x401879
mov eax, dword [0x4092e4]
push 1
push eax
push str.npruner
push 0x4092b8
push dword [0x40b7e4]
call fcn.0040116b
add esp, 0x14
test al, al
jne 0x4018a2
push ebx
push esi
push str.Create_Chrome_plugin_err
push ebx
call edi
lea ecx, [ebp - 0x48]
call fcn.00401e3e
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 3
call fcn.00401e3e
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 4
call fcn.00401e3e
lea eax, [ebp - 0x48]
mov esi, 0x80000002
push eax
push str.CurrentVersion
push str.SOFTWAREMozillaMozilla_Firefox
push esi
mov byte [ebp - 4], 5
call fcn.00401439
add esp, 0x10
test al, al
je 0x4019da
push ebx
push ebx
lea eax, [ebp - 0x54]
push 0x20
push eax
lea ecx, [ebp - 0x48]
call fcn.0040243b
push 0x409184
lea ecx, [ebp - 0x3c]
call fcn.00402158
lea eax, [ebp - 0x54]
lea ecx, [ebp - 0x3c]
push eax
call fcn.004021db
push str.extensions
lea ecx, [ebp - 0x3c]
call fcn.004021ec
cmp dword [ebp - 0x38], 1
jl 0x40192d
mov eax, dword [ebp - 0x3c]
cmp eax, ebx
jne 0x401932
mov eax, dword [0x4092e4]
lea ecx, [ebp - 0x48]
push ecx
push str.Plugins
push eax
push esi
call fcn.00401439
add esp, 0x10
test al, al
je 0x4019da
lea eax, [ebp - 0x48]
lea ecx, [ebp - 0x24]
push eax
call fcn.0040214a
push 0x5c
lea ecx, [ebp - 0x24]
call fcn.004025e5
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x18]
push eax
call fcn.0040214a
push str._npgboxruner.dll
lea ecx, [ebp - 0x18]
call fcn.004021ec
cmp dword [ebp - 0x14], 1
jl 0x401989
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jne 0x40198e
mov eax, dword [0x4092e4]
push eax
push dword [0x40b7e0]
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [ebp - 0x14], 1
jl 0x4019a8
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jne 0x4019ad
mov eax, dword [0x4092e4]
push 1
push eax
push str.npruner
push 0x4092b8
push dword [0x40b7e4]
call fcn.0040116b
add esp, 0x14
test al, al
jne 0x4019da
push ebx
push str.Install_failed
push str.Create_firefox_plugin_err
push ebx
call edi
push 0x409150
push dword [0x40b7e0]
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x409128
lea ecx, [ebp - 0x30]
call fcn.00402158
cmp dword [ebp - 0x2c], 1
pop esi
jl 0x401a06
mov eax, dword [ebp - 0x30]
cmp eax, ebx
jne 0x401a0b
mov eax, dword [0x4092e4]
push ebx
push str.Install_ok
push eax
push ebx
call edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 4
call fcn.00401e85
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 3
call fcn.00401e85
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 2
call fcn.00401e85
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00401e85
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], bl
call fcn.00401e85
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.00401e85
mov ecx, dword [ebp - 0xc]
pop edi
pop ebx
mov dword fs:[0], ecx
leave
ret