Function at 0x405872
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x190
lea eax, [ebp - 0x18c]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
je 0x40589c
xor eax, eax
jmp 0x405cf6
mov dword [ebp - 0x180], 0x400
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x190], 8
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ax, word [edx + 0x22c]
test eax, eax
je 0x405a57
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dx, word [ecx + 0x22c]
test edx, edx
jle 0x4058fb
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax + 0x22c]
cmp ecx, 0x10
jge 0x4058fb
mov edx, dword [ebp + 0xc]
mov word [edx + 0x22c], 0x10
mov eax, dword [ebp - 0x190]
mov dword [ebp + eax - 0x180], 0x20
mov ecx, dword [ebp - 0x190]
add ecx, 4
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x190]
mov dword [ebp + edx - 0x180], 2
mov eax, dword [ebp - 0x190]
add eax, 4
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov dword [ebp + ecx - 0x180], 0x20001
mov edx, dword [ebp - 0x190]
add edx, 4
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp + 0xc]
mov dx, word [ecx + 0x22c]
mov word [ebp + eax - 0x180], dx
mov eax, dword [ebp - 0x190]
add eax, 2
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp + 0xc]
mov ax, word [edx + 0x22c]
mov word [ebp + ecx - 0x180], ax
mov ecx, dword [ebp - 0x190]
add ecx, 2
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x190]
mov dword [ebp + edx - 0x180], 0
mov eax, dword [ebp - 0x190]
add eax, 4
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov dword [ebp + ecx - 0x180], 0x1fff0
mov edx, dword [ebp - 0x190]
add edx, 4
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp + 0xc]
mov dx, word [ecx + 0x22c]
mov word [ebp + eax - 0x180], dx
mov eax, dword [ebp - 0x190]
add eax, 2
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp + 0xc]
mov ax, word [edx + 0x22c]
mov word [ebp + ecx - 0x180], ax
mov ecx, dword [ebp - 0x190]
add ecx, 2
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x190]
mov dword [ebp + edx - 0x180], 0xe3c00000
mov eax, dword [ebp - 0x190]
add eax, 4
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov dword [ebp + ecx - 0x180], 0x10
mov edx, dword [ebp - 0x190]
add edx, 4
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x190]
mov dword [ebp + eax - 0x180], 4
mov ecx, dword [ebp - 0x190]
add ecx, 4
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x190]
mov word [ebp + edx - 0x180], 0
mov eax, dword [ebp - 0x190]
add eax, 2
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp + 0xc]
mov ax, word [edx + 4]
mov word [ebp + ecx - 0x180], ax
mov ecx, dword [ebp - 0x190]
add ecx, 2
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x190]
mov word [ebp + edx - 0x180], 0
mov eax, dword [ebp - 0x190]
add eax, 4
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x188], 0
jmp 0x405b14
mov ecx, dword [ebp - 0x188]
add ecx, 1
mov dword [ebp - 0x188], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x188]
cmp eax, dword [edx + 0x2b0]
jge 0x405c9e
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp + 0xc]
mov ax, word [edx + ecx*2 + 0x21c]
mov word [ebp - 0x184], ax
mov ecx, dword [ebp - 0x190]
mov dword [ebp + ecx - 0x180], 0x20
mov edx, dword [ebp - 0x190]
add edx, 4
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x190]
mov dword [ebp + eax - 0x180], 2
mov ecx, dword [ebp - 0x190]
add ecx, 4
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x190]
mov dword [ebp + edx - 0x180], 0x20001
mov eax, dword [ebp - 0x190]
add eax, 4
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov dx, word [ebp - 0x184]
mov word [ebp + ecx - 0x180], dx
mov eax, dword [ebp - 0x190]
add eax, 2
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x184]
and ecx, 0xffff
add ecx, 7
mov edx, dword [ebp - 0x190]
mov word [ebp + edx - 0x180], cx
mov eax, dword [ebp - 0x190]
add eax, 2
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov dword [ebp + ecx - 0x180], 0
mov edx, dword [ebp - 0x190]
add edx, 4
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x190]
mov dword [ebp + eax - 0x180], 0x8fff0
mov ecx, dword [ebp - 0x190]
add ecx, 4
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x190]
mov ax, word [ebp - 0x184]
mov word [ebp + edx - 0x180], ax
mov ecx, dword [ebp - 0x190]
add ecx, 2
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x190]
mov ax, word [ebp - 0x184]
mov word [ebp + edx - 0x180], ax
mov ecx, dword [ebp - 0x190]
add ecx, 2
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x190]
mov dword [ebp + edx - 0x180], 0xe3c00000
mov eax, dword [ebp - 0x190]
add eax, 4
mov dword [ebp - 0x190], eax
jmp 0x405b05
mov ecx, dword [ebp - 0x190]
mov dword [ebp + ecx - 0x180], 0
mov edx, dword [ebp - 0x190]
add edx, 4
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x190]
push eax
lea ecx, [ebp - 0x180]
push ecx
push 3
push 0
mov edx, dword [str.ForcedConfig]
push edx
mov eax, dword [ebp - 0x18c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp - 0x18c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
mov esp, ebp
pop ebp
ret