Function at 0x100a5fc3
Capabilities:
Check if file exists
Check mutex on windows
Delete file
Write file on windows

Disassembly:
push ebp
sub esp, 0x400
lea ebp, [esp - 4]
mov eax, dword [0x1019c8c8]
xor eax, ebp
mov dword [ebp + 0x400], eax
push 0x58
mov eax, 0x1014484e
call fcn.101018b2
mov esi, dword [ebp + 0x40c]
xor ebx, ebx
cmp esi, ebx
je 0x100a6272
lea ecx, [ebp - 0x40]
call fcn.100f72f7
push str.Version
push esi
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], ebx
call fcn.100f6db4
push dword [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.10101418
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100de6a3
pop ecx
pop ecx
push str.namedsites.dat
push eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], 2
call fcn.100058db
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 4
call fcn.100015d9
mov ecx, 0x1019e718
call fcn.1003859b
cmp dword [ebp - 0x30], eax
jle 0x100a6069
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x100a607a
push dword [ebp - 0x10]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x100a6256
lea eax, [ebp - 0x14]
push str.namedsites
push eax
call fcn.100dfa91
pop ecx
pop ecx
push str.http:__toolbar.baidu.com_update_
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.1000587e
push str.namedsites1.dat
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 6
call fcn.1001c185
push 1
push 0x4e20
push ecx
lea eax, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.1000584b
push ecx
lea eax, [ebp - 0x18]
mov ecx, esp
mov dword [ebp - 0x20], esp
push eax
mov byte [ebp - 4], 7
call fcn.1000584b
mov byte [ebp - 4], 6
call fcn.100dbabe
add esp, 0x10
cmp eax, ebx
je 0x100a6246
lea eax, [ebp - 0x64]
push eax
push dword [ebp - 0x14]
call fcn.10103ee5
test eax, eax
pop ecx
pop ecx
jne 0x100a623d
mov edi, dword [ebp - 0x14]
cmp edi, ebx
je 0x100a6115
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x100a6119
xor eax, eax
jmp 0x100a612e
lea esi, [eax + eax]
mov eax, esi
call fcn.10102de0
mov eax, esp
push ebx
push esi
push edi
push eax
call fcn.1000c619
push 0x10160fb8
push eax
call fcn.100f8566
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp - 0x1c], eax
je 0x100a623d
push str.B0FE8C19_4C14_4b12_9005_1E871700C232
push ebx
mov ecx, 0x1019ee80
call fcn.1001018e
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
cmp eax, ebx
mov dword [ebp - 0x20], eax
je 0x100a6234
push 0x2710
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x100a622b
push 0x10160f5c
push dword [ebp - 0x10]
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x28], ebx
call fcn.101035c0
add esp, 0xc
test eax, eax
jne 0x100a6222
push 0x3ff
lea eax, [ebp + 1]
push ebx
push eax
mov byte [ebp], bl
call fcn.101027c0
mov esi, 0x400
push esi
lea eax, [ebp]
push eax
push dword [ebp - 0x1c]
mov dword [ebp - 0x24], ebx
call fcn.100f8a60
add esp, 0x18
jmp 0x100a61f3
add dword [ebp - 0x24], edi
lea eax, [ebp]
push edi
push eax
call fcn.100565d4
push dword [ebp - 0x28]
lea eax, [ebp]
push edi
push 1
push eax
call fcn.10103ca7
push esi
lea eax, [ebp]
push eax
push dword [ebp - 0x1c]
call fcn.100f8a60
add esp, 0x24
mov edi, eax
cmp edi, ebx
jg 0x100a61c7
push dword [ebp - 0x28]
call fcn.10103005
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x50]
pop ecx
jle 0x100a6219
push dword [ebp - 0x30]
mov ecx, 0x1019e718
call fcn.100385ea
jmp 0x100a6222
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x1c]
call fcn.100f9186
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x18]
call fcn.100015d9
lea ecx, [ebp - 0x14]
call fcn.100015d9
lea ecx, [ebp - 0x10]
call fcn.100015d9
lea ecx, [ebp - 0x2c]
call fcn.100015d9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.100f68a7
lea esp, [ebp - 0x74]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x400]
xor ecx, ebp
call fcn.101018a3
add ebp, 0x404
leave
ret