Function at 0x401110
Capabilities:
Get common file path

Disassembly:
sub esp, 0x528
mov ecx, 0x41
xor eax, eax
push esi
push edi
mov edi, str.C:_temp_nsn19.tmpgoogle.ini
push 0x104
push str.C:_temp_nsn19.tmpgoogle.ini
push eax
rep stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dl, byte [eax + str.C:_temp_nsn19.tmpgoogle.ini]
lea ecx, [eax + str.C:_temp_nsn19.tmpgoogle.ini]
cmp dl, 0x5c
je 0x40115b
mov edx, eax
dec eax
test edx, edx
jle 0x40115b
mov byte [ecx], 0
mov dl, byte [ecx - 1]
dec ecx
cmp dl, 0x5c
jne 0x401148
mov edi, dword [esp + 0x53c]
mov esi, str.setup
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40118d
test cl, cl
je 0x401189
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40118d
add eax, 2
add esi, 2
test cl, cl
jne 0x401169
xor eax, eax
jmp 0x401192
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4011c8
call fcn.004017e0
call fcn.00401790
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.C:_temp_nsn19.tmpgoogle.ini
call fcn.00401fb0
add esp, 4
mov eax, 1
pop edi
pop esi
add esp, 0x528
ret 0x10
mov esi, 0x40c210
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4011f3
test cl, cl
je 0x4011ef
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4011f3
add eax, 2
add esi, 2
test cl, cl
jne 0x4011cf
xor eax, eax
jmp 0x4011f8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40123e
mov ecx, 0x82
lea edi, [esp + 0x11c]
rep stosd dword es:[edi], eax
push str.C:_temp_nsn19.tmpgoogle.ini
lea eax, [esp + 0x120]
push str._sQvodPlayer.exe
push eax
call fcn.004032ab
lea ecx, [esp + 0x128]
push ecx
call fcn.004017c0
add esp, 0x10
xor eax, eax
pop edi
pop esi
add esp, 0x528
ret 0x10
mov esi, 0x40c1f8
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401269
test cl, cl
je 0x401265
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401269
add eax, 2
add esi, 2
test cl, cl
jne 0x401245
xor eax, eax
jmp 0x40126e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4012a8
call fcn.004017e0
push 1
call fcn.00401a90
add esp, 4
call fcn.00401c70
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00401f60
call fcn.004022b0
pop edi
xor eax, eax
pop esi
add esp, 0x528
ret 0x10
mov esi, str.resetup
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4012d3
test cl, cl
je 0x4012cf
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4012d3
add eax, 2
add esi, 2
test cl, cl
jne 0x4012af
xor eax, eax
jmp 0x4012d8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40131f
call fcn.004017e0
push 1
call fcn.00401a90
add esp, 4
call fcn.00401c70
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00401f60
push str.C:_temp_nsn19.tmpgoogle.ini
call fcn.00401fb0
add esp, 4
call fcn.004022b0
pop edi
xor eax, eax
pop esi
add esp, 0x528
ret 0x10
mov esi, str.nbrun
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40134a
test cl, cl
je 0x401346
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40134a
add eax, 2
add esi, 2
test cl, cl
jne 0x401326
xor eax, eax
jmp 0x40134f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401365
call fcn.00401cc0
pop edi
xor eax, eax
pop esi
add esp, 0x528
ret 0x10
mov esi, str.setupdate
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401390
test cl, cl
je 0x40138c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401390
add eax, 2
add esi, 2
test cl, cl
jne 0x40136c
xor eax, eax
jmp 0x401395
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4013ab
call fcn.00401830
pop edi
xor eax, eax
pop esi
add esp, 0x528
ret 0x10
mov esi, str.Google
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4013d6
test cl, cl
je 0x4013d2
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4013d6
add eax, 2
add esi, 2
test cl, cl
jne 0x4013b2
xor eax, eax
jmp 0x4013db
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401510
mov ecx, 0x41
lea edi, [esp + 0x18]
rep stosd dword es:[edi], eax
push str.C:_temp_nsn19.tmpgoogle.ini
lea eax, [esp + 0x1c]
push str._sgtapi_signed.dll
push eax
call fcn.004032ab
add esp, 0xc
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
mov esi, 1
test edi, edi
mov dword [esp + 8], 0
je 0x401448
push str.ToolbarCompatibilityCheck
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x401441
lea edx, [esp + 8]
push edx
push 0x80000002
call eax
mov esi, eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x18]
push esi
rep stosd dword es:[edi], eax
lea eax, [esp + 0x1c]
push 0x40c1a0
push eax
call fcn.004032ab
mov edi, str.google.ini
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push str.C:_temp_nsn19.tmpgoogle.ini
mov esi, edi
mov edx, ecx
mov edi, str.C:_temp_nsn19.tmpgoogle.ini
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]
lea ecx, [esp + 0x14]
call fcn.00401000
lea eax, [esp + 0x18]
lea ecx, [esp + 0x10]
push eax
push str.check
push str.GOOGLE
call fcn.004010e0
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x18]
lea edx, [esp + 0x18]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 8]
push ecx
push 0x40c1a0
push edx
call fcn.004032ab
add esp, 0xc
lea eax, [esp + 0x18]
lea ecx, [esp + 0x10]
push eax
push str.checkerr
push str.GOOGLE
call fcn.004010e0
mov dword [esp + 0x10], 0x409160
mov eax, dword [esp + 0x14]
test eax, eax
je 0x401780
jmp 0x401777
mov esi, str.WriteIni
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40153b
test cl, cl
je 0x401537
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40153b
add eax, 2
add esi, 2
test cl, cl
jne 0x401517
xor eax, eax
jmp 0x401540
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401780
mov ecx, 0x82
lea edi, [esp + 0x11c]
rep stosd dword es:[edi], eax
push str.C:_temp_nsn19.tmpgoogle.ini
lea eax, [esp + 0x120]
push str._sqvod1.ini
push eax
call fcn.004032ab
add esp, 0xc
lea ecx, [esp + 0x11c]
push ecx
lea ecx, [esp + 0xc]
call fcn.00401000
lea ecx, [esp + 0x324]
call fcn.00402ed0
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x11c]
lea edx, [esp + 0x11c]
push 0x208
push edx
rep stosd dword es:[edi], eax
push str.Insertpath
push str.Insert
lea ecx, [esp + 0x334]
call fcn.00402f50
test eax, eax
je 0x4015d9
mov al, byte [esp + 0x11c]
test al, al
je 0x4015d9
lea eax, [esp + 0x11c]
push eax
jmp 0x401620
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x11c]
push 0x104
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea edx, [esp + 0x18]
lea eax, [esp + 0x11c]
push edx
push str._sProgram_FilesQvodPlayer
push eax
mov byte [esp + 0x27], 0
call fcn.004032ab
add esp, 0xc
lea ecx, [esp + 0x11c]
push ecx
push str.State
push str.Field_3
lea ecx, [esp + 0x14]
call fcn.004010e0
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x11c]
lea edx, [esp + 0x11c]
push 0x208
push edx
rep stosd dword es:[edi], eax
push str.defaultsavepath
push str.Option
lea ecx, [esp + 0x334]
call fcn.00402f50
test eax, eax
je 0x40167f
mov al, byte [esp + 0x11c]
test al, al
je 0x40167f
lea eax, [esp + 0x11c]
push eax
jmp 0x401684
push str.C:Media_
push str.State
push str.Field_4
lea ecx, [esp + 0x14]
call fcn.004010e0
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x11c]
push 0x208
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x120]
push ecx
push str.background
push str.Option
lea ecx, [esp + 0x334]
call fcn.00402f50
test eax, eax
je 0x4016df
cmp byte [esp + 0x11c], 0x4e
jne 0x4016df
push 0x40c0e4
jmp 0x4016e4
push 0x40c0e0
push str.State
push str.Field_5
lea ecx, [esp + 0x14]
call fcn.004010e0
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x11c]
lea edx, [esp + 0x11c]
push 0x208
push edx
rep stosd dword es:[edi], eax
push str.exitlimit
push str.Option
lea ecx, [esp + 0x334]
call fcn.00402f50
test eax, eax
je 0x401743
mov al, byte [esp + 0x11c]
test al, al
je 0x401743
lea eax, [esp + 0x11c]
push eax
jmp 0x401748
push 0x40c0c8
push str.State
push str.Field_7
lea ecx, [esp + 0x14]
call fcn.004010e0
lea ecx, [esp + 0x324]
call fcn.00402f40
mov eax, dword [esp + 0xc]
mov dword [esp + 8], 0x409160
test eax, eax
je 0x401780
push eax
call fcn.00403292
add esp, 4
pop edi
xor eax, eax
pop esi
add esp, 0x528
ret 0x10