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

Disassembly:
push ebp
lea ebp, [esp - 0xbb0]
sub esp, 0xc30
mov eax, dword [0x100120b4]
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 0x1000158f
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 0x10001586
cmp dword [ebp - 0x80], ebx
jbe 0x10001586
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 0x1000158f
lea eax, [ebp + 0x3ac]
push eax
call sub.msvcr100.dll_strlen
pop ecx
test eax, eax
je 0x100013c9
mov edi, dword [sym.imp.msvcr100.dll_strtok]
mov ebx, 0x1000d418
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]
mov dword [ebp - 0x74], eax
test eax, eax
jne 0x10001380
mov eax, dword [esi]
push esi
call dword [eax + 0x390]
test al, al
jne 0x10001379
push 0
push esi
call sub.java.dll__JNU_ThrowOutOfMemoryError_8
xor eax, eax
jmp 0x100015a4
cmp dword [ebp - 0x6c], 0
je 0x100013b4
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 0x10001453
push ebx
push 0
call edi
pop ecx
pop ecx
mov dword [ebp - 0x6c], eax
test eax, eax
jne 0x10001386
cmp byte [ebp - 0x55], 1
jne 0x100013c9
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 0x10001364
push str.http
push edi
call sub.msvcr100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10001412
push 0x1000d40c
push edi
call sub.msvcr100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10001412
push str.gopher
push edi
call sub.msvcr100.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x10001419
mov dword [ebp - 0x68], 0x50
push str.https
push edi
call sub.msvcr100.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x10001431
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 0x10001471
push dword [0x1001212c]
mov dword [ebp - 0x68], 0x438
jmp 0x10001477
cmp byte [ebp - 0x55], 1
jne 0x1000158f
push dword [ebp - 0x74]
mov eax, dword [esi]
push dword [ebp - 0x5c]
push esi
call dword [eax + 0x2a8]
jmp 0x1000158f
push dword [0x10012130]
push dword [0x10012124]
push esi
call dword [eax + 0x244]
push edi
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x54]
push 0x1000d3f0
push eax
call dword [sym.imp.msvcr100.dll_sprintf]
add esp, 0xc
cmp byte [ebp - 0x55], 1
jne 0x100014ad
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 0x100014da
lea eax, [ebp - 0x54]
push eax
call sub.msvcr100.dll_strlen
pop ecx
add ebx, eax
jmp 0x100014f5
lea eax, [ebp + 0x7ac]
push 0x3d
push eax
call edi
pop ecx
pop ecx
test eax, eax
jne 0x1000158f
lea ebx, [ebp + 0x7ac]
push 0x3b
push ebx
call edi
pop ecx
pop ecx
test eax, eax
je 0x10001503
mov byte [eax], 0
push 0x3a
push ebx
call edi
pop ecx
pop ecx
test eax, eax
je 0x10001525
lea ecx, [ebp - 0x70]
push ecx
mov byte [eax], 0
inc eax
push 0x1000d3ec
push eax
call dword [sym.imp.msvcr100.dll_sscanf]
add esp, 0xc
test ebx, ebx
je 0x1000158f
cmp dword [ebp - 0x70], 0
jne 0x10001535
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x70], eax
mov eax, dword [esi]
push ebx
push esi
call dword [eax + 0x29c]
test eax, eax
je 0x10001379
push dword [ebp - 0x70]
mov ecx, dword [esi]
push eax
push dword [0x1001213c]
push dword [0x10012134]
push esi
call dword [ecx + 0x1c8]
add esp, 0x14
test eax, eax
je 0x10001379
mov ecx, dword [esi]
push eax
push dword [ebp - 0x5c]
push dword [0x10012120]
push dword [0x10012138]
push esi
call dword [ecx + 0x70]
add esp, 0x14
jmp 0x100015a4
push dword [ebp - 0x64]
call dword [sym.imp.advapi32.dll_RegCloseKey]
push dword [0x10012128]
mov eax, dword [esi]
push dword [0x10012138]
push esi
call dword [eax + 0x244]
mov ecx, dword [ebp + 0xbac]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1000c212
add ebp, 0xbb0
leave
ret 0x10