Function at 0x534006
Capabilities:
Get routing table

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59ec8d
mov eax, dword fs:[0]
push eax
mov eax, 0x35b0
call fcn.005848d0
mov eax, dword [0x610304]
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
mov eax, dword [ebp + 8]
and dword [ebp - 0x356c], 0
push 0x5a3f7c
push str..IsNetConnectionOK
mov dword [ebp - 0x359c], eax
mov eax, dword [ebp + 0xc]
mov ebx, str.CNetDetectHolder::IsNetConnectionOK
push ebx
xor edi, edi
mov dword [ebp - 0x35a4], eax
mov eax, dword [ebp + 0x10]
inc edi
push edi
push 0xb7
mov dword [ebp - 0x35a0], eax
mov esi, str.....SourceCommonNetworkUtilNet.cpp
lea eax, [ebp - 0x35bc]
push esi
push eax
mov dword [ebp - 0x3580], ecx
call fcn.004b1d3b
and dword [ebp - 4], 0
push str..Proxy.Begin
push ebx
push edi
push 0xb9
push esi
call sym.txupd.exe_long_int___cdecl_Util::Perf::Record_wchar_t_const___int__int__wchar_t_const___wchar_t_const__
mov eax, dword [ebp - 0x3580]
xor ecx, ecx
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x359c]
add esp, 0x30
cmp eax, ecx
je 0x5340bb
mov dword [eax], ecx
lea eax, [ebp - 0x357c]
push eax
lea eax, [ebp - 0x3564]
push eax
mov dword [ebp - 0x357c], ecx
call sym.txupd.exe_class_CTXStringW___cdecl_Util::Network::GetServerIP_unsigned_long_int__
pop ecx
pop ecx
lea ecx, [ebp - 0x3564]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
and dword [ebp - 0x3594], 0
lea ecx, [ebp - 0x3588]
call sym.txupd.exe_public:_void___thiscall_CTXBSTR::constructor_void_
lea eax, [ebp - 0x3594]
push eax
mov byte [ebp - 4], 2
call sym.txupd.exe_long_int___cdecl_Util::NetworkEnv::GetProxyInfo_struct_ITXDataRead___
test eax, eax
pop ecx
jl 0x53418c
mov eax, dword [ebp - 0x3594]
test eax, eax
je 0x53418c
mov dword [ebp - 0x3560], eax
lea eax, [ebp - 0x3568]
push str.strProxy_Addr
push eax
call fcn.0044ced0
pop ecx
pop ecx
mov dword [ebp - 0x3564], eax
mov eax, dword [ebp - 0x3560]
mov dword [ebp - 0x356c], edi
mov edi, dword [eax]
lea ecx, [ebp - 0x3588]
mov byte [ebp - 4], 3
add edi, 0x40
call sym.txupd.exe_public:_wchar_t_____thiscall_CTXBSTR::operator_void_
mov ecx, dword [ebp - 0x3564]
push eax
call sym.txupd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
push dword [ebp - 0x3560]
call dword [edi]
test eax, eax
jl 0x534189
lea ecx, [ebp - 0x3588]
call sym.txupd.exe_public:_int___thiscall_CTXBSTR::IsEmpty_void_
test eax, eax
jne 0x534189
xor edi, edi
mov byte [ebp - 0x3559], 1
inc edi
jmp 0x534193
xor edi, edi
inc edi
mov byte [ebp - 0x3559], 0
test byte [ebp - 0x356c], 1
mov dword [ebp - 4], 2
je 0x5341ae
lea ecx, [ebp - 0x3568]
call sym.txupd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
cmp byte [ebp - 0x3559], 0
je 0x53431f
and dword [ebp - 0x3574], 0
lea ecx, [ebp - 0x3588]
mov byte [ebp - 4], 4
call sym.txupd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
lea ecx, [ebp - 0x3574]
call fcn.004e8f84
xor eax, eax
lea edi, [ebp - 0x3564]
stosb byte es:[edi], al
lea eax, [ebp - 0x356c]
push eax
lea ecx, [ebp - 0x3574]
call fcn.004e72ef
push 0xffffffffffffffff
mov ecx, eax
mov byte [ebp - 4], 5
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
push dword [ebp - 0x3564]
lea ecx, [ebp - 0x3560]
call sym.txupd.exe_public:_void___thiscall_CTXStringA::constructor_struct_tagEN__wchar_t_const___int_
mov ecx, eax
call sym.txupd.exe_public:_char_const____thiscall_CTXStringA::operator_char_const__void_const
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
lea ecx, [ebp - 0x3560]
sete byte [ebp - 0x3559]
call sym.txupd.exe_public:_void___thiscall_CTXStringA::destructor_void_
lea ecx, [ebp - 0x356c]
mov byte [ebp - 4], 4
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
cmp byte [ebp - 0x3559], 0
je 0x5342ae
lea ecx, [ebp - 0x356c]
call sym.txupd.exe_public:_void___thiscall_CTXBSTR::constructor_void_
lea ecx, [ebp - 0x356c]
mov byte [ebp - 4], 6
call sym.txupd.exe_public:_wchar_t_____thiscall_CTXBSTR::operator_void_
push eax
lea ecx, [ebp - 0x3588]
call sym.txupd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
call sym.txupd.exe_long_int___cdecl_Util::HostResolve::GetHostByName_wchar_t___wchar_t___
test eax, eax
pop ecx
pop ecx
jl 0x5343cc
lea ecx, [ebp - 0x356c]
call sym.txupd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
lea ecx, [ebp - 0x3574]
call fcn.004e8f84
lea ecx, [ebp - 0x356c]
mov byte [ebp - 4], 4
call sym.txupd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
lea eax, [ebp - 0x3564]
push eax
lea ecx, [ebp - 0x3574]
call fcn.004e72ef
mov ecx, eax
mov byte [ebp - 4], 7
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call sym.txupd.exe_unsigned_long_int___cdecl_Util::Network::StringToIP_wchar_t_const__
pop ecx
lea ecx, [ebp - 0x3564]
mov dword [ebp - 0x357c], eax
mov byte [ebp - 4], 4
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
push dword [ebp - 0x357c]
push str.IsNetConnectionOK_have_proxy_dwIP__lu_
push str.NetDetect
push 3
push ebx
push 0xdf
push esi
call fcn.00452950
mov eax, dword [ebp - 0x3574]
add esp, 0x1c
test eax, eax
mov byte [ebp - 4], 2
je 0x53431c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor edi, edi
inc edi
push str..Proxy.End
push ebx
push edi
push 0xe2
push esi
call sym.txupd.exe_long_int___cdecl_Util::Perf::Record_wchar_t_const___int__int__wchar_t_const___wchar_t_const__
add esp, 0x14
xor eax, eax
push edi
lea ecx, [ebp - 0x358c]
push ecx
push eax
mov dword [ebp - 0x358c], eax
mov dword [ebp - 0x3590], eax
mov dword [ebp - 0x3570], eax
mov dword [ebp - 0x3584], eax
call sub.iphlpapi.dll_GetIpForwardTable
cmp dword [ebp - 0x358c], 0
je 0x53490f
push dword [ebp - 0x358c]
call dword [sym.imp.MSVCR80.dll_malloc]
test eax, eax
pop ecx
mov dword [ebp - 0x3570], eax
je 0x53490f
push dword [ebp - 0x358c]
push 0
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push edi
lea eax, [ebp - 0x358c]
push eax
push dword [ebp - 0x3570]
call sub.iphlpapi.dll_GetIpForwardTable
test eax, eax
je 0x53447e
push str.internal_err
push 0x5a48f0
push str.NetDetect
push 3
push ebx
push 0xf7
jmp 0x534926
push str.IsNetConnectionOK_invalid_bufProxyAddr
push 0x5a48f0
push str.NetDetect
push 3
push ebx
push 0xd6
push esi
call fcn.004587e0
mov eax, dword [ebp - 0x3580]
push str..Proxy.End
xor edi, edi
push ebx
inc edi
push edi
push 0xd8
push esi
mov dword [eax + 0xc], edi
call sym.txupd.exe_long_int___cdecl_Util::Perf::Record_wchar_t_const___int__int__wchar_t_const___wchar_t_const__
add esp, 0x30
lea ecx, [ebp - 0x356c]
call sym.txupd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
mov eax, dword [ebp - 0x3574]
test eax, eax
mov byte [ebp - 4], 2
je 0x534430
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp - 0x3574], 0
lea ecx, [ebp - 0x3588]
call sym.txupd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
mov eax, dword [ebp - 0x3594]
test eax, eax
mov byte [ebp - 4], 0
je 0x53444f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x35bc]
call fcn.004b1dba
mov eax, esi
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.00584870
leave
ret 0xc
mov eax, dword [ebp - 0x3570]
mov eax, dword [eax]
or dword [ebp - 0x3564], 0xffffffff
or dword [ebp - 0x3560], 0xffffffff
and dword [ebp - 0x3568], 0
test eax, eax
mov dword [ebp - 0x3578], eax
jbe 0x534938
mov edi, dword [ebp - 0x3570]
add edi, 8
cmp dword [ebp - 0x357c], 0
jbe 0x5344e5
cmp dword [ebp - 0x357c], 0xffffffff
je 0x5344e5
mov eax, dword [edi - 4]
test eax, eax
jbe 0x5344e5
cmp eax, 0xffffffff
je 0x5344e5
cmp dword [edi], 0
jbe 0x5344e5
mov ecx, dword [edi]
mov edx, ecx
and edx, dword [ebp - 0x357c]
and eax, ecx
cmp eax, edx
je 0x534536
cmp dword [edi - 4], 0
jne 0x534515
cmp dword [edi], 0
jne 0x534515
mov eax, dword [ebp - 0x3564]
cmp eax, 0xffffffff
je 0x534500
cmp dword [edi + 0x20], eax
jae 0x534515
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x3564], eax
mov eax, dword [ebp - 0x3568]
mov dword [ebp - 0x3560], eax
inc dword [ebp - 0x3568]
mov eax, dword [ebp - 0x3568]
add edi, 0x38
cmp eax, dword [ebp - 0x3578]
jb 0x5344b2
mov edi, str.NetDetect
jmp 0x5345bf
push ecx
lea eax, [ebp - 0x3564]
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_Util::Network::IPToString_unsigned_long_int_
pop ecx
pop ecx
push dword [eax]
lea eax, [ebp - 0x3578]
push dword [edi - 4]
mov byte [ebp - 4], 8
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_Util::Network::IPToString_unsigned_long_int_
pop ecx
pop ecx
push dword [eax]
mov byte [ebp - 4], 9
push ecx
mov eax, esp
mov dword [ebp - 0x3598], esp
push dword [ebp - 0x357c]
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_Util::Network::IPToString_unsigned_long_int_
pop ecx
pop ecx
push str.dwTargetIP__s__forwardRaw.dwForwardDest__s__forwardRaw.dwForwardMask__s_
mov edi, str.NetDetect
push edi
push 3
push ebx
push 0x109
push esi
call fcn.0046fa20
add esp, 0x24
lea ecx, [ebp - 0x3578]
mov byte [ebp - 4], 8
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x3564]
mov byte [ebp - 4], 2
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov eax, dword [ebp - 0x3568]
mov dword [ebp - 0x3560], eax
cmp dword [ebp - 0x3560], 0xffffffff
je 0x534938
mov ecx, dword [ebp - 0x3580]
xor eax, eax
inc eax
cmp dword [ebp - 0x359c], 0
mov dword [ecx + 0xc], eax
je 0x534938
push eax
lea eax, [ebp - 0x3590]
push eax
push 0
call sub.iphlpapi.dll_GetIpAddrTable
cmp dword [ebp - 0x3590], 0
je 0x5348f7
push dword [ebp - 0x3590]
call dword [sym.imp.MSVCR80.dll_malloc]
test eax, eax
pop ecx
mov dword [ebp - 0x3584], eax
je 0x5348f7
push dword [ebp - 0x3590]
push 0
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push 1
lea eax, [ebp - 0x3590]
push eax
push dword [ebp - 0x3584]
call sub.iphlpapi.dll_GetIpAddrTable
test eax, eax
je 0x534663
push str.internal_err
push 0x5a48f0
push edi
push 3
push ebx
push 0x12a
push esi
call fcn.004587e0
jmp 0x534935
mov eax, dword [ebp - 0x3560]
mov ecx, dword [ebp - 0x3570]
imul eax, eax, 0x38
and dword [ebp - 0x3560], 0
lea ecx, [eax + ecx + 4]
mov eax, dword [ebp - 0x3584]
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0x3568], ecx
mov dword [ebp - 0x3578], eax
jbe 0x534938
mov eax, dword [ebp - 0x3584]
add eax, 4
mov dword [ebp - 0x3564], eax
jmp 0x5346b0
mov ecx, dword [ebp - 0x3568]
mov edx, dword [ecx + 0x10]
cmp dword [eax + 4], edx
je 0x5346da
inc dword [ebp - 0x3560]
mov ecx, dword [ebp - 0x3560]
add eax, 0x18
cmp ecx, dword [ebp - 0x3578]
mov dword [ebp - 0x3564], eax
jb 0x5346aa
jmp 0x534938
mov edx, dword [0x655398]
test edx, edx
jbe 0x5346e9
cmp dword [ecx + 0xc], edx
jne 0x5346ff
mov edx, dword [0x655394]
test edx, edx
jbe 0x5347bf
cmp dword [eax], edx
je 0x5347bf
push dword [eax]
lea eax, [ebp - 0x3598]
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_Util::Network::IPToString_unsigned_long_int_
pop ecx
pop ecx
push dword [eax]
lea eax, [ebp - 0x3560]
push dword [0x655394]
mov byte [ebp - 4], 0xa
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_Util::Network::IPToString_unsigned_long_int_
pop ecx
pop ecx
push dword [eax]
mov eax, dword [ebp - 0x3568]
push dword [eax + 0xc]
lea eax, [ebp - 0x3578]
push eax
mov byte [ebp - 4], 0xb
call sym.txupd.exe_class_CTXStringW___cdecl_Util::Network::IPToString_unsigned_long_int_
pop ecx
pop ecx
push dword [eax]
mov byte [ebp - 4], 0xc
push ecx
mov eax, esp
mov dword [ebp - 0x35a8], esp
push dword [0x655398]
push eax
call sym.txupd.exe_class_CTXStringW___cdecl_Util::Network::IPToString_unsigned_long_int_
pop ecx
pop ecx
push 0x5c4210
push edi
push 3
push ebx
push 0x13d
push esi
call fcn.0046fa20
add esp, 0x28
lea ecx, [ebp - 0x3578]
mov byte [ebp - 4], 0xb
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x3560]
mov byte [ebp - 4], 0xa
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x3598]
mov byte [ebp - 4], 2
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov eax, dword [ebp - 0x359c]
mov ecx, dword [ebp - 0x3568]
mov dword [eax], 1
mov eax, dword [ebp - 0x3564]
mov ecx, dword [ecx + 0xc]
mov dword [0x655398], ecx
mov ecx, dword [ebp - 0x35a4]
test ecx, ecx
mov eax, dword [eax]
mov dword [0x655394], eax
je 0x5347db
mov dword [ecx], eax
cmp dword [ebp - 0x35a0], 0
je 0x534938
mov esi, 0x34f8
push esi
lea eax, [ebp - 0x3558]
push 0
push eax
call sub.MSVCR80.dll_memset
and dword [ebp - 0x3568], 0
add esp, 0xc
lea eax, [ebp - 0x3568]
push eax
lea eax, [ebp - 0x3560]
push eax
lea eax, [ebp - 0x3558]
push eax
mov dword [ebp - 0x3560], esi
mov dword [ebp - 0x3558], 0x54c
call sub.RASAPI32.dll_RasEnumConnectionsW
test eax, eax
jne 0x534938
xor edi, edi
cmp dword [ebp - 0x3568], edi
jbe 0x534938
push 0x50
lea ebx, [ebp - 0x3554]
pop esi
push esi
lea eax, [ebp - 0x60]
push 0
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [ebp - 0x3560]
push eax
lea eax, [ebp - 0x60]
push eax
push 0x8021
push dword [ebx]
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x3560], esi
call sub.RASAPI32.dll_RasGetProjectionInfoW
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x3598]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t__
mov ecx, eax
mov byte [ebp - 4], 0xd
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call sym.txupd.exe_unsigned_long_int___cdecl_Util::Network::StringToIP_wchar_t_const__
cmp eax, dword [0x655394]
pop ecx
lea ecx, [ebp - 0x3598]
sete byte [ebp - 0x3559]
mov byte [ebp - 4], 2
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
cmp byte [ebp - 0x3559], 0
jne 0x5348d9
inc edi
add ebx, 0x54c
cmp edi, dword [ebp - 0x3568]
jb 0x53484f
jmp 0x534938
imul edi, edi, 0x54c
lea eax, [ebp + edi - 0x332c]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [ebp - 0x35a0]
mov dword [ecx], eax
jmp 0x534938
push str.internal_err
push 0x5a48f0
push edi
push 3
push ebx
push 0x123
jmp 0x534658
push str.internal_err
push 0x5a48f0
push str.NetDetect
push 3
push ebx
push 0xee
push esi
call fcn.004587e0
mov eax, dword [ebp - 0x3580]
mov dword [eax + 0xc], edi
add esp, 0x1c
cmp dword [ebp - 0x3570], 0
mov esi, dword [sym.imp.MSVCR80.dll_free]
je 0x534950
push dword [ebp - 0x3570]
call esi
pop ecx
cmp dword [ebp - 0x3584], 0
je 0x534962
push dword [ebp - 0x3584]
call esi
pop ecx
mov eax, dword [ebp - 0x3580]
mov esi, dword [eax + 0xc]
lea ecx, [ebp - 0x3588]
call sym.txupd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
mov eax, dword [ebp - 0x3594]
test eax, eax
mov byte [ebp - 4], 0
je 0x534451
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x534451