Function at 0x4164fd
Capabilities:
Check if file exists

Disassembly:
push ebp
sub esp, 0x70
lea ebp, [esp - 4]
mov eax, dword [0x50e7dc]
xor eax, ebp
mov dword [ebp + 0x70], eax
push 0x28
mov eax, 0x4c3591
call fcn.0049f542
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp + 0x84]
mov edi, dword [ebp + 0x7c]
mov ebx, dword [ebp + 0x80]
xor esi, esi
push esi
lea ecx, [ebp + 0x1c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], esi
mov dword [ebp + 0x34], 7
call fcn.00405ece
mov dword [ebp - 4], esi
push esi
lea ecx, [ebp]
mov dword [ebp + 0x18], 7
call fcn.00405ece
push str.CFirefoxBrowser::CreateUpdateFileForWatcher__start
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 1
call fcn.00404bd0
lea eax, [ebp + 0x54]
push eax
mov byte [ebp - 4], 2
call fcn.004017f5
pop ecx
push esi
push 1
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 1
call fcn.004058b3
mov ecx, dword [ebp - 0x14]
lea eax, [ebp + 0x1c]
push eax
push dword [ebp - 0x18]
push ebx
call fcn.0041130d
push 0x4d51f0
lea ecx, [ebp + 0x54]
call fcn.00404bd0
mov ecx, dword [ebp - 0x14]
lea eax, [ebp]
push eax
lea eax, [ebp + 0x54]
push eax
push ebx
mov byte [ebp - 4], 3
call fcn.0041130d
push esi
push 1
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 1
call fcn.004058b3
lea eax, [ebp]
push eax
lea ecx, [ebp + 0x38]
call fcn.00404bf2
push str.ff_finish_installation
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 4
call fcn.004052dd
mov eax, dword [ebp + 0x3c]
push 8
pop ebx
cmp dword [ebp + 0x50], ebx
jae 0x4165f2
lea eax, [ebp + 0x3c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41675f
push str.CFirefoxBrowser::CreateUpdateFileForWatcher__opening_update_file_to:
lea ecx, [ebp + 0x54]
call fcn.00404bd0
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x54]
push eax
mov byte [ebp - 4], 5
call fcn.00401985
pop ecx
pop ecx
push esi
push 1
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 4
call fcn.004058b3
mov eax, dword [ebp + 0x3c]
cmp dword [ebp + 0x50], ebx
jae 0x41663b
lea eax, [ebp + 0x3c]
push 0x4d524c
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.004a1ae5
add esp, 0xc
cmp dword [ebp - 0x10], esi
je 0x41675f
push str._GENERAL_
lea ecx, [ebp + 0x54]
call fcn.00404bd0
mov byte [ebp - 4], 6
mov eax, dword [ebp + 0x58]
cmp dword [ebp + 0x6c], ebx
jae 0x416672
lea eax, [ebp + 0x58]
push eax
push 0x4e0ec8
push dword [ebp - 0x10]
call fcn.004a0900
add esp, 0xc
push str.CFirefoxBrowser::CreateUpdateFileForWatcher__write_.ini_title:
lea ecx, [ebp - 0x34]
call fcn.00404bd0
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 7
call fcn.00401985
pop ecx
pop ecx
push esi
push 1
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 6
call fcn.004058b3
cmp dword [edi + 0x18], ebx
jb 0x4166bc
mov eax, dword [edi + 4]
jmp 0x4166bf
lea eax, [edi + 4]
push eax
push str.EXT_NAME
mov ebx, str._s_s_n
push ebx
push dword [ebp - 0x10]
call fcn.004a0900
add esp, 0x10
push str.CFirefoxBrowser::CreateUpdateFileForWatcher__szFFToolbarId:
lea ecx, [ebp - 0x34]
call fcn.00404bd0
lea eax, [ebp - 0x34]
push edi
push eax
mov byte [ebp - 4], 8
call fcn.00401985
pop ecx
pop ecx
push esi
push 1
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 6
call fcn.004058b3
cmp dword [ebp + 0x34], 8
mov eax, dword [ebp + 0x20]
jae 0x41670e
lea eax, [ebp + 0x20]
push eax
push str.EXT_PATH
push ebx
push dword [ebp - 0x10]
call fcn.004a0900
add esp, 0x10
push str.CFirefoxBrowser::CreateUpdateFileForWatcher__szNewToolbarFolder:
lea ecx, [ebp - 0x34]
call fcn.00404bd0
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 9
call fcn.00401985
pop ecx
pop ecx
push esi
push 1
lea ecx, [ebp - 0x34]
call fcn.004058b3
push dword [ebp - 0x10]
call fcn.004a069e
pop ecx
push esi
push 1
lea ecx, [ebp + 0x54]
call fcn.004058b3
push esi
push 1
lea ecx, [ebp + 0x38]
call fcn.004058b3
push esi
push 1
lea ecx, [ebp]
call fcn.004058b3
push esi
push 1
lea ecx, [ebp + 0x1c]
call fcn.004058b3
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x70]
xor ecx, ebp
call fcn.0049f533
add ebp, 0x74
leave
ret 0xc