Function at 0x42d55e
Capabilities:
Delete file
Enumerate files on windows
Get common file path
Move file

Disassembly:
push ebp
sub esp, 0xcc8
lea ebp, [esp - 4]
mov eax, dword [0x4b4970]
xor eax, ebp
mov dword [ebp + 0xcc8], eax
push 0x60
mov eax, 0x48a9c3
call fcn.00454dca
lea edi, [ebp - 0x50]
call fcn.0042c8c8
push str._autoupdate.xml
push eax
lea eax, [ebp + 0x288]
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call fcn.00405620
add esp, 0xc
push ebx
push 1
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00401850
cmp dword [ebp + 0x2a0], 8
mov eax, dword [ebp + 0x28c]
jae 0x42d5c7
lea eax, [ebp + 0x28c]
push ebx
push eax
call fcn.004594a1
pop ecx
pop ecx
test eax, eax
jne 0x42d5f4
cmp dword [ebp + 0x2a0], 8
mov eax, dword [ebp + 0x28c]
jae 0x42d5e9
lea eax, [ebp + 0x28c]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push eax
call esi
jmp 0x42d5fa
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea edi, [ebp - 0x34]
call fcn.0042c8c8
push str.update_avalible
push eax
lea eax, [ebp + 0x2a4]
push eax
mov byte [ebp - 4], 3
call fcn.00405620
add esp, 0xc
push ebx
push 1
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.00401850
cmp dword [ebp + 0x2bc], 8
mov eax, dword [ebp + 0x2a8]
jae 0x42d63e
lea eax, [ebp + 0x2a8]
push ebx
push eax
call fcn.004594a1
pop ecx
pop ecx
test eax, eax
jne 0x42d663
cmp dword [ebp + 0x2bc], 8
mov eax, dword [ebp + 0x2a8]
jae 0x42d660
lea eax, [ebp + 0x2a8]
push eax
call esi
lea edi, [ebp - 0x50]
call fcn.0042c8c8
push str.update_info.txt
push eax
lea eax, [ebp + 0x26c]
push eax
mov byte [ebp - 4], 6
call fcn.00405620
add esp, 0xc
push ebx
push 1
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.00401850
cmp dword [ebp + 0x284], 8
mov eax, dword [ebp + 0x270]
jae 0x42d6a7
lea eax, [ebp + 0x270]
push ebx
push eax
call fcn.004594a1
pop ecx
pop ecx
test eax, eax
jne 0x42d6cc
cmp dword [ebp + 0x284], 8
mov eax, dword [ebp + 0x270]
jae 0x42d6c9
lea eax, [ebp + 0x270]
push eax
call esi
lea edi, [ebp - 0x6c]
call fcn.0042c8c8
push str._bdupdate.ini
push eax
lea eax, [ebp + 0x250]
push eax
mov byte [ebp - 4], 9
call fcn.00405620
add esp, 0xc
push ebx
push 1
mov ecx, edi
mov byte [ebp - 4], 0xb
call fcn.00401850
cmp dword [ebp + 0x268], 8
mov eax, dword [ebp + 0x254]
jae 0x42d710
lea eax, [ebp + 0x254]
push ebx
push eax
call fcn.004594a1
pop ecx
pop ecx
test eax, eax
jne 0x42d735
cmp dword [ebp + 0x268], 8
mov eax, dword [ebp + 0x254]
jae 0x42d732
lea eax, [ebp + 0x254]
push eax
call esi
push ebx
call fcn.0043a8bc
push ebx
call fcn.0043a99c
push ebx
call fcn.0043a7dc
mov edi, 0x496778
push edi
push dword [0x4b6bf4]
call fcn.00441abd
mov esi, 0x49676c
push esi
push dword [0x4b6bf4]
call fcn.00441abd
push edi
push dword [0x4b6bf4]
call fcn.00441be6
push esi
push dword [0x4b6bf4]
call fcn.00441be6
add esp, 0x2c
lea eax, [ebp + 0xac0]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jbe 0x42d9a8
lea eax, [ebp + 0x2c0]
push 0x400
push eax
call fcn.0043a66e
pop ecx
pop ecx
push 0x4a1d5c
lea ecx, [ebp - 0x14]
call fcn.0041ed69
lea eax, [ebp + 0x2c0]
push eax
lea eax, [ebp + 0xac0]
push eax
lea eax, [ebp - 0x14]
push str._sBaidu_s_autoupdate_
push eax
mov byte [ebp - 4], 0xc
call fcn.0041b07c
push str..cab
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004223c1
add esp, 0x1c
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xd
call fcn.0044f845
lea eax, [ebp]
push eax
push dword [ebp - 0x18]
mov byte [ebp - 4], 0xe
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x42d8a3
lea ecx, [ebp - 0x30]
call fcn.0042cd8f
push dword [ebp - 0x30]
call fcn.00453f5c
pop ecx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0041a963
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0041a963
mov esi, 0x80004005
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp + 0x250]
call fcn.00401850
push ebx
push edi
lea ecx, [ebp + 0x26c]
call fcn.00401850
push ebx
push edi
lea ecx, [ebp + 0x2a4]
call fcn.00401850
push ebx
push edi
lea ecx, [ebp + 0x288]
call fcn.00401850
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xcc8]
xor ecx, ebp
call fcn.0045466b
add ebp, 0xccc
leave
ret
lea eax, [ebp + 0x2c]
push eax
lea ecx, [ebp - 0x10]
call fcn.0041ed69
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xf
call fcn.0042d4d1
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xe
call fcn.0041a963
mov esi, dword [sym.imp.KERNEL32.dll_FindNextFileW]
jmp 0x42d901
lea eax, [ebp + 0x2c]
push eax
lea ecx, [ebp - 0x10]
call fcn.0041ed69
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x10
call fcn.0042d4d1
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xe
call fcn.0041a963
lea eax, [ebp]
push eax
push edi
call esi
test eax, eax
jne 0x42d8d6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x24]
xor esi, esi
sar eax, 2
test eax, eax
jbe 0x42d981
push esi
lea ecx, [ebp - 0x30]
call fcn.0042bc73
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.0042236a
push ebx
push dword [ebp - 0x10]
call fcn.004594a1
add esp, 0x14
test eax, eax
jne 0x42d968
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x42d968
push 4
push ebx
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.0041a963
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x24]
inc esi
sar eax, 2
cmp esi, eax
jb 0x42d928
lea ecx, [ebp - 0x30]
call fcn.0042cd8f
push dword [ebp - 0x30]
call fcn.00453f5c
pop ecx
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0041a963
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0041a963
xor esi, esi
jmp 0x42d847