Function at 0x41a39a
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
push ebp
lea ebp, [esp - 0x2c8]
sub esp, 0x3a4
mov eax, dword [0x46a470]
xor eax, ebp
mov dword [ebp + 0x2c4], eax
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push edi
mov dword [ebp + 0x60], ecx
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp + 0x6c], eax
call edi
push str._PID:
push 4
lea ecx, [ebp - 0x7c]
mov dword [ebp + 0x74], eax
call fcn.00418f08
mov ecx, eax
call fcn.004192d4
push dword [ebp + 0x74]
mov ebx, eax
lea ecx, [ebx + 0x10]
call fcn.00419426
push str.___0x
mov ecx, ebx
call fcn.004192d4
mov ebx, eax
lea ecx, [ebx + 0x10]
push 0x40dd0e
call fcn.0040f096
push dword [ebp + 0x6c]
lea ecx, [ebx + 0x10]
call fcn.00419426
push 0x45e5c8
mov ecx, ebx
call fcn.004192ec
mov ebx, eax
push 0x40dcf7
lea ecx, [ebx + 0x10]
call fcn.0040f096
push 0x45e5c4
push str.CRavDowner::GetDownloadURL
mov ecx, ebx
call fcn.00419364
mov ecx, eax
call fcn.0041931c
push 0xb0c
lea ecx, [eax + 0x10]
mov dword [ebp + 0x74], eax
call fcn.004195e2
mov ecx, dword [ebp + 0x74]
mov ebx, 0x45e5a4
push ebx
call fcn.00419334
lea ecx, [ebp - 0x7c]
call fcn.0041a14a
mov eax, dword [ebp + 0x60]
add eax, 0x84
push str._rsedownloadconfig.xml
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004125e6
add esp, 0xc
lea ecx, [ebp - 0xdc]
call fcn.00405dab
push str.http:__rse.rising.com.cn_config_rsedownloadconfig.xml
lea ecx, [ebp + 0x68]
call fcn.00406052
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x68]
mov dword [ebp + 0x80], eax
call esi
mov dword [ebp + 0x70], eax
call edi
push str._PID:
push 4
lea ecx, [ebp - 0x7c]
mov dword [ebp + 0x74], eax
call fcn.00418f08
mov ecx, eax
call fcn.004192d4
mov dword [ebp + 0x6c], eax
push dword [ebp + 0x74]
lea ecx, [eax + 0x10]
call fcn.00419426
mov ecx, dword [ebp + 0x6c]
push str.___0x
call fcn.004192d4
lea ecx, [eax + 0x10]
push 0x40dd0e
mov dword [ebp + 0x7c], eax
call fcn.0040f096
mov ecx, dword [ebp + 0x7c]
push dword [ebp + 0x70]
add ecx, 0x10
call fcn.00419426
mov ecx, dword [ebp + 0x7c]
push 0x45e5c8
call fcn.004192ec
push 0x40dcf7
lea ecx, [eax + 0x10]
mov dword [ebp + 0x70], eax
call fcn.0040f096
mov ecx, dword [ebp + 0x70]
push 0x45e5c4
push str.CRavDowner::GetDownloadURL
call fcn.00419364
mov ecx, eax
call fcn.0041931c
push 0xb1b
lea ecx, [eax + 0x10]
mov dword [ebp + 0x70], eax
call fcn.004195e2
mov ecx, dword [ebp + 0x70]
lea eax, [ebp + 0x64]
push eax
push str._to
lea eax, [ebp + 0x80]
push eax
push str.download:
push ebx
call fcn.00419334
mov ecx, eax
call fcn.0041937c
mov ecx, eax
call fcn.00419394
mov ecx, eax
call fcn.004193ae
mov ecx, eax
call fcn.00419394
lea ecx, [ebp - 0x7c]
call fcn.0041a14a
push 0
push 0
push dword [ebp + 0x78]
lea ecx, [ebp - 0xdc]
push dword [ebp + 0x68]
call fcn.004068af
test eax, eax
jne 0x41ab0c
push dword [ebp + 0x78]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x41abc1
push dword [ebp + 0x78]
lea ecx, [ebp + 0x18]
call fcn.0042596e
push 0
lea ecx, [ebp + 0x18]
call fcn.00426875
lea ecx, [ebp + 0x18]
test al, al
jne 0x41a5ea
call fcn.0040f8d5
jmp 0x41abc1
push str.rsedownloadpath
call fcn.00424d07
mov ecx, eax
mov dword [ebp + 0x74], ecx
test ecx, ecx
jne 0x41a602
lea ecx, [ebp + 0x18]
jmp 0x41a5e0
push str.defaultaction
call fcn.00424d07
test eax, eax
jne 0x41a6ce
call esi
mov dword [ebp + 0x80], eax
call edi
push str._PID:
push 1
lea ecx, [ebp - 0x7c]
mov esi, eax
call fcn.00418f08
mov ecx, eax
call fcn.004192d4
mov edi, eax
push esi
lea ecx, [edi + 0x10]
call fcn.00419426
push str.___0x
mov ecx, edi
call fcn.004192d4
mov edi, eax
lea esi, [edi + 0x10]
push 0x40dd0e
mov ecx, esi
call fcn.0040f096
push dword [ebp + 0x80]
mov ecx, esi
call fcn.00419426
push 0x45e5c8
mov ecx, edi
call fcn.004192ec
mov esi, eax
push 0x40dcf7
lea ecx, [esi + 0x10]
call fcn.0040f096
push 0x45e5c4
push str.CRavDowner::GetDownloadURL
mov ecx, esi
call fcn.00419364
mov ecx, eax
call fcn.0041931c
mov esi, eax
push 0xb56
lea ecx, [esi + 0x10]
call fcn.004195e2
push str.cant_get_default_Element
push ebx
mov ecx, esi
call fcn.00419334
mov ecx, eax
call fcn.004193f6
lea ecx, [ebp - 0x7c]
call fcn.0041a14a
jmp 0x41a5fd
push str.path
mov ecx, eax
call fcn.0042574c
push eax
lea ecx, [ebp + 0xa0]
call fcn.00402281
cmp dword [ebp + 0xb8], 0x10
mov eax, dword [ebp + 0xa4]
jae 0x41a6fb
lea eax, [ebp + 0xa4]
mov dword [ebp + 0x6c], eax
call esi
mov dword [ebp + 0x70], eax
call edi
push str._PID:
push 4
lea ecx, [ebp - 0x7c]
mov dword [ebp + 0x80], eax
call fcn.00418f08
mov ecx, eax
call fcn.004192d4
push dword [ebp + 0x80]
lea ecx, [eax + 0x10]
mov dword [ebp + 0x64], eax
call fcn.00419426
mov ecx, dword [ebp + 0x64]
push str.___0x
call fcn.004192d4
lea ecx, [eax + 0x10]
push 0x40dd0e
mov dword [ebp + 0x7c], eax
call fcn.0040f096
mov ecx, dword [ebp + 0x7c]
push dword [ebp + 0x70]
add ecx, 0x10
call fcn.00419426
mov ecx, dword [ebp + 0x7c]
push 0x45e5c8
call fcn.004192ec
push 0x40dcf7
lea ecx, [eax + 0x10]
mov dword [ebp + 0x80], eax
call fcn.0040f096
mov ecx, dword [ebp + 0x80]
push 0x45e5c4
push str.CRavDowner::GetDownloadURL
call fcn.00419364
mov ecx, eax
call fcn.0041931c
push 0xb5a
lea ecx, [eax + 0x10]
mov dword [ebp + 0x80], eax
call fcn.004195e2
mov ecx, dword [ebp + 0x80]
lea eax, [ebp + 0x6c]
push eax
push str.Get_default_element:path
push ebx
call fcn.00419334
mov ecx, eax
call fcn.004193f6
mov ecx, eax
call fcn.00419394
lea ecx, [ebp - 0x7c]
call fcn.0041a14a
push 0x103
lea eax, [ebp + 0xbd]
push 0
push eax
mov byte [ebp + 0xbc], 0
call fcn.00429d40
push 0x103
lea eax, [ebp + 0x1c1]
push 0
push eax
mov byte [ebp + 0x1c0], 0
call fcn.00429d40
add esp, 0x18
push 0x104
lea eax, [ebp + 0xbc]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp + 0xbc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
push eax
lea eax, [ebp + 0x1c0]
push eax
call fcn.0040f016
pop ecx
pop ecx
lea eax, [ebp + 0x1c0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionA]
mov ecx, dword [ebp + 0x74]
push str.action
call fcn.00424d07
mov dword [ebp + 0x7c], eax
test eax, eax
je 0x41a9cb
mov ecx, dword [ebp + 0x7c]
push 0x45e604
call fcn.0042574c
push eax
lea ecx, [ebp + 0x84]
call fcn.00402281
cmp dword [ebp + 0x9c], 0x10
mov eax, dword [ebp + 0x88]
jae 0x41a891
lea eax, [ebp + 0x88]
mov dword [ebp + 0x74], eax
call esi
mov dword [ebp + 0x70], eax
call edi
push str._PID:
push 4
lea ecx, [ebp - 0x7c]
mov dword [ebp + 0x80], eax
call fcn.00418f08
mov ecx, eax
call fcn.004192d4
push dword [ebp + 0x80]
lea ecx, [eax + 0x10]
mov dword [ebp + 0x64], eax
call fcn.00419426
mov ecx, dword [ebp + 0x64]
push str.___0x
call fcn.004192d4
lea ecx, [eax + 0x10]
push 0x40dd0e
mov dword [ebp + 0x6c], eax
call fcn.0040f096
mov ecx, dword [ebp + 0x6c]
push dword [ebp + 0x70]
add ecx, 0x10
call fcn.00419426
mov ecx, dword [ebp + 0x6c]
push 0x45e5c8
call fcn.004192ec
push 0x40dcf7
lea ecx, [eax + 0x10]
mov dword [ebp + 0x80], eax
call fcn.0040f096
mov ecx, dword [ebp + 0x80]
push 0x45e5c4
push str.CRavDowner::GetDownloadURL
call fcn.00419364
mov ecx, eax
call fcn.0041931c
push 0xb66
lea ecx, [eax + 0x10]
mov dword [ebp + 0x80], eax
call fcn.004195e2
mov ecx, dword [ebp + 0x80]
lea eax, [ebp + 0x74]
push eax
push str.ACTIONID:
push ebx
call fcn.00419334
mov ecx, eax
call fcn.0041937c
mov ecx, eax
call fcn.00419394
lea ecx, [ebp - 0x7c]
call fcn.0041a14a
lea eax, [ebp + 0x1c0]
push eax
lea ecx, [ebp + 0x84]
call fcn.00410ce1
mov ecx, dword [ebp + 0x7c]
test eax, eax
je 0x41a9a9
call fcn.00424d3a
push 0
push 1
lea ecx, [ebp + 0x84]
mov dword [ebp + 0x7c], eax
call fcn.004017e8
cmp dword [ebp + 0x7c], 0
jne 0x41a863
jmp 0x41a9cb
push str.path
call fcn.0042574c
mov ecx, dword [ebp + 0x60]
push eax
call fcn.00405cbc
push 0
push 1
lea ecx, [ebp + 0x84]
call fcn.004017e8
mov ecx, dword [ebp + 0x60]
mov eax, dword [ecx]
cmp dword [eax - 0xc], 0
jne 0x41a9f4
cmp dword [ebp + 0xb8], 0x10
mov eax, dword [ebp + 0xa4]
jae 0x41a9eb
lea eax, [ebp + 0xa4]
push eax
call fcn.00405cbc
mov ecx, dword [ebp + 0x60]
mov eax, dword [ecx]
mov dword [ebp + 0x64], eax
call esi
mov dword [ebp + 0x80], eax
call edi
push str._PID:
push 4
lea ecx, [ebp - 0x7c]
mov esi, eax
call fcn.00418f08
mov ecx, eax
call fcn.004192d4
mov edi, eax
push esi
lea ecx, [edi + 0x10]
call fcn.00419426
push str.___0x
mov ecx, edi
call fcn.004192d4
mov edi, eax
lea esi, [edi + 0x10]
push 0x40dd0e
mov ecx, esi
call fcn.0040f096
push dword [ebp + 0x80]
mov ecx, esi
call fcn.00419426
push 0x45e5c8
mov ecx, edi
call fcn.004192ec
mov esi, eax
push 0x40dcf7
lea ecx, [esi + 0x10]
call fcn.0040f096
push 0x45e5c4
push str.CRavDowner::GetDownloadURL
mov ecx, esi
call fcn.00419364
mov ecx, eax
call fcn.0041931c
mov esi, eax
push 0xb73
lea ecx, [esi + 0x10]
call fcn.004195e2
lea eax, [ebp + 0x64]
push eax
push str.target_url:
push ebx
mov ecx, esi
call fcn.00419334
mov ecx, eax
call fcn.0041940e
mov ecx, eax
call fcn.00419394
lea ecx, [ebp - 0x7c]
call fcn.0041a14a
mov esi, dword [ebp + 0x78]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x41aacf
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push 1
lea ecx, [ebp + 0xa0]
call fcn.004017e8
lea ecx, [ebp + 0x18]
call fcn.0040f8d5
mov ecx, dword [ebp + 0x68]
add ecx, 0xfffffff0
call fcn.00404f7d
lea ecx, [ebp - 0xdc]
call fcn.00405812
lea ecx, [esi - 0x10]
call fcn.00404f7d
xor eax, eax
inc eax
jmp 0x41abe4
call esi
mov dword [ebp + 0x80], eax
call edi
push str._PID:
push 1
lea ecx, [ebp - 0x7c]
mov esi, eax
call fcn.00418f08
mov ecx, eax
call fcn.004192d4
mov edi, eax
push esi
lea ecx, [edi + 0x10]
call fcn.00419426
push str.___0x
mov ecx, edi
call fcn.004192d4
mov edi, eax
lea esi, [edi + 0x10]
push 0x40dd0e
mov ecx, esi
call fcn.0040f096
push dword [ebp + 0x80]
mov ecx, esi
call fcn.00419426
push 0x45e5c8
mov ecx, edi
call fcn.004192ec
mov esi, eax
push 0x40dcf7
lea ecx, [esi + 0x10]
call fcn.0040f096
push 0x45e5c4
push str.CRavDowner::GetDownloadURL
mov ecx, esi
call fcn.00419364
mov ecx, eax
call fcn.0041931c
mov esi, eax
push 0xb26
lea ecx, [esi + 0x10]
call fcn.004195e2
push str.down_failed.
push ebx
mov ecx, esi
call fcn.00419334
mov ecx, eax
call fcn.004193c6
lea ecx, [ebp - 0x7c]
call fcn.0041a14a
mov ecx, dword [ebp + 0x68]
add ecx, 0xfffffff0
call fcn.00404f7d
lea ecx, [ebp - 0xdc]
call fcn.00405812
mov ecx, dword [ebp + 0x78]
add ecx, 0xfffffff0
call fcn.00404f7d
xor eax, eax
mov ecx, dword [ebp + 0x2c4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00429649
add ebp, 0x2c8
leave
ret