Function at 0x493717
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push ecx
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.004965f5
xor edi, edi
test al, al
je 0x493744
push edi
push edi
push edi
push 7
push dword [esi + 0xa0]
mov ecx, esi
push 0xffffffffffffffff
call fcn.00496acd
push 6
mov ecx, esi
call fcn.004936a4
mov ebp, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, edi
cmp dword [0x59d50c], 0
je 0x493777
push ebx
call ebp
push eax
push str._INFO___d___start_download__retry__d_
push 3
push dword [0x59d50c]
call fcn.00485f11
add esp, 0x14
push edi
push edi
push ebx
push 9
push dword [esi + 0xa0]
mov ecx, esi
push 0xffffffffffffffff
call fcn.00496acd
mov ecx, esi
call fcn.00494d53
cmp dword [0x59d50c], 0
mov edi, eax
mov dword [esp + 0x10], edi
je 0x4937bb
push edi
push ebx
call ebp
push eax
push str._INFO___d___start_download__retry__d__result__d_
push 3
push dword [0x59d50c]
call fcn.00485f11
add esp, 0x18
test edi, edi
je 0x4937f2
mov ecx, esi
cmp edi, 1
je 0x493955
lea eax, [esp + 0x10]
push eax
call fcn.004958b1
mov edi, dword [esp + 0x10]
cmp edi, 0xd
je 0x4939a9
cmp edi, 0xa
je 0x4939a9
test edi, edi
jne 0x493888
cmp dword [0x59d50c], 0
je 0x493813
call ebp
push eax
push str._INFO___d___wait_for_download_finished.
push 3
push dword [0x59d50c]
call fcn.00485f11
add esp, 0x10
mov ecx, esi
call fcn.00496649
mov dword [esp + 0x10], eax
test eax, eax
jne 0x49386f
xor ecx, ecx
cmp dword [esi + 0x50], ecx
jle 0x493845
mov eax, dword [esi + 0x58]
add eax, 0xfb
cmp byte [eax], 0
je 0x493927
inc ecx
add eax, 0x100
cmp ecx, dword [esi + 0x50]
jl 0x493831
cmp dword [0x59d50c], 0
je 0x493866
call ebp
push eax
push str._INFO___d___download_finished.
push 3
push dword [0x59d50c]
call fcn.00485f11
add esp, 0x10
push 1
mov ecx, esi
call fcn.00496622
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.004958b1
mov edi, dword [esp + 0x10]
cmp edi, 0xd
je 0x4939a9
cmp edi, 0xc
je 0x493892
cmp edi, 0xb
jne 0x4938c4
push dword [esi + 0x44]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [esi + 0x44]
cmp dword [eax - 0xc], 0
je 0x4938c4
lea eax, [esp + 0x14]
mov ecx, esi
push eax
call fcn.004952d3
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [esp + 0x14]
lea ecx, [ecx - 0x10]
call fcn.00450ce2
mov ecx, esi
call fcn.004943e0
cmp ebx, 9
je 0x493986
test edi, edi
je 0x493986
push 0x64
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x493960
mov ecx, esi
call fcn.004965f5
test al, al
je 0x49390b
push edi
push ebx
push 0
push 0xa
push dword [esi + 0xa0]
mov ecx, esi
push 0xffffffffffffffff
call fcn.00496acd
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 0xa
jge 0x4939a9
xor edi, edi
jmp 0x493755
cmp dword [0x59d50c], 0
je 0x493948
call ebp
push eax
push str._ERROR___d___download_failed_
push 1
push dword [0x59d50c]
call fcn.00485f11
add esp, 0x10
mov dword [esp + 0x10], 0xe
jmp 0x49386f
push 1
call fcn.00496622
xor edi, edi
jmp 0x4939a9
cmp dword [0x59d50c], 0
je 0x493981
call ebp
push eax
push str._WARN___d___download_delay_retry__cancel.
push 2
push dword [0x59d50c]
call fcn.00485f11
add esp, 0x10
push 0xd
pop edi
jmp 0x4939a9
cmp dword [0x59d50c], 0
je 0x4939a9
push edi
push ebx
call ebp
push eax
push str._INFO___d___download_finished__retry__d___result__d_.
push 3
push dword [0x59d50c]
call fcn.00485f11
add esp, 0x18
mov ecx, esi
call fcn.004965f5
test al, al
je 0x4939df
push edi
push ebx
push 0
push 0xa
push dword [esi + 0xa0]
mov ecx, esi
push 0xffffffffffffffff
call fcn.00496acd
push 0
push 0
push edi
push 2
push dword [esi + 0xa0]
mov ecx, esi
push 0xffffffffffffffff
call fcn.00496acd
xor eax, eax
test edi, edi
pop edi
sete al
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret