Function at 0x4bc430
Capabilities:
Get routing table

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d9a80
mov eax, dword fs:[0]
push eax
mov eax, 0x35b0
call fcn.004cb810
mov eax, dword [0x528f34]
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 0x4dcd18
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.0045ba29
and dword [ebp - 4], 0
push str..Proxy.Begin
push ebx
push edi
push 0xb9
push esi
call sym.QQProtectUpd.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 0x4bc4e5
mov dword [eax], ecx
lea eax, [ebp - 0x357c]
push eax
lea eax, [ebp - 0x3564]
push eax
mov dword [ebp - 0x357c], ecx
call sym.QQProtectUpd.exe_class_CTXStringW___cdecl_Util::Network::GetServerIP_unsigned_long_int__
pop ecx
pop ecx
lea ecx, [ebp - 0x3564]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
and dword [ebp - 0x3594], 0
lea ecx, [ebp - 0x3588]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::constructor_void_
lea eax, [ebp - 0x3594]
push eax
mov byte [ebp - 4], 2
call sym.QQProtectUpd.exe_long_int___cdecl_Util::NetworkEnv::GetProxyInfo_struct_ITXDataRead___
test eax, eax
pop ecx
jl 0x4bc5b6
mov eax, dword [ebp - 0x3594]
test eax, eax
je 0x4bc5b6
mov dword [ebp - 0x3560], eax
lea eax, [ebp - 0x3568]
push str.strProxy_Addr
push eax
call fcn.0042ced0
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.QQProtectUpd.exe_public:_wchar_t_____thiscall_CTXBSTR::operator_void_
mov ecx, dword [ebp - 0x3564]
push eax
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
push dword [ebp - 0x3560]
call dword [edi]
test eax, eax
jl 0x4bc5b3
lea ecx, [ebp - 0x3588]
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXBSTR::IsEmpty_void_
test eax, eax
jne 0x4bc5b3
xor edi, edi
mov byte [ebp - 0x3559], 1
inc edi
jmp 0x4bc5bd
xor edi, edi
inc edi
mov byte [ebp - 0x3559], 0
test byte [ebp - 0x356c], 1
mov dword [ebp - 4], 2
je 0x4bc5d8
lea ecx, [ebp - 0x3568]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
cmp byte [ebp - 0x3559], 0
je 0x4bc749
and dword [ebp - 0x3574], 0
lea ecx, [ebp - 0x3588]
mov byte [ebp - 4], 4
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
lea ecx, [ebp - 0x3574]
call fcn.00487ad8
xor eax, eax
lea edi, [ebp - 0x3564]
stosb byte es:[edi], al
lea eax, [ebp - 0x356c]
push eax
lea ecx, [ebp - 0x3574]
call fcn.0048f4a4
push 0xffffffffffffffff
mov ecx, eax
mov byte [ebp - 4], 5
call sym.QQProtectUpd.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.QQProtectUpd.exe_public:_void___thiscall_CTXStringA::constructor_struct_tagEN__wchar_t_const___int_
mov ecx, eax
call sym.QQProtectUpd.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.QQProtectUpd.exe_public:_void___thiscall_CTXStringA::destructor_void_
lea ecx, [ebp - 0x356c]
mov byte [ebp - 4], 4
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
cmp byte [ebp - 0x3559], 0
je 0x4bc6d8
lea ecx, [ebp - 0x356c]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::constructor_void_
lea ecx, [ebp - 0x356c]
mov byte [ebp - 4], 6
call sym.QQProtectUpd.exe_public:_wchar_t_____thiscall_CTXBSTR::operator_void_
push eax
lea ecx, [ebp - 0x3588]
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
call sym.QQProtectUpd.exe_long_int___cdecl_Util::HostResolve::GetHostByName_wchar_t___wchar_t___
test eax, eax
pop ecx
pop ecx
jl 0x4bc7f6
lea ecx, [ebp - 0x356c]
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
lea ecx, [ebp - 0x3574]
call fcn.00487ad8
lea ecx, [ebp - 0x356c]
mov byte [ebp - 4], 4
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
lea eax, [ebp - 0x3564]
push eax
lea ecx, [ebp - 0x3574]
call fcn.0048f4a4
mov ecx, eax
mov byte [ebp - 4], 7
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call sym.QQProtectUpd.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.QQProtectUpd.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.00442b40
mov eax, dword [ebp - 0x3574]
add esp, 0x1c
test eax, eax
mov byte [ebp - 4], 2
je 0x4bc746
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.QQProtectUpd.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 0x4bcd39
push dword [ebp - 0x358c]
call dword [sym.imp.MSVCR80.dll_malloc]
test eax, eax
pop ecx
mov dword [ebp - 0x3570], eax
je 0x4bcd39
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 0x4bc8a8
push str.internal_err
push 0x4dd0ec
push str.NetDetect
push 3
push ebx
push 0xf7
jmp 0x4bcd50
push str.IsNetConnectionOK_invalid_bufProxyAddr
push 0x4dd0ec
push str.NetDetect
push 3
push ebx
push 0xd6
push esi
call fcn.00442b40
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.QQProtectUpd.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.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
mov eax, dword [ebp - 0x3574]
test eax, eax
mov byte [ebp - 4], 2
je 0x4bc85a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp - 0x3574], 0
lea ecx, [ebp - 0x3588]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
mov eax, dword [ebp - 0x3594]
test eax, eax
mov byte [ebp - 4], 0
je 0x4bc879
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x35bc]
call fcn.0045baa8
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.004cb642
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 0x4bcd62
mov edi, dword [ebp - 0x3570]
add edi, 8
cmp dword [ebp - 0x357c], 0
jbe 0x4bc90f
cmp dword [ebp - 0x357c], 0xffffffff
je 0x4bc90f
mov eax, dword [edi - 4]
test eax, eax
jbe 0x4bc90f
cmp eax, 0xffffffff
je 0x4bc90f
cmp dword [edi], 0
jbe 0x4bc90f
mov ecx, dword [edi]
mov edx, ecx
and edx, dword [ebp - 0x357c]
and eax, ecx
cmp eax, edx
je 0x4bc960
cmp dword [edi - 4], 0
jne 0x4bc93f
cmp dword [edi], 0
jne 0x4bc93f
mov eax, dword [ebp - 0x3564]
cmp eax, 0xffffffff
je 0x4bc92a
cmp dword [edi + 0x20], eax
jae 0x4bc93f
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 0x4bc8dc
mov edi, str.NetDetect
jmp 0x4bc9e9
push ecx
lea eax, [ebp - 0x3564]
push eax
call sym.QQProtectUpd.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.QQProtectUpd.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.QQProtectUpd.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.0042d2a0
add esp, 0x24
lea ecx, [ebp - 0x3578]
mov byte [ebp - 4], 8
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x3564]
mov byte [ebp - 4], 2
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov eax, dword [ebp - 0x3568]
mov dword [ebp - 0x3560], eax
cmp dword [ebp - 0x3560], 0xffffffff
je 0x4bcd62
mov ecx, dword [ebp - 0x3580]
xor eax, eax
inc eax
cmp dword [ebp - 0x359c], 0
mov dword [ecx + 0xc], eax
je 0x4bcd62
push eax
lea eax, [ebp - 0x3590]
push eax
push 0
call sub.iphlpapi.dll_GetIpAddrTable
cmp dword [ebp - 0x3590], 0
je 0x4bcd21
push dword [ebp - 0x3590]
call dword [sym.imp.MSVCR80.dll_malloc]
test eax, eax
pop ecx
mov dword [ebp - 0x3584], eax
je 0x4bcd21
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 0x4bca8d
push str.internal_err
push 0x4dd0ec
push edi
push 3
push ebx
push 0x12a
push esi
call fcn.00442b40
jmp 0x4bcd5f
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 0x4bcd62
mov eax, dword [ebp - 0x3584]
add eax, 4
mov dword [ebp - 0x3564], eax
jmp 0x4bcada
mov ecx, dword [ebp - 0x3568]
mov edx, dword [ecx + 0x10]
cmp dword [eax + 4], edx
je 0x4bcb04
inc dword [ebp - 0x3560]
mov ecx, dword [ebp - 0x3560]
add eax, 0x18
cmp ecx, dword [ebp - 0x3578]
mov dword [ebp - 0x3564], eax
jb 0x4bcad4
jmp 0x4bcd62
mov edx, dword [0x56d2d8]
test edx, edx
jbe 0x4bcb13
cmp dword [ecx + 0xc], edx
jne 0x4bcb29
mov edx, dword [0x56d2d4]
test edx, edx
jbe 0x4bcbe9
cmp dword [eax], edx
je 0x4bcbe9
push dword [eax]
lea eax, [ebp - 0x3598]
push eax
call sym.QQProtectUpd.exe_class_CTXStringW___cdecl_Util::Network::IPToString_unsigned_long_int_
pop ecx
pop ecx
push dword [eax]
lea eax, [ebp - 0x3560]
push dword [0x56d2d4]
mov byte [ebp - 4], 0xa
push eax
call sym.QQProtectUpd.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.QQProtectUpd.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 [0x56d2d8]
push eax
call sym.QQProtectUpd.exe_class_CTXStringW___cdecl_Util::Network::IPToString_unsigned_long_int_
pop ecx
pop ecx
push 0x4f6728
push edi
push 3
push ebx
push 0x13d
push esi
call fcn.0042d2a0
add esp, 0x28
lea ecx, [ebp - 0x3578]
mov byte [ebp - 4], 0xb
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x3560]
mov byte [ebp - 4], 0xa
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x3598]
mov byte [ebp - 4], 2
call sym.QQProtectUpd.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 [0x56d2d8], ecx
mov ecx, dword [ebp - 0x35a4]
test ecx, ecx
mov eax, dword [eax]
mov dword [0x56d2d4], eax
je 0x4bcc05
mov dword [ecx], eax
cmp dword [ebp - 0x35a0], 0
je 0x4bcd62
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 0x4bcd62
xor edi, edi
cmp dword [ebp - 0x3568], edi
jbe 0x4bcd62
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.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t__
mov ecx, eax
mov byte [ebp - 4], 0xd
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call sym.QQProtectUpd.exe_unsigned_long_int___cdecl_Util::Network::StringToIP_wchar_t_const__
cmp eax, dword [0x56d2d4]
pop ecx
lea ecx, [ebp - 0x3598]
sete byte [ebp - 0x3559]
mov byte [ebp - 4], 2
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
cmp byte [ebp - 0x3559], 0
jne 0x4bcd03
inc edi
add ebx, 0x54c
cmp edi, dword [ebp - 0x3568]
jb 0x4bcc79
jmp 0x4bcd62
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 0x4bcd62
push str.internal_err
push 0x4dd0ec
push edi
push 3
push ebx
push 0x123
jmp 0x4bca82
push str.internal_err
push 0x4dd0ec
push str.NetDetect
push 3
push ebx
push 0xee
push esi
call fcn.00442b40
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 0x4bcd7a
push dword [ebp - 0x3570]
call esi
pop ecx
cmp dword [ebp - 0x3584], 0
je 0x4bcd8c
push dword [ebp - 0x3584]
call esi
pop ecx
mov eax, dword [ebp - 0x3580]
mov esi, dword [eax + 0xc]
lea ecx, [ebp - 0x3588]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
mov eax, dword [ebp - 0x3594]
test eax, eax
mov byte [ebp - 4], 0
je 0x4bc87b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4bc87b