Function at 0x4ba491
Capabilities:
Check if file exists
Get file size
Read file on windows

Disassembly:
push 0x190
mov eax, 0x5f2560
call fcn.0059bbd7
mov ebx, ecx
mov dword [ebp - 0x180], ebx
call fcn.004c9ac9
test al, al
je 0x4ba4cd
push 0x124
push str.P2pDownloadMgr::LoadLocalConfig
push str.__s__d___sesvc_support_LoadLocalConfig_return
call fcn.0040a649
add esp, 0xc
jmp 0x4ba978
xor eax, eax
mov dword [ebp - 0x8c], 0xf
mov dword [ebp - 0x90], eax
mov byte [ebp - 0xa0], al
lea esi, [ebx + 0xc]
mov dword [ebp - 4], eax
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x4ba4f5
mov eax, dword [esi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4ba599
cmp dword [esi + 0x14], 8
jb 0x4ba50c
mov esi, dword [esi]
xor edi, edi
mov eax, accept
push edi
push eax
push 3
push edi
push 1
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [ebp - 0x17c], edi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x188], eax
cmp eax, 0xffffffff
jne 0x4ba549
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4ba96d
lea esi, [eax + 1]
push esi
call fcn.0059af42
push esi
mov edi, eax
push 0
push edi
call fcn.005b24a0
mov esi, dword [ebp - 0x188]
lea eax, [ebp - 0x17c]
add esp, 0x10
push 0
push eax
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push esi
push edi
lea ecx, [ebp - 0xa0]
call fcn.0040464f
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call fcn.0059aa0f
mov ebx, dword [ebp - 0x180]
pop ecx
cmp dword [ebp - 0x90], 0
je 0x4ba96d
lea ecx, [ebp - 0x178]
call fcn.00401c84
push 0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 1
call fcn.00404ba6
push 1
lea eax, [ebp - 0x19c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x178]
call fcn.00401d1d
test al, al
je 0x4ba957
lea ecx, [ebp - 0x19c]
call fcn.004056c6
test al, al
je 0x4ba957
call fcn.00405236
test eax, eax
je 0x4ba957
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x19c]
call fcn.004057b0
jmp 0x4ba8f5
xor eax, eax
push 0xf
pop ecx
mov edi, eax
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
mov byte [ebp - 0x58], al
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
mov byte [ebp - 0x88], al
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 0x40], al
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
mov byte [ebp - 0x28], al
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 6
call fcn.004049ac
mov esi, eax
mov ecx, esi
call fcn.004056d7
test al, al
je 0x4ba8c3
push 0x63dc28
call fcn.00405597
test al, al
je 0x4ba6ae
push 0x63dc28
mov ecx, esi
call fcn.00405401
mov ecx, eax
call fcn.00405683
test al, al
je 0x4ba6ae
push 0x63dc28
mov ecx, esi
call fcn.00405401
mov ecx, eax
call fcn.00405002
mov edi, eax
push str.is_http
mov ecx, esi
call fcn.00405597
test al, al
je 0x4ba6ee
push str.is_http
mov ecx, esi
call fcn.00405401
mov ecx, eax
call fcn.00405683
test al, al
je 0x4ba6ee
push str.is_http
mov ecx, esi
call fcn.00405401
mov ecx, eax
call fcn.00405002
mov dword [ebp - 0x17c], eax
push str.http_url
mov ecx, esi
call fcn.00405597
test al, al
je 0x4ba740
push str.http_url
mov ecx, esi
call fcn.00405401
mov ecx, eax
call fcn.004056be
test al, al
je 0x4ba740
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
push str.http_url
call fcn.00405401
mov ecx, eax
call fcn.00404f93
push eax
lea ecx, [ebp - 0x88]
call fcn.00409145
lea ecx, [ebp - 0x70]
call fcn.00404812
push 0x646b80
mov ecx, esi
call fcn.00405597
test al, al
je 0x4ba78f
push 0x646b80
mov ecx, esi
call fcn.00405401
mov ecx, eax
call fcn.004056be
test al, al
je 0x4ba78f
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
push 0x646b80
call fcn.00405401
mov ecx, eax
call fcn.00404f93
push eax
lea ecx, [ebp - 0x58]
call fcn.00409145
lea ecx, [ebp - 0x70]
call fcn.00404812
push str.report_ids
mov ecx, esi
call fcn.00405597
test al, al
je 0x4ba7de
push str.report_ids
mov ecx, esi
call fcn.00405401
mov ecx, eax
call fcn.004056be
test al, al
je 0x4ba7de
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
push str.report_ids
call fcn.00405401
mov ecx, eax
call fcn.00404f93
push eax
lea ecx, [ebp - 0x40]
call fcn.00409145
lea ecx, [ebp - 0x70]
call fcn.00404812
push str.download_url
mov ecx, esi
call fcn.00405597
test al, al
je 0x4ba82d
push str.download_url
mov ecx, esi
call fcn.00405401
mov ecx, eax
call fcn.004056be
test al, al
je 0x4ba82d
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
push str.download_url
call fcn.00405401
mov ecx, eax
call fcn.00404f93
push eax
lea ecx, [ebp - 0x28]
call fcn.00409145
lea ecx, [ebp - 0x70]
call fcn.00404812
mov edx, edi
lea ecx, [ebp - 0x58]
call fcn.004d3bd0
test eax, eax
jne 0x4ba91d
cmp dword [ebp - 0x30], eax
je 0x4ba8c3
cmp dword [ebp - 0x18], eax
je 0x4ba8c3
lea ecx, [ebp - 0x108]
call fcn.004b9dc7
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xd0]
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x88]
push eax
mov dword [ebp - 0x108], edi
call fcn.00404698
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00404698
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x100]
call fcn.00404698
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xe8]
call fcn.00404698
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebx + 4]
call fcn.004bad20
lea ecx, [ebp - 0x108]
call fcn.0048b79d
lea ecx, [ebp - 0x28]
call fcn.00404812
lea ecx, [ebp - 0x40]
call fcn.00404812
lea ecx, [ebp - 0x88]
call fcn.00404812
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 2
call fcn.00404812
lea ecx, [ebp - 0x184]
call fcn.004049b2
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x19c]
call fcn.004057e8
push eax
lea ecx, [ebp - 0x184]
call fcn.004049b7
test al, al
je 0x4ba620
jmp 0x4ba957
push 0x168
push str.P2pDownloadMgr::LoadLocalConfig
push str.__s__d___P2pZipFileExist_file_exists_return
call fcn.0040a649
add esp, 0xc
lea ecx, [ebp - 0x28]
call fcn.00404812
lea ecx, [ebp - 0x40]
call fcn.00404812
lea ecx, [ebp - 0x88]
call fcn.00404812
lea ecx, [ebp - 0x58]
call fcn.00404812
lea ecx, [ebp - 0x19c]
call fcn.00404dbc
lea ecx, [ebp - 0x178]
call fcn.00402bc3
lea ecx, [ebp - 0xa0]
call fcn.00404812
call fcn.0059bb81
ret