Function at 0x41c720
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x474f50
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push esi
push edi
mov eax, dword [0x4b700c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0x20], ebx
call fcn.00403a70
mov ecx, eax
test ecx, ecx
je 0x41d008
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x14], esi
mov dword [ebp - 4], 1
mov byte [ebp - 4], 2
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov byte [ebp - 4], 3
push str.SOFTWAREMicrosoftWindowsCurrentVersionInternet_Settings
lea ecx, [ebp - 0x18]
call fcn.004026c0
mov byte [ebp - 4], 4
sub esp, 0x14
push dword [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x3c]
call fcn.0045d960
test eax, eax
je 0x41c962
push str.Failed_to_create_the_registry_Internet_Settings
lea ecx, [ebp - 0x14]
call fcn.0045d070
lea ecx, [ebp - 0x3c]
call fcn.0045da30
push ecx
mov dword [ebp - 0x28], esp
mov dword [ebp - 0x24], esp
mov esi, dword [ebp - 0x14]
add esi, 0xfffffff0
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
lea eax, [esi + 0xc]
cmp dword [eax], 0
jl 0x41c7f4
cmp ecx, dword [esi]
jne 0x41c7f4
mov edi, esi
lock inc dword [eax]
jmp 0x41c821
mov eax, dword [ecx]
push 2
push dword [esi + 4]
call dword [eax]
mov edi, eax
test edi, edi
je 0x41d012
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov edx, dword [esi + 4]
inc edx
push edx
lea eax, [esi + 0x10]
push eax
lea ecx, [edi + 0x10]
call fcn.004031c0
add esp, 8
lea eax, [edi + 0x10]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov byte [ebp - 4], 5
mov byte [ebp - 4], 6
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.ProxyEnableAndSettingsIE_KB_10634
call fcn.0045d100
mov byte [ebp - 4], 7
mov byte [ebp - 4], 4
or ecx, 0xffffffff
call fcn.0045f800
add esp, 4
mov ecx, esp
mov dword [ebp - 0x28], esp
push 0x48780e
call fcn.0045d100
mov byte [ebp - 4], 8
push ecx
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x24], esp
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
lea eax, [esi + 0xc]
cmp dword [eax], 0
jl 0x41c88a
cmp ecx, dword [esi]
jne 0x41c88a
mov edi, esi
lock inc dword [eax]
jmp 0x41c8b7
mov eax, dword [ecx]
push 2
push dword [esi + 4]
call dword [eax]
mov edi, eax
test edi, edi
je 0x41d017
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov edx, dword [esi + 4]
inc edx
push edx
lea eax, [esi + 0x10]
push eax
lea ecx, [edi + 0x10]
call fcn.004031c0
add esp, 8
lea eax, [edi + 0x10]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov byte [ebp - 4], 9
mov byte [ebp - 4], 0xa
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.Failure
call fcn.0045d100
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 4
mov ecx, ebx
call fcn.0045fd10
add esp, 0xc
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
or edi, 0xffffffff
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c90e
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x41c927
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 4], 0xd
mov dword [ebp - 4], 0xffffffff
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x41c94e
mov ecx, dword [esi]
mov eax, dword [ecx]
push esi
call dword [eax + 4]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x24], 1
push 4
lea eax, [ebp - 0x24]
push eax
push 4
push 0
push str.ProxyEnable
push dword [ebp - 0x3c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x41cb39
push str._Failed_to_update_the_registry_ProxyEnable
lea ecx, [ebp - 0x14]
call fcn.0045cef0
lea ecx, [ebp - 0x3c]
call fcn.0045da30
push ecx
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x24], esp
mov esi, dword [ebp - 0x14]
add esi, 0xfffffff0
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
lea eax, [esi + 0xc]
cmp dword [eax], 0
jl 0x41c9c7
cmp ecx, dword [esi]
jne 0x41c9c7
mov edi, esi
lock inc dword [eax]
jmp 0x41c9f4
mov eax, dword [ecx]
push 2
push dword [esi + 4]
call dword [eax]
mov edi, eax
test edi, edi
je 0x41d01c
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov edx, dword [esi + 4]
inc edx
push edx
lea eax, [esi + 0x10]
push eax
lea ecx, [edi + 0x10]
call fcn.004031c0
add esp, 8
lea eax, [edi + 0x10]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xf
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.ProxyEnableAndSettingsIE_KB_10634
call fcn.0045d100
mov byte [ebp - 4], 0x10
mov byte [ebp - 4], 4
or ecx, 0xffffffff
call fcn.0045f800
add esp, 4
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x48780e
call fcn.0045d100
mov byte [ebp - 4], 0x11
push ecx
mov dword [ebp - 0x28], esp
mov dword [ebp - 0x24], esp
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
lea eax, [esi + 0xc]
cmp dword [eax], 0
jl 0x41ca5d
cmp ecx, dword [esi]
jne 0x41ca5d
mov edi, esi
lock inc dword [eax]
jmp 0x41ca8a
mov eax, dword [ecx]
push 2
push dword [esi + 4]
call dword [eax]
mov edi, eax
test edi, edi
je 0x41d021
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov edx, dword [esi + 4]
inc edx
push edx
lea eax, [esi + 0x10]
push eax
lea ecx, [edi + 0x10]
call fcn.004031c0
add esp, 8
lea eax, [edi + 0x10]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 0x13
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.Failure
call fcn.0045d100
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 4
mov ecx, ebx
call fcn.0045fd10
add esp, 0xc
mov byte [ebp - 4], 0x15
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
or edi, 0xffffffff
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41cae1
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x41cafa
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 4], 0x16
mov dword [ebp - 4], 0xffffffff
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x41c94e
mov ecx, dword [esi]
mov eax, dword [ecx]
push esi
call dword [eax + 4]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x48780e
call fcn.0045d100
mov byte [ebp - 4], 0x17
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.Updated_Internet_Explorer_Settings__Please_restart_Internet_Explorer.
call fcn.0045d100
mov byte [ebp - 4], 0x18
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.Success
call fcn.0045d100
mov byte [ebp - 4], 0x19
mov byte [ebp - 4], 4
mov ecx, ebx
call fcn.0045fd10
add esp, 0xc
push str._local_
lea ecx, [ebp - 0x1c]
call fcn.0045d100
mov byte [ebp - 4], 0x1a
sub esp, 0xc
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
call fcn.0045d910
test eax, eax
je 0x41cd7c
push str._Failed_to_update_the_registry_ProxyOverride
lea ecx, [ebp - 0x14]
call fcn.0045cef0
lea ecx, [ebp - 0x3c]
call fcn.0045da30
push ecx
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x24], esp
mov esi, dword [ebp - 0x14]
add esi, 0xfffffff0
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
lea eax, [esi + 0xc]
cmp dword [eax], 0
jl 0x41cbe8
cmp ecx, dword [esi]
jne 0x41cbe8
mov edi, esi
lock inc dword [eax]
jmp 0x41cc15
mov eax, dword [ecx]
push 2
push dword [esi + 4]
call dword [eax]
mov edi, eax
test edi, edi
je 0x41d026
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov edx, dword [esi + 4]
inc edx
push edx
lea eax, [esi + 0x10]
push eax
lea ecx, [edi + 0x10]
call fcn.004031c0
add esp, 8
lea eax, [edi + 0x10]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov byte [ebp - 4], 0x1b
mov byte [ebp - 4], 0x1c
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.ProxyEnableAndSettingsIE_KB_10634
call fcn.0045d100
mov byte [ebp - 4], 0x1d
mov byte [ebp - 4], 0x1a
or ecx, 0xffffffff
call fcn.0045f800
add esp, 4
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x48780e
call fcn.0045d100
mov byte [ebp - 4], 0x1e
push ecx
mov dword [ebp - 0x28], esp
mov dword [ebp - 0x24], esp
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
lea eax, [esi + 0xc]
cmp dword [eax], 0
jl 0x41cc7e
cmp ecx, dword [esi]
jne 0x41cc7e
mov edi, esi
lock inc dword [eax]
jmp 0x41ccab
mov eax, dword [ecx]
push 2
push dword [esi + 4]
call dword [eax]
mov edi, eax
test edi, edi
je 0x41d02b
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov edx, dword [esi + 4]
inc edx
push edx
lea eax, [esi + 0x10]
push eax
lea ecx, [edi + 0x10]
call fcn.004031c0
add esp, 8
lea eax, [edi + 0x10]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov byte [ebp - 4], 0x1f
mov byte [ebp - 4], 0x20
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.Failure
call fcn.0045d100
mov byte [ebp - 4], 0x21
mov byte [ebp - 4], 0x1a
mov ecx, ebx
call fcn.0045fd10
add esp, 0xc
mov byte [ebp - 4], 0x22
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
or edi, 0xffffffff
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41cd02
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 0x23
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41cd24
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x41cd3d
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 4], 0x24
mov dword [ebp - 4], 0xffffffff
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x41c94e
mov ecx, dword [esi]
mov eax, dword [ecx]
push esi
call dword [eax + 4]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x3c]
call fcn.0045da30
mov byte [ebp - 4], 0x25
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
or edi, 0xffffffff
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41cda9
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 0x26
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41cdcb
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x41cde4
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 4], 0x27
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x41ce0e
mov ecx, dword [esi]
mov eax, dword [ecx]
push esi
call dword [eax + 4]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00403850
call fcn.004031b0
call fcn.004031b0
call fcn.004031b0
call fcn.004031b0
call fcn.004031b0
call fcn.004031b0
call fcn.004031b0
call fcn.004031b0
int3