Function at 0x415780
Capabilities:
Check if file exists
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b3d00
mov eax, dword fs:[0]
push eax
sub esp, 0x42c
mov eax, dword [0x4e64ec]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea eax, [ebp - 0x42c]
mov dword [ebp - 0x42c], 8
push eax
mov dword [ebp - 0x428], 4
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
lea ecx, [ebp - 0x438]
call fcn.00418110
push 0
push dword [ebp + 8]
mov ecx, 0x4e8b64
push 0
call fcn.00410a20
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.00461360
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x420]
add esp, 0xc
push 0x104
push eax
push 0
call ebx
mov esi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x420]
push eax
call esi
push 0x4bc05c
lea eax, [ebp - 0x420]
push eax
mov eax, dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov dword [ebp - 0x434], eax
call eax
push 1
lea eax, [ebp - 0x420]
push eax
call fcn.0044ba50
mov edi, dword [0x4e8b60]
mov eax, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], ecx
test edi, edi
jne 0x4158f5
push 0x4e5100
call eax
cmp dword [0x4e8b60], 0
jne 0x4158e4
push 0x1c
call fcn.0045b947
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4158d6
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x18], 0
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
jmp 0x4158d8
xor ecx, ecx
xchg dword [ebp - 0x430], eax
mov dword [0x4e8b60], ecx
push 0x4e5100
call dword [ebp - 0x424]
mov edi, dword [0x4e8b60]
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00461360
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0x400000
call ebx
lea eax, [ebp - 0x218]
push eax
call esi
lea eax, [ebp - 0x218]
push eax
call esi
push str.NetBridge.dll
lea eax, [ebp - 0x218]
push eax
call dword [ebp - 0x434]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4159e8
lea eax, [ebp - 0x218]
push eax
call fcn.0042df10
add esp, 4
test eax, eax
je 0x4159e8
cmp dword [edi], 0
jne 0x4159cf
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [edi], eax
test eax, eax
je 0x4159e8
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.HttpInit
push eax
call esi
push str.HttpUninit
push dword [edi]
mov dword [edi + 4], eax
call esi
push str.zlib_uncompress
push dword [edi]
mov dword [edi + 8], eax
call esi
push str.zlib_compress
push dword [edi]
mov dword [edi + 0x10], eax
call esi
push str.zlib_compressBound
push dword [edi]
mov dword [edi + 0x14], eax
call esi
mov dword [edi + 0x18], eax
mov eax, dword [edi + 4]
test eax, eax
je 0x4159cf
call eax
mov dword [edi + 0xc], eax
cmp dword [edi + 8], 0
je 0x4159e8
cmp dword [edi + 4], 0
je 0x4159e8
cmp dword [edi + 0xc], 0
je 0x4159e8
mov esi, 1
jmp 0x4159ea
xor esi, esi
call fcn.0044bb00
test eax, eax
je 0x415b61
call fcn.0044bb00
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 4]
call eax
test al, al
je 0x415b61
call fcn.0044bb00
push 0
mov ebx, eax
mov dword [ebp - 0xa8], 0x4bbfa0
push 0
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x58], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
push eax
lea ecx, [ebp - 0xa8]
call fcn.0040e090
mov ecx, dword [ebp - 0xa8]
push 8
mov eax, dword [ecx + 4]
mov dword [ebp + eax - 0xa8], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xac], eax
mov dword [ebp - 0xa4], vtable.std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__.0
call fcn.0045b947
mov edi, eax
add esp, 4
test edi, edi
je 0x415a99
push 1
mov dword [ebp - 4], 0
call fcn.0042f30a
add esp, 4
mov dword [edi + 4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x415a9b
xor edi, edi
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x90]
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0xa8]
push str.init_net:
push eax
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0xa4], vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 4
call fcn.0040d9d0
add esp, 8
lea ecx, [ebp - 0xa8]
push esi
call fcn.0040f6f0
mov eax, dword [ebx]
lea ecx, [ebp - 0xa8]
push ecx
mov ecx, ebx
call dword [eax + 0x14]
lea ecx, [ebp - 0xa8]
call fcn.0040f980
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.00412010
mov edi, dword [0x4e8b48]
add esp, 8
add edi, 0x10
mov ebx, eax
push edi
call dword [ebp - 0x428]
mov esi, dword [0x4e8b9c]
test esi, esi
je 0x415bd3
cmp dword [esi + 4], 0
jle 0x415ba1
mov eax, dword [esi]
push dword [eax]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, dword [0x4e8b9c]
test esi, esi
je 0x415bd3
mov eax, dword [esi]
test eax, eax
je 0x415bba
push eax
call fcn.0046b978
add esp, 4
mov dword [esi], 0
push 0xc
push esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.0045b4e9
add esp, 8
push edi
mov dword [0x4e8b9c], 0
call dword [ebp - 0x424]
mov esi, dword [0x4e8b98]
test esi, esi
je 0x415c2c
mov eax, dword [esi]
test eax, eax
je 0x415c03
push eax
call fcn.0046b978
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x415c1a
push eax
call fcn.0046b978
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
mov dword [esi + 8], 0
call fcn.0045b4e9
add esp, 8
mov esi, dword [0x4e8b90]
test esi, esi
je 0x415c63
cmp dword [esi], 0
je 0x415c63
nop dword [eax + eax]
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x415c4d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esi + 0x20]
push 0
mov dword [esi + 0x10], 0
call eax
add esi, 0x24
cmp dword [esi], 0
jne 0x415c40
mov esi, dword [0x4e50dc]
mov ecx, dword [0x4e50e0]
cmp esi, ecx
jae 0x415c8d
mov eax, dword [esi]
test eax, eax
je 0x415c86
mov eax, dword [eax + 0x1c]
push 0
call eax
mov ecx, dword [0x4e50e0]
add esi, 4
cmp esi, ecx
jb 0x415c73
mov ecx, 0x4e8b64
call fcn.004123f0
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0x438]
call fcn.00418150
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045b907
mov esp, ebp
pop ebp
ret 0x10