Function at 0x41b77e
Capabilities:
Check if file exists
Copy file

Disassembly:
push 0xd4
mov eax, 0x4c6756
call fcn.0049f5ab
mov edi, ecx
push str.CFirefoxBrowser::RefreshSearchProviderXml___start
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x70], edi
call fcn.00404bd0
lea eax, [ebp - 0x8c]
xor esi, esi
push eax
mov dword [ebp - 4], esi
call fcn.004017f5
or dword [ebp - 4], 0xffffffff
pop ecx
xor ebx, ebx
push esi
inc ebx
push ebx
lea ecx, [ebp - 0x8c]
call fcn.004058b3
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x84]
test eax, eax
jne 0x41b80c
push str.CFirefoxBrowser::RefreshSearchProviderXml___NOT_host_Browser___Exit
lea ecx, [ebp - 0x8c]
call fcn.00404bd0
lea eax, [ebp - 0x8c]
push eax
mov dword [ebp - 4], ebx
call fcn.004017f5
pop ecx
push esi
push ebx
lea ecx, [ebp - 0x8c]
call fcn.004058b3
push 5
pop eax
call fcn.0049f62e
ret
mov eax, dword [edi]
push ebx
lea ecx, [ebp - 0x68]
push ecx
mov ecx, edi
mov dword [ebp - 0x68], esi
call dword [eax + 0x4c]
cmp dword [ebp - 0x68], esi
jne 0x41b855
push str.CFirefoxBrowser::RefreshSearchProviderXml___ERROR_INVALID_HANDLE
lea ecx, [ebp - 0x8c]
call fcn.00404bd0
lea eax, [ebp - 0x8c]
push eax
mov dword [ebp - 4], 2
call fcn.004017f5
pop ecx
push esi
push ebx
lea ecx, [ebp - 0x8c]
call fcn.004058b3
push 6
jmp 0x41b805
push 0x4d51f0
lea ecx, [ebp - 0xa8]
call fcn.00404bd0
push str.PARTNER_NAME
lea ecx, [ebp - 0xc4]
mov dword [ebp - 4], 3
call fcn.00404bd0
push str.General
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 4
call fcn.00404bd0
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 5
call fcn.004082c8
add esp, 0x10
push esi
push ebx
lea ecx, [ebp - 0x8c]
call fcn.004058b3
push esi
push ebx
lea ecx, [ebp - 0xc4]
call fcn.004058b3
push esi
push ebx
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 9
call fcn.004058b3
push esi
push 0x51085c
push 0x5107c0
push esi
push dword [ebp - 0x68]
call fcn.004bcaba
add esp, 0x14
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x2c]
push str.ProgramFiles
push eax
call fcn.0040479d
pop ecx
pop ecx
mov edi, 0x4d5480
push edi
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xa
call fcn.004052dd
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00405c92
push edi
lea ecx, [ebp - 0x2c]
call fcn.004052dd
mov ebx, str.FireFoxSearchXml.tmp
push ebx
lea ecx, [ebp - 0x2c]
call fcn.004052dd
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x41b94e
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41b9a5
push str.CFirefoxBrowser::RefreshSearchProviderXml___failed_to_find_xml_to_temp
lea ecx, [ebp - 0xa8]
call fcn.00404bd0
lea eax, [ebp - 0xa8]
push eax
mov byte [ebp - 4], 0xb
call fcn.004017f5
pop ecx
push esi
push 1
lea ecx, [ebp - 0xa8]
call fcn.004058b3
push esi
push 1
lea ecx, [ebp - 0x2c]
call fcn.004058b3
push esi
push 1
lea ecx, [ebp - 0x64]
call fcn.004058b3
push 2
jmp 0x41b805
lea eax, [ebp - 0x48]
push str.Temp
push eax
call fcn.0040479d
pop ecx
pop ecx
push edi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xc
call fcn.004052dd
mov edi, dword [ebp - 0x6c]
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x48]
push eax
lea ecx, [edi + 4]
call fcn.00405301
push ebx
lea ecx, [ebp - 0x48]
call fcn.004052dd
cmp dword [ebp - 0x30], 8
mov ecx, dword [ebp - 0x44]
jae 0x41b9e9
lea ecx, [ebp - 0x44]
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x41b9f5
lea eax, [ebp - 0x28]
push esi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
xor ebx, ebx
inc ebx
cmp eax, ebx
jne 0x41baa6
push dword [ebp - 0x70]
mov ecx, edi
call fcn.00411081
test al, al
jne 0x41ba6d
push str.CFirefoxBrowser::RefreshSearchProviderXml___failed_to_replace_common_values
lea ecx, [ebp - 0xa8]
call fcn.00404bd0
lea eax, [ebp - 0xa8]
push eax
mov byte [ebp - 4], 0xd
call fcn.004017f5
pop ecx
push esi
push ebx
lea ecx, [ebp - 0xa8]
call fcn.004058b3
push 2
pop edi
push esi
push ebx
lea ecx, [ebp - 0x48]
call fcn.004058b3
push esi
push ebx
lea ecx, [ebp - 0x2c]
call fcn.004058b3
push esi
push ebx
lea ecx, [ebp - 0x64]
call fcn.004058b3
mov eax, edi
jmp 0x41b806
mov ecx, edi
call fcn.00411489
test al, al
jne 0x41baa6
push str.CFirefoxBrowser::RefreshSearchProviderXml___copy_XML_to_program_files_failed.
lea ecx, [ebp - 0xe0]
call fcn.00404bd0
lea eax, [ebp - 0xe0]
push eax
mov byte [ebp - 4], 0xe
call fcn.004017f5
pop ecx
push esi
push ebx
lea ecx, [ebp - 0xe0]
call fcn.004058b3
xor edi, edi
jmp 0x41ba48