Function at 0x4896df
Capabilities:
Check if file exists

Disassembly:
push 0x70
mov eax, 0x5ecf6f
call fcn.0059bbd7
mov esi, ecx
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x7c], esi
mov edx, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x78], esi
mov eax, dword [sym.imp.USER32.dll_DefWindowProcW]
mov dword [esi + 8], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], eax
mov dword [ebp - 4], ebx
xor ecx, ecx
mov dword [esi + 0x28], ebx
mov dword [esi], vtable.BaseWallPaperFrame.0
mov dword [esi + 4], vtable.BaseWallPaperFrame.1.0
mov dword [esi + 0x3c], ebx
push 7
pop ebx
mov dword [esi + 0x40], ebx
mov word [esi + 0x2c], cx
mov byte [esi + 0x44], cl
and dword [esi + 0x58], ecx
mov dword [esi + 0x5c], ebx
mov word [esi + 0x48], cx
and dword [esi + 0x70], ecx
mov dword [esi + 0x74], ebx
mov word [esi + 0x60], cx
lea edi, [esi + 0x78]
xor eax, eax
and dword [edi + 0x10], ecx
mov dword [edi + 0x14], ebx
mov word [edi], ax
lea ebx, [esi + 0x90]
and dword [ebx + 0x10], eax
push 7
pop ecx
mov dword [ebx + 0x14], ecx
mov word [ebx], ax
lea eax, [esi + 0xa8]
and dword [eax + 0x10], 0
mov dword [eax + 0x14], ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [esi + 0xc0]
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov eax, dword [ebp + 0xc]
lea ecx, [esi + 0xd0]
mov byte [ebp - 4], 7
mov dword [esi + 0xcc], eax
and dword [ecx + 0x10], 0
and dword [ecx + 0x14], 0
push edx
call fcn.0040b155
xor eax, eax
mov dword [esi + 0xf0], 0xc8
push 0xf
mov byte [esi + 0xfc], al
pop ecx
mov dword [esi + 0x110], eax
mov dword [esi + 0x114], ecx
mov byte [esi + 0x100], al
mov dword [esi + 0x128], eax
mov dword [esi + 0x12c], ecx
mov byte [esi + 0x118], al
add esi, 0x130
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x7c], esi
mov dword [esi], eax
mov dword [esi + 4], eax
push eax
push eax
call fcn.0048fbf8
mov dword [esi], eax
mov esi, dword [ebp - 0x74]
lea eax, [esi + 0x13c]
mov dword [esi + 0x138], vtable.CLock.0
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
movsd xmm0, qword [0x67a9b8]
xor ecx, ecx
movsd qword [esi + 0x160], xmm0
xor eax, eax
mov dword [esi + 0x168], ecx
mov dword [esi + 0x184], ecx
mov dword [esi + 0x188], 7
mov word [esi + 0x174], ax
mov byte [ebp - 4], 0xd
mov dword [esi + 0xec], ecx
mov dword [esi + 0xe8], ecx
mov dword [esi + 0xf8], ecx
mov dword [esi + 0xf4], ecx
mov dword [esi + 0x16c], ecx
mov dword [esi + 0x170], ecx
lea ecx, [ebp - 0x40]
call fcn.004d6c63
push 0x63c668
mov byte [ebp - 4], 0xe
call fcn.005c2f90
pop ecx
push eax
push 0x63c668
lea ecx, [ebp - 0x40]
call fcn.0040b220
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4898bf
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
lea eax, [ebp - 0x40]
push eax
lea ecx, [esi + 0x2c]
call fcn.0041322b
lea ecx, [ebp - 0x58]
call fcn.00425665
mov esi, dword [ebp - 0x74]
add esi, 0x48
push eax
mov ecx, esi
call fcn.0040b0ac
lea ecx, [ebp - 0x58]
call fcn.0040b67e
push str.360browser_bkinfo_
call fcn.005c2f90
pop ecx
push eax
push str.360browser_bkinfo_
mov ecx, esi
call fcn.0040b220
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x48990b
mov eax, dword [esi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x489929
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x489920
mov eax, dword [esi]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
lea ecx, [ebp - 0x70]
call fcn.00425665
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x70]
mov esi, dword [ebp - 0x74]
add esi, 0x60
push eax
mov ecx, esi
call fcn.0041322b
lea eax, [ebp - 0x70]
mov ecx, edi
push eax
call fcn.0041322b
lea eax, [ebp - 0x70]
mov ecx, ebx
push eax
call fcn.0041322b
push str.360browser_bkinfo_
call fcn.005c2f90
pop ecx
push eax
push str.360browser_bkinfo_
mov ecx, esi
call fcn.0040b220
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x48997e
mov eax, dword [esi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x48999a
cmp dword [esi + 0x14], 8
jb 0x489991
mov esi, dword [esi]
push esi
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
mov esi, str.360browser_bkinfolocaldy_
push esi
call fcn.005c2f90
pop ecx
push eax
push esi
mov ecx, edi
call fcn.0040b220
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x4899b9
mov eax, dword [edi]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push eax
call esi
test eax, eax
jne 0x4899d7
cmp dword [edi + 0x14], 8
jb 0x4899ce
mov edi, dword [edi]
push edi
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
mov edi, str.360browser_bkinfolocalst_
push edi
call fcn.005c2f90
pop ecx
push eax
push edi
mov ecx, ebx
call fcn.0040b220
cmp dword [ebx + 0x14], 8
mov eax, ebx
jb 0x4899f6
mov eax, dword [ebx]
push eax
call esi
test eax, eax
jne 0x489a0e
cmp dword [ebx + 0x14], 8
jb 0x489a05
mov ebx, dword [ebx]
push ebx
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
mov esi, dword [ebp - 0x74]
lea ecx, [ebp - 0x58]
push str.customcontent
lea edx, [esi + 0x48]
call fcn.00411559
pop ecx
lea ebx, [esi + 0xa8]
push eax
mov ecx, ebx
call fcn.0040b0ac
lea ecx, [ebp - 0x58]
call fcn.0040b67e
cmp dword [ebx + 0x14], 8
mov eax, ebx
jb 0x489a42
mov eax, dword [ebx]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x489a61
cmp dword [ebx + 0x14], 8
jb 0x489a55
mov ebx, dword [ebx]
push ebx
xor ebx, ebx
push ebx
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
jmp 0x489a63
xor ebx, ebx
push str.2E125AC0_3EBA_457A_8F99_434BD49BC02D
lea ecx, [ebp - 0x28]
mov dword [esi + 0x154], ebx
mov dword [esi + 0x158], ebx
call fcn.0040b0d5
mov eax, dword [ebp + 0xc]
dec eax
mov byte [ebp - 4], 0x10
cmp eax, 0x14
ja case.0x489a8d.2
jmp dword [eax*4 + 0x489be7]
mov edi, str.9CDCC658_826F_4EEF_8941_2957F062C28C
jmp 0x489b6b
mov edi, str.B7C84632_4F7B_42B1_903E_BEAD88836E83
push edi
call fcn.005c2f90
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.0040b566
push ecx
lea eax, [esi + 0xc0]
push eax
call fcn.00424618
mov ecx, eax
call fcn.004244c2
jmp case.0x489a8d.2
mov edi, str.6F56184F_D281_405E_8667_716BF956A064
jmp 0x489b6b
mov edi, str.215ABD3D_AA0B_4C35_B088_B1A447B555D4
jmp 0x489aa3
mov edi, str.B6701BB2_8388_4426_A349_4B17CE443153
jmp 0x489b6b
mov edi, str.c10faefa_c68f_70f4_c12a_b80b5437bc81
push edi
call fcn.005c2f90
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.0040b566
push ecx
lea eax, [esi + 0xc0]
push eax
call fcn.00424618
mov ecx, eax
call fcn.004244c2
mov ecx, esi
call fcn.0048dcc3
jmp case.0x489a8d.2
mov edi, str.285d04ff_b01f_472b_8c77_2144d8e848b4
jmp 0x489b6b
mov edi, str.3490a711_04f3_42d1_a32a_20e27d1fa2db
jmp 0x489b6b
mov edi, str.BA8EE011_047C_4624_AE5B_877120019AEC
jmp 0x489aa3
mov edi, str.5FA43836_EA13_4D44_B793_1AFA1563476E
jmp 0x489aa3
mov edi, str.0889D313_3CE1_4DD8_80FE_6158CD2D2080
jmp 0x489b6b
mov edi, str.A7389CF8_4DD8_4A69_A13B_FAAEA4875CCB
jmp 0x489aa3
mov edi, 0x64b870
jmp 0x489aa3
mov edi, str.9ACADD07_58E8_4359_AC5C_AFFA9FECF107
jmp 0x489b6b
mov edi, str.FD4FB614_2F57_43D7_BFFE_8DFCB6D7B789
jmp 0x489b6b
mov edi, str.D3C59072_D25B_4440_8CFF_9633CF534CB0
push edi
call fcn.005c2f90
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.0040b566
movaps xmm0, xmmword [0x67aa80]
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov dword [eax], ebx
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
movups xmmword [ebp - 0x50], xmm0
cmovae eax, dword [ebp - 0x28]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x50]
push ecx
mov dword [eax], ecx
lea ecx, [esi + 4]
call fcn.0048fb30
call fcn.00436e25
push ebx
push 0x5dc
push 0x6a
push dword [esi + 8]
call dword [sym.imp.USER32.dll_SetTimer]
lea ecx, [ebp - 0x28]
call fcn.0040b67e
lea ecx, [ebp - 0x70]
call fcn.0040b67e
lea ecx, [ebp - 0x40]
call fcn.0040b67e
mov eax, esi
call fcn.0059bb81
ret 8