Function at 0x498a0f
Capabilities:
Check if file exists

Disassembly:
push ebp
sub esp, 0x2c4
lea ebp, [esp - 4]
mov eax, dword [0x551bd0]
xor eax, ebp
mov dword [ebp + 0x2c4], eax
push 0x28
mov eax, 0x50d56a
call fcn.0049dfed
mov edi, dword [ebp + 0x570]
mov esi, ecx
push dword [ebp + 0x56c]
lea eax, [ebp + 0x54c]
push dword [ebp + 0x568]
mov dword [ebp - 4], 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.00403757
lea eax, [ebp + 0x2a8]
push eax
mov ecx, esi
call fcn.004988d3
push 0xffffffffffffffff
xor ebx, ebx
push ebx
lea eax, [ebp + 0x2a8]
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.004019f3
mov eax, dword [ebp + 0x2ac]
push 8
pop edi
cmp dword [ebp + 0x2c0], edi
jae 0x498a9e
lea eax, [ebp + 0x2ac]
push eax
push str.DownloadPath:_s
push 3
call fcn.00409c47
push eax
call fcn.00474128
mov eax, dword [ebp + 0x2ac]
add esp, 0x10
cmp dword [ebp + 0x2c0], edi
jae 0x498ac8
lea eax, [ebp + 0x2ac]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x498b03
xor esi, esi
push ebx
push 1
lea ecx, [ebp + 0x2a8]
call fcn.0040184d
lea ecx, [ebp + 0x2d0]
call fcn.00406269
push ebx
push 1
lea ecx, [ebp + 0x54c]
call fcn.0040184d
mov eax, esi
jmp 0x498dbe
push 0xffffffffffffffff
push ebx
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp + 0x54c]
call fcn.004039ea
mov eax, dword [ebp + 0x550]
cmp dword [ebp + 0x564], edi
jae 0x498b29
lea eax, [ebp + 0x550]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.00401685
mov ecx, esi
call fcn.00498436
cmp al, bl
je 0x498b49
mov esi, 0x800abd24
jmp 0x498ad5
lea ecx, [ebp]
call fcn.004995e4
lea eax, [ebp + 0x2d0]
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 3
call fcn.00414171
mov eax, dword [ebp + 0x550]
mov dword [ebp + 0xc], ebx
cmp dword [ebp + 0x564], edi
jae 0x498b7b
lea eax, [ebp + 0x550]
push eax
lea ecx, [ebp]
call fcn.00499384
mov esi, dword [ebp + 0x550]
mov dword [ebp - 0x18], ebx
cmp dword [ebp + 0x564], edi
jae 0x498b9b
lea esi, [ebp + 0x550]
cmp esi, ebx
je 0x498bae
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x498bb2
xor eax, eax
jmp 0x498bc8
lea edi, [eax + eax]
mov eax, edi
call fcn.004a0570
mov eax, esp
push 3
push edi
push esi
push eax
call fcn.0040c20c
push eax
lea ecx, [ebp + 0x28c]
call fcn.00401644
cmp dword [ebp + 0x2a4], 0x10
mov eax, dword [ebp + 0x290]
mov byte [ebp - 4], 4
jae 0x498bed
lea eax, [ebp + 0x290]
push eax
lea ecx, [ebp - 0x10]
call fcn.00498706
push 0x53a0f0
push 0x51f744
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 5
call fcn.00498534
cmp dword [ebp + 0x2c0], 8
mov eax, dword [ebp + 0x2ac]
jae 0x498c21
lea eax, [ebp + 0x2ac]
lea ecx, [ebp - 0x18]
push ecx
push eax
push dword [ebp - 0x10]
lea ecx, [ebp]
call fcn.0049941e
cmp eax, ebx
je 0x498d65
cmp dword [ebp - 0x18], ebx
je 0x498d65
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push 6
pop ecx
push ebx
xor eax, eax
push ebx
push dword [ebp + 4]
mov dword [ebp - 0x34], ebx
lea edi, [ebp - 0x30]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x14], 0x80004005
call esi
test eax, eax
je 0x498d01
mov edi, dword [sym.imp.USER32.dll_PostQuitMessage]
cmp dword [ebp - 0x30], 0x1404
jne 0x498c83
mov dword [ebp - 0x14], ebx
jmp 0x498cd7
cmp dword [ebp - 0x30], 0x1405
jne 0x498caa
push str.CDownloadManager::DownloadFileInner_GetMessage_WM_DOWNLOADFAILED
push 3
call fcn.00409c47
push eax
call fcn.00474128
add esp, 0xc
mov dword [ebp - 0x14], 0x80004005
jmp 0x498cd7
cmp dword [ebp - 0x30], 0x10
jne 0x498cda
push str.CDownloadManager::DownloadFileInner_GetMessage_WM_CLOSE
push 3
call fcn.00409c47
push eax
call fcn.00474128
add esp, 0xc
push dword [ebp - 0x18]
lea ecx, [ebp]
call fcn.004991f4
mov dword [ebp - 0x14], 0x4c7
push ebx
call edi
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push ebx
push ebx
push dword [ebp + 4]
lea eax, [ebp - 0x34]
push eax
call esi
test eax, eax
jne 0x498c75
lea ecx, [ebp]
call fcn.0049916d
push dword [ebp - 0x18]
lea ecx, [ebp]
call fcn.004991c3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.0040a04b
push ebx
push 1
lea ecx, [ebp + 0x28c]
call fcn.004017de
lea ecx, [ebp]
mov byte [ebp - 4], 2
call fcn.00499416
push ebx
push 1
lea ecx, [ebp + 0x2a8]
call fcn.0040184d
lea ecx, [ebp + 0x2d0]
call fcn.00406269
push ebx
push 1
lea ecx, [ebp + 0x54c]
call fcn.0040184d
mov eax, dword [ebp - 0x14]
jmp 0x498dbe
lea ecx, [ebp]
call fcn.0049916d
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.0040a04b
push ebx
push 1
lea ecx, [ebp + 0x28c]
call fcn.004017de
lea ecx, [ebp]
mov byte [ebp - 4], 2
call fcn.00499416
push ebx
push 1
lea ecx, [ebp + 0x2a8]
call fcn.0040184d
lea ecx, [ebp + 0x2d0]
call fcn.00406269
push ebx
push 1
lea ecx, [ebp + 0x54c]
call fcn.0040184d
mov eax, 0x80004005
lea esp, [ebp - 0x44]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x2c4]
xor ecx, ebp
call fcn.0049a49b
add ebp, 0x2c8
leave
ret 0x2a4