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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x5c4e68]
xor eax, esp
mov dword [esp + 0x128], eax
push ebx
push esi
push edi
xor ebx, ebx
push 0x103
lea eax, [esp + 0x2d]
mov edi, ecx
push ebx
push eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
mov byte [esp + 0x34], bl
call fcn.005117f0
add esp, 0xc
cmp edi, ebx
je 0x421ad4
mov eax, edi
call fcn.004c3ab2
cmp dword [ebp + 8], ebx
mov dword [esp + 0x24], str.https
jne 0x421ae9
mov dword [esp + 0x24], str.http
lea eax, [esp + 0x18]
push eax
push 1
push ebx
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_Settings
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x421b1d
push str._GetLastError_
push str.:8:GetWindowsProxy___FAILED:_RegOpenKeyEx___FAILED:__s
call fcn.004265da
pop ecx
pop ecx
xor eax, eax
jmp 0x421cc3
mov esi, 0x104
push esi
lea eax, [esp + 0x2c]
push ebx
push eax
call fcn.005117f0
add esp, 0xc
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x2c]
push eax
push ebx
push ebx
push str.ProxyServer
push dword [esp + 0x2c]
mov dword [esp + 0x2c], 0x102
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x421ca6
cmp dword [esp + 0x14], ebx
jne 0x421b79
lea eax, [esp + 0x28]
push eax
push str.:8:GetWindowsProxy___encountered_a_problem:_dwDataSize__0_but_RegQueryValueEx___succeeded____s_
call fcn.004265da
pop ecx
pop ecx
mov dword [esp + 0x10], ebx
jmp 0x421b81
mov dword [esp + 0x10], 1
lea eax, [esp + 0x28]
push 0x53f18c
push eax
call fcn.00512350
test eax, eax
pop ecx
pop ecx
je 0x421c5f
lea eax, [esp + 0x20]
push eax
mov edi, 0x53f190
push edi
lea eax, [esp + 0x30]
mov dword [esp + 0x28], ebx
push eax
jmp 0x421bc7
push dword [esp + 0x24]
push eax
call fcn.00512a33
pop ecx
pop ecx
test eax, eax
lea eax, [esp + 0x20]
push eax
push edi
push ebx
je 0x421bd5
call fcn.005142fa
add esp, 0xc
cmp eax, ebx
jne 0x421bb0
jmp 0x421be3
call fcn.005142fa
mov edi, eax
add esp, 0xc
cmp edi, ebx
jne 0x421c25
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x2c]
push eax
push ebx
push ebx
push str.ProxyServer
push dword [esp + 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x28]
push str.:2:GetWindowsProxy___FAILED:_No__s_proxy_exists:__s
call fcn.00426c01
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp eax, ebx
je 0x421cb1
jmp 0x421cac
push esi
push dword [esp + 0x20]
push edi
call fcn.00467d56
add esp, 0xc
mov edx, eax
call fcn.004c3b34
test eax, eax
je 0x421cb5
push str.genpt
push edi
call fcn.004c48c1
pop ecx
pop ecx
test eax, eax
mov eax, dword [esp + 0x1c]
mov ecx, esi
je 0x421c5c
push str.10.26.98.97:80
jmp 0x421c9e
push edi
jmp 0x421c9e
push esi
lea eax, [esp + 0x2c]
push edi
push eax
call fcn.00467d56
add esp, 0xc
mov edx, eax
call fcn.004c3b34
test eax, eax
je 0x421cb5
lea eax, [esp + 0x28]
push str.genpt
push eax
call fcn.004c48c1
test eax, eax
pop ecx
pop ecx
mov ecx, esi
je 0x421c97
push str.10.26.98.97:80
jmp 0x421c9c
lea eax, [esp + 0x28]
push eax
mov eax, edi
call fcn.004c3b66
pop ecx
jmp 0x421cb5
cmp edi, ebx
je 0x421cb1
mov eax, edi
call fcn.004c3ab2
mov dword [esp + 0x10], ebx
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x134]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0051291c
mov esp, ebp
pop ebp
ret