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

Disassembly:
push 0x190
mov eax, 0x5e79f3
call fcn.00592017
mov ebx, ecx
mov dword [ebp - 0x180], ebx
call fcn.004c0bcb
test al, al
je 0x4b14c3
push 0x124
push str.P2pDownloadMgr::LoadLocalConfig
push str.__s__d___sesvc_support_LoadLocalConfig_return
call fcn.0040a649
add esp, 0xc
jmp 0x4b196e
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 0x4b14eb
mov eax, dword [esi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4b158f
cmp dword [esi + 0x14], 8
jb 0x4b1502
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 0x4b153f
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4b1963
lea esi, [eax + 1]
push esi
call fcn.00591388
push esi
mov edi, eax
push 0
push edi
call fcn.005a88e0
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.00590e55
mov ebx, dword [ebp - 0x180]
pop ecx
cmp dword [ebp - 0x90], 0
je 0x4b1963
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 0x4b194d
lea ecx, [ebp - 0x19c]
call fcn.004056c6
test al, al
je 0x4b194d
call fcn.00405236
test eax, eax
je 0x4b194d
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x19c]
call fcn.004057b0
jmp 0x4b18eb
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 0x4b18b9
push 0x631e68
call fcn.00405597
test al, al
je 0x4b16a4
push 0x631e68
mov ecx, esi
call fcn.00405401
mov ecx, eax
call fcn.00405683
test al, al
je 0x4b16a4
push 0x631e68
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 0x4b16e4
push str.is_http
mov ecx, esi
call fcn.00405401
mov ecx, eax
call fcn.00405683
test al, al
je 0x4b16e4
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 0x4b1736
push str.http_url
mov ecx, esi
call fcn.00405401
mov ecx, eax
call fcn.004056be
test al, al
je 0x4b1736
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 0x63aba8
mov ecx, esi
call fcn.00405597
test al, al
je 0x4b1785
push 0x63aba8
mov ecx, esi
call fcn.00405401
mov ecx, eax
call fcn.004056be
test al, al
je 0x4b1785
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
push 0x63aba8
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 0x4b17d4
push str.report_ids
mov ecx, esi
call fcn.00405401
mov ecx, eax
call fcn.004056be
test al, al
je 0x4b17d4
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 0x4b1823
push str.download_url
mov ecx, esi
call fcn.00405401
mov ecx, eax
call fcn.004056be
test al, al
je 0x4b1823
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.004ca1d0
test eax, eax
jne 0x4b1913
cmp dword [ebp - 0x30], eax
je 0x4b18b9
cmp dword [ebp - 0x18], eax
je 0x4b18b9
lea ecx, [ebp - 0x108]
call fcn.004b0dbd
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.004b1d16
lea ecx, [ebp - 0x108]
call fcn.004848e0
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 0x4b1616
jmp 0x4b194d
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.00591fc1
ret