Function at 0x406d1b
Capabilities:
Check if file exists

Disassembly:
push 0x18c
mov eax, 0x58aeef
call fcn.004321e7
mov ebx, ecx
call fcn.004076fe
mov edi, eax
test edi, edi
je 0x407152
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push str.SOFT_HOST
push eax
call fcn.004157d2
pop ecx
pop ecx
push esi
call fcn.00409c7e
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x14]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push str.SOFT_REPORTHOST
push eax
call fcn.004157d2
pop ecx
pop ecx
push esi
call fcn.00409c7e
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x18]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push str.SOFT_TIMER_HOST
push eax
call fcn.004157d2
pop ecx
pop ecx
push esi
call fcn.00409c7e
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x1c]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push str.APP_SID
push eax
call fcn.00415877
pop ecx
pop ecx
push esi
call fcn.00409c7e
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 8]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push str.RESPONES_UP_CBC_KEY
push eax
call fcn.004157d2
pop ecx
pop ecx
push esi
call fcn.00409c7e
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x20]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push str.RESPONES_UP_CBC_CHAIN
push eax
call fcn.004157d2
pop ecx
pop ecx
push esi
call fcn.00409c7e
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x24]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push str.RESPONES_DW_CBC_KEY
push eax
call fcn.004157d2
pop ecx
pop ecx
push esi
call fcn.00409c7e
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x28]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push str.RESPONES_DW_CBC_CHAIN
push eax
call fcn.004157d2
pop ecx
pop ecx
push esi
call fcn.00409c7e
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x2c]
sub esp, 0x18
mov esi, esp
call fcn.00402a67
mov ecx, eax
call fcn.00414819
push eax
push esi
call fcn.00409705
mov eax, dword [edi]
pop ecx
pop ecx
mov ecx, edi
call dword [eax + 4]
sub esp, 0x18
push esp
call fcn.00418572
mov eax, dword [edi]
pop ecx
mov ecx, edi
call dword [eax + 0x10]
sub esp, 0x18
mov esi, esp
call fcn.004165c4
push eax
push esi
call fcn.00409705
mov eax, dword [edi]
pop ecx
pop ecx
mov ecx, edi
call dword [eax + 0x30]
sub esp, 0x18
mov esi, esp
call fcn.00402a67
mov ecx, eax
call fcn.00414913
push eax
push esi
call fcn.00409705
mov eax, dword [edi]
pop ecx
pop ecx
mov ecx, edi
call dword [eax + 0x40]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
push esp
call fcn.0040638e
mov ecx, eax
call fcn.004080bf
push esi
call fcn.00409c7e
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x38]
lea eax, [ebp - 0x18c]
push str.APPDATA_HTTP_CACHE_FOLDER
push eax
call fcn.00415877
pop ecx
pop ecx
mov esi, eax
and dword [ebp - 4], 0
lea eax, [ebp - 0x144]
push eax
call fcn.00406c20
mov ecx, eax
call fcn.004172f5
mov byte [ebp - 4], 1
cmp dword [esi + 0x14], 8
jb 0x406f6a
mov esi, dword [esi]
cmp dword [eax + 0x14], 8
jb 0x406f72
mov eax, dword [eax]
push esi
push eax
lea eax, [ebp - 0x12c]
push str._s_s_
push eax
call fcn.0040953f
add esp, 0x10
lea ecx, [ebp - 0x144]
call fcn.00406253
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 4
call fcn.00406253
cmp dword [ebp - 0x118], 8
lea eax, [ebp - 0x12c]
cmovae eax, dword [ebp - 0x12c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x406fdc
cmp dword [ebp - 0x118], 8
lea eax, [ebp - 0x12c]
cmovae eax, dword [ebp - 0x12c]
push eax
call fcn.00418b74
pop ecx
sub esp, 0x18
lea eax, [ebp - 0x12c]
mov esi, esp
push 0x3a8
sub esp, 0x18
mov ecx, esp
push eax
and dword [ecx + 0x10], 0
and dword [ecx + 0x14], 0
call fcn.00405f07
push esi
call fcn.00409c7e
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x3c]
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0x44]
sub esp, 0x18
push esp
call fcn.00402a67
mov ecx, eax
call fcn.00414538
call fcn.004097f5
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x198]
push eax
mov dword [ebp - 0x194], edx
call fcn.0044d738
push dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
inc ecx
push ecx
add eax, 0x76c
push eax
lea eax, [ebp - 0x174]
push str._d_.2d_.2d
push eax
call fcn.0040946c
add esp, 0x18
mov byte [ebp - 4], 5
mov ecx, esp
lea eax, [ebp - 0x174]
xor ebx, ebx
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00404c21
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x34]
mov esi, 0x104
lea eax, [ebp - 0x114]
push esi
push ebx
push eax
call fcn.0044b1c0
add esp, 0xc
lea eax, [ebp - 0x114]
push esi
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0xf
pop eax
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x148], eax
mov byte [ebp - 0x15c], bl
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x130], eax
lea eax, [ebp - 0x114]
push eax
mov dword [ebp - 0x134], ebx
mov byte [ebp - 0x144], bl
call fcn.00406124
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.00418ded
pop ecx
pop ecx
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 6
call fcn.004061ca
sub esp, 0x18
lea eax, [ebp - 0x15c]
mov ecx, esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00404c21
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lea ecx, [ebp - 0x15c]
call fcn.004061ca
lea ecx, [ebp - 0x174]
call fcn.004061ca
lea ecx, [ebp - 0x12c]
call fcn.00406253
call fcn.00432191
ret