Function at 0x404b40
Capabilities:
Set registry value

Disassembly:
sub esp, 0x28
lea eax, [esp + 0xc]
push ebp
mov ebp, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push esi
push edi
push eax
xor edi, edi
push 0x20019
push edi
push str.SOFTWARE
push SysReAllocString
call ebp
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x404b9a
lea ecx, [esp + 0x28]
lea edx, [esp + 0x18]
push ecx
push edx
push edi
push 0xf003f
push edi
push 0x437480
push edi
push str.SOFTWARE
push SysReAllocString
call esi
test eax, eax
jne 0x405501
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x1c]
push eax
push 0x20019
push edi
push str.Microsoft
push ecx
call ebp
test eax, eax
je 0x404bee
lea edx, [esp + 0x28]
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x1c]
push edx
push eax
push edi
push 0xf003f
push edi
push 0x437480
push edi
push str.Microsoft
push ecx
call esi
test eax, eax
je 0x404bee
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebp
add esp, 0x28
ret
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x20]
push eax
push 0x20019
push edi
push str.Windows
push ecx
call ebp
test eax, eax
je 0x404c4b
lea edx, [esp + 0x28]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x20]
push edx
push eax
push edi
push 0xf003f
push edi
push 0x437480
push edi
push str.Windows
push ecx
call esi
test eax, eax
je 0x404c4b
mov edx, dword [esp + 0x1c]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edx
call esi
mov eax, dword [esp + 0x18]
push eax
call esi
pop edi
pop esi
pop ebp
add esp, 0x28
ret
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x24]
push ecx
push 0x20019
push edi
push str.CurrentVersion
push edx
call ebp
test eax, eax
je 0x404c9d
lea eax, [esp + 0x28]
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x24]
push eax
push ecx
push edi
push 0xf003f
push edi
push 0x437480
push edi
push str.CurrentVersion
push edx
call esi
test eax, eax
je 0x404c9d
mov eax, dword [esp + 0x20]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push eax
jmp 0x4054f1
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x30]
push eax
push 0x20019
push edi
push str.Internet_Settings
push ecx
call ebp
test eax, eax
je 0x404cef
lea edx, [esp + 0x28]
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x30]
push edx
push eax
push edi
push 0xf003f
push edi
push 0x437480
push edi
push str.Internet_Settings
push ecx
call esi
test eax, eax
je 0x404cef
mov edx, dword [esp + 0x24]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edx
jmp 0x4054ea
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x2c]
push eax
push 0x2001f
push edi
push str.Zones
push ecx
call ebp
test eax, eax
jne 0x4054d8
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x10]
push ebx
push edx
push 0x2001f
push edi
push 0x432590
push eax
call ebp
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ebx, 1
test eax, eax
jne 0x4050fb
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.CurrentLevel
push edx
mov dword [esp + 0x28], 0x10000
call esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1001
push ecx
mov dword [esp + 0x28], edi
call esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1004
push eax
mov dword [esp + 0x28], ebx
call esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1200
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1201
push ecx
mov dword [esp + 0x28], ebx
call esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1400
push eax
mov dword [esp + 0x28], edi
call esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1402
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1405
push ecx
mov dword [esp + 0x28], edi
call esi
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1406
push eax
call esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1407
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1601
push ecx
mov dword [esp + 0x28], edi
call esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1604
push eax
mov dword [esp + 0x28], edi
call esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1605
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1606
push ecx
mov dword [esp + 0x28], edi
call esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1607
push eax
mov dword [esp + 0x28], edi
call esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1800
push edx
mov dword [esp + 0x28], edi
call esi
mov dword [esp + 0x10], edi
push 4
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x14]
push eax
push 4
push edi
push str.1802
push ecx
call esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1803
push eax
mov dword [esp + 0x28], edi
call esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1804
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1805
push ecx
mov dword [esp + 0x28], edi
call esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1A00
push eax
mov dword [esp + 0x28], edi
call esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1A02
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1A03
push ecx
mov dword [esp + 0x28], edi
call esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
mov ebp, CreateDirectoryA
push str.1C00
push eax
mov dword [esp + 0x28], ebp
call esi
mov dword [esp + 0x10], ebp
push 4
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push ecx
push 4
push edi
push str.1E05
push edx
call esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1608
push ecx
mov dword [esp + 0x28], edi
call esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1609
push eax
mov dword [esp + 0x28], ebx
call esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1A04
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1A05
push ecx
mov dword [esp + 0x28], edi
call esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1A06
push eax
mov dword [esp + 0x28], edi
call esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1A10
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1206
push ecx
mov dword [esp + 0x28], edi
call esi
mov dword [esp + 0x10], edi
push 4
lea edx, [esp + 0x14]
mov eax, dword [esp + 0x18]
push edx
push 4
push edi
push str.2001
push eax
call esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.2004
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.2101
push ecx
mov dword [esp + 0x28], edi
call esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.180B
push eax
mov dword [esp + 0x28], ebx
call esi
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebp, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x18]
push edx
push 0x2001f
push edi
push 0x432464
push eax
call ebp
test eax, eax
jne 0x4054c8
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.CurrentLevel
push edx
mov dword [esp + 0x28], 0x11000
call esi
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1001
push ecx
mov dword [esp + 0x28], ebx
call esi
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
mov ebp, 3
push str.1004
push eax
mov dword [esp + 0x28], ebp
call esi
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1200
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1201
push ecx
mov dword [esp + 0x28], ebp
call esi
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1400
push eax
mov dword [esp + 0x28], edi
call esi
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1402
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1405
push ecx
mov dword [esp + 0x28], edi
call esi
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1406
push eax
mov dword [esp + 0x28], ebp
call esi
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1407
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1601
push ecx
mov dword [esp + 0x28], edi
call esi
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1604
push eax
mov dword [esp + 0x28], edi
call esi
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1605
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1606
push ecx
mov dword [esp + 0x28], edi
call esi
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1607
push eax
mov dword [esp + 0x28], edi
call esi
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1800
push edx
mov dword [esp + 0x28], ebx
call esi
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1802
push ecx
call esi
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1803
push eax
mov dword [esp + 0x28], edi
call esi
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1804
push edx
mov dword [esp + 0x28], ebx
call esi
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1805
push ecx
mov dword [esp + 0x28], ebx
call esi
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1A00
push eax
mov dword [esp + 0x28], 0x20000
call esi
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1A02
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1A03
push ecx
mov dword [esp + 0x28], edi
call esi
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1C00
push eax
mov dword [esp + 0x28], 0x10000
call esi
mov dword [esp + 0x10], 0x20000
push 4
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push ecx
push 4
push edi
push str.1E05
push edx
call esi
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1A10
push ecx
mov dword [esp + 0x28], ebx
call esi
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1608
push eax
mov dword [esp + 0x28], edi
call esi
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1609
push edx
mov dword [esp + 0x28], ebx
call esi
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1A04
push ecx
mov dword [esp + 0x28], ebp
call esi
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x10]
push 4
push edx
push 4
push edi
push str.1A05
push eax
mov dword [esp + 0x28], ebx
call esi
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.1A06
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.1206
push ecx
mov dword [esp + 0x28], ebp
call esi
mov dword [esp + 0x10], edi
push 4
lea edx, [esp + 0x14]
mov eax, dword [esp + 0x1c]
push edx
push 4
push edi
push str.2001
push eax
call esi
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push 4
push ecx
push 4
push edi
push str.2004
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push edi
push str.180B
push ecx
mov dword [esp + 0x28], ebx
call esi
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esp + 0x30]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push eax
call esi
pop ebx
jmp 0x4054de
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x30]
push ecx
call esi
mov edx, dword [esp + 0x24]
push edx
call esi
mov eax, dword [esp + 0x20]
push eax
call esi
mov ecx, dword [esp + 0x1c]
push ecx
call esi
mov edx, dword [esp + 0x18]
push edx
call esi
pop edi
pop esi
pop ebp
add esp, 0x28
ret