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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x594d6f
mov eax, dword fs:[0]
push eax
sub esp, 0x64c
mov eax, dword [0x5fae30]
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 esi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x62c], ebx
mov edi, 0xf
xor ecx, ecx
mov dword [ebp - 0x644], esi
mov dword [ebp - 0x5f4], edi
mov dword [ebp - 0x5f8], ebx
mov byte [ebp - 0x608], bl
mov word [ebp - 0x5ec], cx
mov dword [ebp - 0x5d4], edi
mov dword [ebp - 0x5d8], ebx
mov byte [ebp - 0x5e8], bl
mov dword [ebp - 0x5b8], edi
mov dword [ebp - 0x5bc], ebx
mov byte [ebp - 0x5cc], bl
mov dword [ebp - 0x5b0], ebx
mov dword [ebp - 0x5ac], ebx
mov dword [ebp - 0x5a8], ebx
mov dword [ebp - 4], ebx
cmp dword [eax + 0x10], ebx
jne 0x4acae3
lea edx, [ebp - 0x608]
push edx
mov ecx, esi
call fcn.004056ff
jmp 0x4ad0b1
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x530]
mov dword [ebp - 0x51c], edi
mov dword [ebp - 0x520], ebx
mov byte [ebp - 0x530], bl
call fcn.004077b1
push 0x3c
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_Settings
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 1
call fcn.00403dd2
cmp dword [ebp - 0x51c], 0x10
mov eax, dword [ebp - 0x530]
jae 0x4acb2f
lea eax, [ebp - 0x530]
lea ecx, [ebp - 0x630]
push ecx
push 0x20019
push ebx
push eax
push reloc.WS2_32.dll_closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x4acb7d
lea edx, [ebp - 0x608]
push edx
mov ecx, esi
call fcn.004056ff
cmp dword [ebp - 0x51c], 0x10
jb 0x4acb72
mov eax, dword [ebp - 0x530]
push eax
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x51c], edi
jmp 0x4ad0a5
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [ebp - 0x638]
push ecx
mov ecx, dword [ebp - 0x630]
lea edx, [ebp - 0x648]
push edx
lea eax, [ebp - 0x634]
push eax
push ebx
push str.ProxyEnable
push ecx
mov dword [ebp - 0x648], ebx
mov dword [ebp - 0x634], ebx
mov dword [ebp - 0x638], 4
call edi
test eax, eax
jne 0x4ad068
cmp dword [ebp - 0x634], 4
jne 0x4ad068
cmp dword [ebp - 0x648], ebx
je 0x4ad068
push 0x103
lea edx, [ebp - 0x113]
push ebx
push edx
mov byte [ebp - 0x114], bl
call fcn.005409b0
add esp, 0xc
lea eax, [ebp - 0x638]
push eax
mov eax, dword [ebp - 0x630]
lea ecx, [ebp - 0x114]
push ecx
lea edx, [ebp - 0x634]
push edx
push ebx
push str.ProxyServer
push eax
mov dword [ebp - 0x638], 0x104
call edi
test eax, eax
jne 0x4ad040
cmp dword [ebp - 0x634], 1
jne 0x4ad040
lea eax, [ebp - 0x114]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4acc45
sub eax, edx
je 0x4ad040
push 0x3ff
lea ecx, [ebp - 0x513]
push ebx
push ecx
mov byte [ebp - 0x514], bl
call fcn.005409b0
add esp, 0xc
lea edx, [ebp - 0x638]
push edx
mov edx, dword [ebp - 0x630]
lea eax, [ebp - 0x514]
push eax
lea ecx, [ebp - 0x634]
push ecx
push ebx
push str.ProxyOverride
push edx
mov dword [ebp - 0x638], 0x400
call edi
mov eax, dword [ebp - 0x630]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x570], 0xf
mov dword [ebp - 0x574], ebx
mov byte [ebp - 0x584], bl
lea ecx, [ebp - 0x114]
push 0x5b7b90
push ecx
mov byte [ebp - 4], 2
mov dword [ebp - 0x640], ebx
call fcn.005407d0
add esp, 8
test eax, eax
je 0x4acfb7
mov dword [ebp - 0x658], ebx
mov dword [ebp - 0x654], ebx
mov dword [ebp - 0x650], ebx
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 3
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4acd05
sub eax, esi
push 0x3b
push eax
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0x540]
push eax
call fcn.00405853
add esp, 0x10
push eax
lea ecx, [ebp - 0x658]
mov byte [ebp - 4], 4
call fcn.0040562d
lea ecx, [ebp - 0x540]
mov byte [ebp - 4], 3
call fcn.00405abf
mov ecx, dword [ebp - 0x654]
mov edi, dword [ebp - 0x658]
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
mov dword [ebp - 0x63c], ebx
je 0x4acfa0
lea ecx, [ebp - 0x5a0]
push edi
push ecx
call fcn.004072ca
push eax
lea edx, [ebp - 0x568]
push edx
mov byte [ebp - 4], 5
call fcn.004069b0
add esp, 0x10
lea ecx, [ebp - 0x5a0]
mov byte [ebp - 4], 7
call fcn.0040583f
push 4
lea eax, [ebp - 0x568]
push eax
lea ecx, [ebp - 0x624]
push ecx
call fcn.0040196a
or dword [ebp - 0x62c], 2
push str.http
push eax
mov byte [ebp - 4], 8
call fcn.004089d6
add esp, 0x14
test al, al
je 0x4ace11
push 5
lea edx, [ebp - 0x568]
push edx
lea eax, [ebp - 0x54c]
push eax
call fcn.0040196a
or dword [ebp - 0x62c], 4
push str.https
push eax
mov dword [ebp - 4], 9
call fcn.00405173
add esp, 0x14
mov byte [ebp - 0x625], 1
test al, al
jne 0x4ace17
mov byte [ebp - 0x625], bl
test byte [ebp - 0x62c], 4
je 0x4ace32
and dword [ebp - 0x62c], 0xfffffffb
lea ecx, [ebp - 0x54c]
call fcn.0040583f
test byte [ebp - 0x62c], 2
mov dword [ebp - 4], 7
je 0x4ace54
and dword [ebp - 0x62c], 0xfffffffd
lea ecx, [ebp - 0x624]
call fcn.0040583f
cmp byte [ebp - 0x625], bl
je 0x4acec2
mov eax, 0xf
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0x590], ebx
mov byte [ebp - 0x5a0], bl
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x53c], ebx
mov byte [ebp - 0x54c], bl
lea ecx, [ebp - 0x54c]
push ecx
lea edx, [ebp - 0x5a0]
push edx
lea eax, [ebp - 0x568]
push eax
push 0x3d
mov byte [ebp - 4], 0xb
call fcn.00408a6c
add esp, 0x10
test al, al
jne 0x4acf03
lea ecx, [ebp - 0x54c]
call fcn.0040583f
lea ecx, [ebp - 0x5a0]
call fcn.0040583f
lea ecx, [ebp - 0x568]
mov byte [ebp - 4], 3
call fcn.0040583f
mov eax, dword [ebp - 0x63c]
inc eax
add edi, 0x1c
mov dword [ebp - 0x63c], eax
cmp eax, esi
jb 0x4acd73
lea ecx, [ebp - 0x658]
mov byte [ebp - 4], 2
call fcn.00405abf
mov esi, dword [ebp - 0x644]
jmp 0x4ad00a
lea ecx, [ebp - 0x640]
push ecx
lea edx, [ebp - 0x584]
push edx
lea eax, [ebp - 0x54c]
push eax
call fcn.00401cdf
add esp, 0xc
test al, al
jne 0x4acf7f
mov esi, dword [ebp - 0x644]
lea ecx, [ebp - 0x608]
push ecx
mov ecx, esi
call fcn.004056ff
lea ecx, [ebp - 0x54c]
call fcn.0040583f
lea ecx, [ebp - 0x5a0]
call fcn.0040583f
lea ecx, [ebp - 0x568]
call fcn.0040583f
lea ecx, [ebp - 0x658]
call fcn.00405abf
lea ecx, [ebp - 0x584]
call fcn.0040583f
lea ecx, [ebp - 0x530]
call fcn.0040583f
jmp 0x4ad0b1
lea ecx, [ebp - 0x54c]
call fcn.0040583f
lea ecx, [ebp - 0x5a0]
call fcn.0040583f
lea ecx, [ebp - 0x568]
call fcn.0040583f
lea ecx, [ebp - 0x658]
mov byte [ebp - 4], 2
call fcn.00405abf
mov esi, dword [ebp - 0x644]
jmp 0x4ad00a
lea edx, [ebp - 0x114]
push edx
lea ecx, [ebp - 0x568]
call fcn.00403dfa
lea eax, [ebp - 0x640]
push eax
lea ecx, [ebp - 0x584]
push ecx
lea edx, [ebp - 0x568]
push edx
mov byte [ebp - 4], 0xc
call fcn.00401cdf
add esp, 0xc
test al, al
lea ecx, [ebp - 0x568]
sete byte [ebp - 0x625]
mov byte [ebp - 4], 2
call fcn.0040583f
cmp byte [ebp - 0x625], bl
jne 0x4ad02d
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x584]
push ecx
lea ecx, [ebp - 0x608]
call fcn.004077b1
mov dx, word [ebp - 0x640]
mov word [ebp - 0x5ec], dx
lea eax, [ebp - 0x608]
push eax
mov ecx, esi
call fcn.004056ff
jmp 0x4acf64
mov ecx, dword [ebp - 0x630]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x608]
push edx
mov ecx, esi
call fcn.004056ff
lea ecx, [ebp - 0x530]
call fcn.0040583f
jmp 0x4ad0b1
mov eax, dword [ebp - 0x630]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x608]
push ecx
mov ecx, esi
call fcn.004056ff
cmp dword [ebp - 0x51c], 0x10
jb 0x4ad09b
mov edx, dword [ebp - 0x530]
push edx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x51c], 0xf
mov byte [ebp - 0x530], bl
mov dword [ebp - 0x520], ebx
lea ecx, [ebp - 0x608]
call fcn.00408585
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.0053fd20
mov esp, ebp
pop ebp
ret