Function at 0x6d664c41
Capabilities:
Get proxy
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0xbb0]
sub esp, 0xc30
mov eax, dword [0x6d671098]
xor eax, ebp
mov dword [ebp + 0xbac], eax
mov eax, dword [ebp + 0xbc0]
push ebx
push esi
mov esi, dword [ebp + 0xbb8]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0xbc4]
push edi
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x64]
push eax
push 0x20019
xor ebx, ebx
push ebx
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_Settings
push reloc.ws2_32.dll_accept
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x68], ebx
call dword [sym.imp.advapi32.dll_RegOpenKeyExA]
test eax, eax
jne 0x6d664f75
mov edi, dword [sym.imp.advapi32.dll_RegQueryValueExA]
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x7c]
push eax
push ebx
push str.ProxyEnable
push dword [ebp - 0x64]
mov dword [ebp - 0x60], 4
call edi
test eax, eax
jne 0x6d664f6c
cmp dword [ebp - 0x80], ebx
jbe 0x6d664f6c
mov byte [ebp + 0x3ac], al
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp + 0x3ac]
push eax
lea eax, [ebp - 0x7c]
push eax
push 0
push str.ProxyOverride
push dword [ebp - 0x64]
mov ebx, 0x400
mov dword [ebp - 0x60], ebx
call edi
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp + 0x7ac]
push eax
lea eax, [ebp - 0x7c]
push eax
push 0
push str.ProxyServer
push dword [ebp - 0x64]
mov dword [ebp - 0x60], ebx
mov byte [ebp + 0x7ac], 0
call edi
push dword [ebp - 0x64]
mov edi, eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
test edi, edi
jne 0x6d664f75
lea eax, [ebp + 0x3ac]
push eax
call sub.msvcr100.dll_strlen
pop ecx
test eax, eax
je 0x6d664dbe
mov edi, dword [sym.imp.msvcr100.dll_strtok]
mov ebx, 0x6d66d318
lea eax, [ebp + 0x3ac]
push ebx
push eax
call edi
pop ecx
pop ecx
lea ecx, [ebp - 0x55]
push ecx
push dword [ebp - 0x5c]
mov dword [ebp - 0x6c], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x2a4]
cmp dword [ebp - 0x6c], 0
mov dword [ebp - 0x74], eax
je 0x6d664da9
push dword [ebp - 0x6c]
call sub.msvcr100.dll_strlen
push eax
push dword [ebp - 0x74]
push dword [ebp - 0x6c]
call dword [sym.imp.msvcr100.dll_strncmp]
add esp, 0x10
test eax, eax
je 0x6d664e4c
push ebx
push 0
call edi
pop ecx
pop ecx
mov dword [ebp - 0x6c], eax
test eax, eax
jne 0x6d664d7b
cmp byte [ebp - 0x55], 1
jne 0x6d664dbe
push dword [ebp - 0x74]
mov eax, dword [esi]
push dword [ebp - 0x5c]
push esi
call dword [eax + 0x2a8]
mov eax, dword [esi]
lea ecx, [ebp - 0x55]
push ecx
push dword [ebp - 0x78]
push esi
call dword [eax + 0x2a4]
mov edi, eax
test edi, edi
je 0x6d664f75
push str.http
push edi
call sub.msvcr100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x6d664e0b
push 0x6d66d30c
push edi
call sub.msvcr100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x6d664e0b
push str.gopher
push edi
call sub.msvcr100.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x6d664e12
mov dword [ebp - 0x68], 0x50
push str.https
push edi
call sub.msvcr100.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x6d664e2a
mov dword [ebp - 0x68], 0x1bb
push str.socks
push edi
call sub.msvcr100.dll_strcmp
pop ecx
test eax, eax
mov eax, dword [esi]
pop ecx
jne 0x6d664e6a
push dword [0x6d671164]
mov dword [ebp - 0x68], 0x438
jmp 0x6d664e70
cmp byte [ebp - 0x55], 1
jne 0x6d664f75
push dword [ebp - 0x74]
mov eax, dword [esi]
push dword [ebp - 0x5c]
push esi
call dword [eax + 0x2a8]
jmp 0x6d664f75
push dword [0x6d671168]
push dword [0x6d67115c]
push esi
call dword [eax + 0x244]
push edi
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x54]
push 0x6d66d2f0
push eax
call dword [sym.imp.msvcr100.dll_sprintf]
add esp, 0xc
cmp byte [ebp - 0x55], 1
jne 0x6d664ea6
mov eax, dword [esi]
push edi
push dword [ebp - 0x78]
push esi
call dword [eax + 0x2a8]
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp + 0x7ac]
push eax
call dword [sym.imp.msvcr100.dll_strstr]
mov edi, dword [sym.imp.msvcr100.dll_strchr]
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x6d664ed3
lea eax, [ebp - 0x54]
push eax
call sub.msvcr100.dll_strlen
pop ecx
add ebx, eax
jmp 0x6d664eee
lea eax, [ebp + 0x7ac]
push 0x3d
push eax
call edi
pop ecx
pop ecx
test eax, eax
jne 0x6d664f75
lea ebx, [ebp + 0x7ac]
push 0x3b
push ebx
call edi
pop ecx
pop ecx
test eax, eax
je 0x6d664efc
mov byte [eax], 0
push 0x3a
push ebx
call edi
pop ecx
pop ecx
test eax, eax
je 0x6d664f1e
lea ecx, [ebp - 0x70]
push ecx
mov byte [eax], 0
inc eax
push 0x6d66d2ec
push eax
call dword [sym.imp.msvcr100.dll_sscanf]
add esp, 0xc
test ebx, ebx
je 0x6d664f75
cmp dword [ebp - 0x70], 0
jne 0x6d664f2e
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x70], eax
mov eax, dword [esi]
push ebx
push esi
call dword [eax + 0x29c]
push dword [ebp - 0x70]
mov ecx, dword [esi]
push eax
push dword [0x6d671174]
push dword [0x6d67116c]
push esi
call dword [ecx + 0x1c8]
mov ecx, dword [esi]
push eax
push dword [ebp - 0x5c]
push dword [0x6d671158]
push dword [0x6d671170]
push esi
call dword [ecx + 0x70]
add esp, 0x28
jmp 0x6d664f8a
push dword [ebp - 0x64]
call dword [sym.imp.advapi32.dll_RegCloseKey]
push dword [0x6d671160]
mov eax, dword [esi]
push dword [0x6d671170]
push esi
call dword [eax + 0x244]
mov ecx, dword [ebp + 0xbac]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.6d66b1da
add ebp, 0xbb0
leave
ret 0x10