Function at 0x47173a
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d3071
mov eax, dword fs:[0]
push eax
mov eax, 0x1084
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 + 0xc]
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x1040], eax
mov byte [eax], bl
lea eax, [ebp - 0x1014]
push 0x4ea408
push eax
call fcn.0042ced0
pop ecx
pop ecx
mov edi, dword [esi]
push ebx
mov ecx, eax
mov dword [ebp - 4], ebx
add edi, 0xd0
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
push esi
call dword [edi]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1014]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
push 0x4dcd18
lea ecx, [ebp - 0x1020]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t_const__
mov dword [ebp - 4], 1
call fcn.0048ef39
mov edi, eax
push edi
push str.Network::GetIEProxySetting_bUseIE5_d
push str.Network
push 2
push str.Util::Network::GetIEProxySetting
push 0x280
push str.....SourceCommonNetworkUtilNetwork.cpp
call fcn.00442b40
add esp, 0x1c
cmp edi, ebx
je 0x4718ce
push 0x14
pop eax
mov dword [ebp - 0x1014], eax
push 5
mov dword [ebp - 0x1054], eax
pop ecx
lea eax, [ebp - 0x1090]
mov dword [ebp - 0x1044], eax
lea eax, [ebp - 0x1014]
push eax
lea eax, [ebp - 0x1054]
push eax
push 0x4b
push ebx
mov dword [ebp - 0x1090], 4
mov dword [ebp - 0x1084], ecx
mov dword [ebp - 0x1078], 1
mov dword [ebp - 0x106c], 3
mov dword [ebp - 0x1060], 2
mov dword [ebp - 0x1050], ebx
mov dword [ebp - 0x104c], ecx
mov dword [ebp - 0x1048], ebx
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
test eax, eax
je 0x47190a
test byte [ebp - 0x1074], 2
je 0x471896
push dword [ebp - 0x105c]
lea ecx, [ebp - 0x1020]
call sym.QQProtectUpd.exe_public:_class_CTXStringW____thiscall_CTXStringW::operator_wchar_t__
cmp dword [ebp - 0x108c], ebx
mov edi, dword [sym.imp.KERNEL32.dll_GlobalFree]
je 0x4718ac
push dword [ebp - 0x108c]
call edi
cmp dword [ebp - 0x1068], ebx
je 0x4718bc
push dword [ebp - 0x1068]
call edi
cmp dword [ebp - 0x105c], ebx
je 0x47190a
push dword [ebp - 0x105c]
call edi
jmp 0x47190a
push 0xfff
lea eax, [ebp - 0x100f]
push ebx
push eax
mov dword [ebp - 0x1014], 0x1000
mov byte [ebp - 0x1010], bl
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [ebp - 0x1014]
push eax
lea eax, [ebp - 0x1010]
push eax
push 0x26
push ebx
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
lea ecx, [ebp - 0x1020]
call sym.QQProtectUpd.exe_public:_bool___thiscall_CTXStringW::IsEmpty_void_const
test al, al
je 0x471b34
lea eax, [ebp - 0x1024]
push eax
push 0x20019
push ebx
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_Settings
push reloc.WS2_32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x471f14
cmp dword [ebp - 0x1024], ebx
je 0x471f14
lea eax, [ebp - 0x1014]
push eax
lea eax, [ebp - 0x1030]
push eax
push ebx
push ebx
push str.EnableAutodial
push dword [ebp - 0x1024]
mov dword [ebp - 0x1030], ebx
mov dword [ebp - 0x1014], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x1024]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x471f14
push ebx
push 0x3b
lea ecx, [ebp - 0x1020]
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXStringW::Find_wchar_t__int_const
lea ecx, [ebp - 0x1018]
mov edi, eax
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringA::constructor_void_
cmp edi, 0xffffffff
mov byte [ebp - 4], 2
jne 0x4719d3
lea eax, [ebp - 0x1020]
push eax
lea ecx, [ebp - 0x1018]
call fcn.0044d92a
lea ecx, [ebp - 0x1020]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::Empty_void_
jmp 0x471a13
push edi
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x1020]
call sym.QQProtectUpd.exe_public:_class_CTXStringW___thiscall_CTXStringW::Left_int_
push eax
lea ecx, [ebp - 0x1018]
mov byte [ebp - 4], 3
call fcn.0044d92a
lea ecx, [ebp - 0x1014]
mov byte [ebp - 4], 2
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
inc edi
push edi
push ebx
lea ecx, [ebp - 0x1020]
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXStringW::Delete_int__int_
push ebx
push 0x3d
lea ecx, [ebp - 0x1018]
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXStringW::Find_wchar_t__int_const
lea ecx, [ebp - 0x1034]
mov edi, eax
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringA::constructor_void_
cmp edi, 0xffffffff
mov byte [ebp - 4], 4
je 0x471a77
push edi
lea eax, [ebp - 0x101c]
push eax
lea ecx, [ebp - 0x1018]
call sym.QQProtectUpd.exe_public:_class_CTXStringW___thiscall_CTXStringW::Left_int_
push eax
lea ecx, [ebp - 0x1034]
mov byte [ebp - 4], 5
call fcn.0044d92a
lea ecx, [ebp - 0x101c]
mov byte [ebp - 4], 4
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
inc edi
push edi
push ebx
lea ecx, [ebp - 0x1018]
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXStringW::Delete_int__int_
lea ecx, [ebp - 0x1024]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringA::constructor_void_
lea ecx, [ebp - 0x1030]
mov byte [ebp - 4], 6
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringA::constructor_void_
lea ecx, [ebp - 0x1038]
mov byte [ebp - 4], 7
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringA::constructor_void_
lea eax, [ebp - 0x1034]
push str.http
push eax
mov byte [ebp - 4], 8
call sym.QQProtectUpd.exe_bool___cdecl_operator_class_CTXStringW_const___wchar_t_const__
test al, al
pop ecx
pop ecx
jne 0x471bc7
lea ecx, [ebp - 0x1034]
call sym.QQProtectUpd.exe_public:_bool___thiscall_CTXStringW::IsEmpty_void_const
test al, al
jne 0x471bc7
lea eax, [ebp - 0x1034]
push 0x4eaa34
push eax
call sym.QQProtectUpd.exe_bool___cdecl_operator_class_CTXStringW_const___wchar_t_const__
test al, al
pop ecx
pop ecx
jne 0x471b4c
lea ecx, [ebp - 0x1038]
mov byte [ebp - 4], 7
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x1030]
mov byte [ebp - 4], 6
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x1024]
mov byte [ebp - 4], 4
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x1034]
mov byte [ebp - 4], 2
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x1018]
mov byte [ebp - 4], 1
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x1020]
call sym.QQProtectUpd.exe_public:_bool___thiscall_CTXStringW::IsEmpty_void_const
test al, al
je 0x471990
jmp 0x471f14
push ebx
push 0x3a
lea ecx, [ebp - 0x1018]
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXStringW::Find_wchar_t__int_const
mov edi, eax
push edi
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x1018]
call sym.QQProtectUpd.exe_public:_class_CTXStringW___thiscall_CTXStringW::Left_int_
push eax
lea ecx, [ebp - 0x1024]
mov byte [ebp - 4], 0xa
call fcn.0044d92a
lea ecx, [ebp - 0x1014]
mov byte [ebp - 4], 8
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
inc edi
push edi
push ebx
lea ecx, [ebp - 0x1018]
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXStringW::Delete_int__int_
lea ecx, [ebp - 0x1018]
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call dword [sym.imp.MSVCR80.dll__wtoi]
movzx eax, ax
pop ecx
mov dword [ebp - 0x1014], eax
mov dword [ebp - 0x101c], 1
jmp 0x471cb0
push ebx
push 0x3a
lea ecx, [ebp - 0x1018]
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXStringW::Find_wchar_t__int_const
mov edi, eax
push edi
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x1018]
call sym.QQProtectUpd.exe_public:_class_CTXStringW___thiscall_CTXStringW::Left_int_
push eax
lea ecx, [ebp - 0x1024]
mov byte [ebp - 4], 9
call fcn.0044d92a
lea ecx, [ebp - 0x1014]
mov byte [ebp - 4], 8
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
inc edi
push edi
push ebx
lea ecx, [ebp - 0x1018]
call sym.QQProtectUpd.exe_public:_int___thiscall_CTXStringW::Delete_int__int_
lea ecx, [ebp - 0x1018]
call sym.QQProtectUpd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call dword [sym.imp.MSVCR80.dll__wtoi]
pop ecx
movzx eax, ax
push 0x40
pop edi
mov dword [ebp - 0x1014], eax
lea eax, [ebp - 0x101c]
push eax
push edi
lea ecx, [ebp - 0x1030]
mov dword [ebp - 0x101c], edi
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXStringW::GetBuffer_int_
push eax
push 0x2b
push ebx
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
test eax, eax
je 0x471c6e
push dword [ebp - 0x101c]
lea ecx, [ebp - 0x1030]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::ReleaseBuffer_int_
lea eax, [ebp - 0x101c]
push eax
push edi
lea ecx, [ebp - 0x1038]
mov dword [ebp - 0x101c], edi
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXStringW::GetBuffer_int_
push eax
push 0x2c
push ebx
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
test eax, eax
je 0x471ca6
push dword [ebp - 0x101c]
lea ecx, [ebp - 0x1038]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::ReleaseBuffer_int_
mov dword [ebp - 0x101c], 4
lea eax, [ebp - 0x1028]
push 0x4ea420
push eax
call fcn.0042ced0
pop ecx
pop ecx
mov dword [ebp - 0x102c], eax
mov ebx, dword [esi]
mov edi, 0xe8
lea ecx, [ebp - 0x1024]
mov byte [ebp - 4], 0xb
add ebx, edi
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXStringW::GetBSTR_void_const
mov ecx, dword [ebp - 0x102c]
push eax
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
push esi
call dword [ebx]
lea ecx, [ebp - 0x1028]
mov byte [ebp - 4], 8
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
lea eax, [ebp - 0x1028]
push 0x4ea43c
push eax
call fcn.0042ced0
pop ecx
pop ecx
mov ebx, dword [esi]
push dword [ebp - 0x1014]
mov ecx, eax
mov byte [ebp - 4], 0xc
add ebx, 0xd8
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
push esi
call dword [ebx]
lea ecx, [ebp - 0x1028]
mov byte [ebp - 4], 8
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
lea eax, [ebp - 0x102c]
push 0x4ea454
push eax
call fcn.0042ced0
pop ecx
pop ecx
mov dword [ebp - 0x1028], eax
mov ebx, dword [esi]
lea ecx, [ebp - 0x1030]
mov byte [ebp - 4], 0xd
add ebx, edi
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXStringW::GetBSTR_void_const
mov ecx, dword [ebp - 0x1028]
push eax
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
push esi
call dword [ebx]
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 8
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
lea eax, [ebp - 0x102c]
push 0x4ea478
push eax
call fcn.0042ced0
pop ecx
pop ecx
mov dword [ebp - 0x1028], eax
mov ebx, dword [esi]
lea ecx, [ebp - 0x1038]
mov byte [ebp - 4], 0xe
add ebx, edi
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXStringW::GetBSTR_void_const
mov ecx, dword [ebp - 0x1028]
push eax
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
push esi
call dword [ebx]
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 8
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
lea eax, [ebp - 0x103c]
push 0x4dcd18
push eax
call fcn.0042ced0
mov dword [ebp - 0x1028], eax
lea eax, [ebp - 0x1014]
push 0x4ea49c
push eax
mov byte [ebp - 4], 0xf
call fcn.0042ced0
add esp, 0x10
mov dword [ebp - 0x102c], eax
mov ebx, dword [esi]
mov ecx, dword [ebp - 0x1028]
mov byte [ebp - 4], 0x10
add ebx, edi
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
mov ecx, dword [ebp - 0x102c]
push eax
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
push esi
call dword [ebx]
lea ecx, [ebp - 0x1014]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
lea ecx, [ebp - 0x103c]
mov byte [ebp - 4], 8
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
lea eax, [ebp - 0x103c]
push 0x4ea4bc
push eax
call fcn.0042ced0
pop ecx
pop ecx
mov edi, dword [esi]
push 1
mov ecx, eax
mov byte [ebp - 4], 0x11
add edi, 0xcc
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
push esi
call dword [edi]
lea ecx, [ebp - 0x103c]
mov byte [ebp - 4], 8
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
lea eax, [ebp - 0x103c]
push 0x4ea408
push eax
call fcn.0042ced0
pop ecx
pop ecx
mov edi, dword [esi]
mov ebx, dword [ebp - 0x101c]
push ebx
mov ecx, eax
mov byte [ebp - 4], 0x12
add edi, 0xd0
call sym.QQProtectUpd.exe_public:_wchar_t____thiscall_CTXBSTR::operator_wchar_t__void_const
push eax
push esi
call dword [edi]
lea ecx, [ebp - 0x103c]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXBSTR::destructor_void_
mov eax, dword [ebp - 0x1040]
lea ecx, [ebp - 0x1038]
mov byte [eax], bl
mov byte [ebp - 4], 7
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x1030]
mov byte [ebp - 4], 6
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x1024]
mov byte [ebp - 4], 4
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x1034]
mov byte [ebp - 4], 2
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x1018]
mov byte [ebp - 4], 1
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
xor ebx, ebx
inc ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1020]
call sym.QQProtectUpd.exe_public:_void___thiscall_CTXStringW::destructor_void_
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.004cb642
leave
ret