Function at 0x420570
Capabilities:
Set registry value

Disassembly:
sub esp, 0xc
lea eax, [esp + 8]
lea ecx, [esp + 4]
push eax
push ecx
push 0
push 0x20006
push 0
push str.Settings
push 0
push str.SoftwareNeoPop
push reloc.DSOUND.dll_DirectSoundCreate
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x420af6
mov ecx, dword [esp + 4]
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push edi
lea eax, [esp + 8]
push 4
push eax
xor edx, edx
mov dx, word [0x445dec]
push 4
push 0
push str.comms_port
push ecx
mov dword [esp + 0x20], edx
call esi
mov edi, 0x445f00
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0xc]
repne scasb al, byte es:[edi]
not ecx
push ecx
push 0x445f00
push 1
push eax
push str.comms_remoteaddress
push edx
call esi
mov eax, dword [0x4454ac]
lea ecx, [esp + 8]
mov edx, dword [esp + 0xc]
push 4
push ecx
push 4
push 0
push str.zoom
push edx
mov dword [esp + 0x20], eax
call esi
mov eax, dword [0x4860ac]
lea ecx, [esp + 8]
mov edx, dword [esp + 0xc]
push 4
push ecx
push 4
push 0
push str.mute
push edx
mov dword [esp + 0x20], eax
call esi
mov eax, dword [0x445398]
lea ecx, [esp + 8]
mov edx, dword [esp + 0xc]
push 4
push ecx
push 4
push 0
push str.adaptoid
push edx
mov dword [esp + 0x20], eax
call esi
mov eax, dword [0x4454b0]
lea ecx, [esp + 8]
mov edx, dword [esp + 0xc]
push 4
push ecx
push 4
push 0
push str.misc_autopause
push edx
mov dword [esp + 0x20], eax
call esi
mov eax, dword [0x4454a8]
lea ecx, [esp + 8]
mov edx, dword [esp + 0xc]
push 4
push ecx
push 4
push 0
mov dword [esp + 0x18], eax
push str.misc_ontop
push edx
call esi
mov eax, dword [0x445f40]
lea ecx, [esp + 8]
mov edx, dword [esp + 0xc]
push 4
push ecx
push 4
push 0
push str.misc_stetchx
push edx
mov dword [esp + 0x20], eax
call esi
mov eax, dword [0x445df4]
lea ecx, [esp + 8]
mov edx, dword [esp + 0xc]
push 4
push ecx
push 4
push 0
push str.windowed
push edx
mov dword [esp + 0x20], eax
call esi
mov eax, dword [0x445f58]
lea ecx, [esp + 8]
mov edx, dword [esp + 0xc]
push 4
push ecx
push 4
push 0
push str.language
push edx
mov dword [esp + 0x20], eax
call esi
mov eax, dword [0x445f5c]
lea ecx, [esp + 8]
mov edx, dword [esp + 0xc]
push 4
push ecx
push 4
push 0
push str.colour
push edx
mov dword [esp + 0x20], eax
call esi
mov edi, 0x4454c0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
push 0x4454c0
push 1
push eax
mov eax, dword [esp + 0x1c]
push 0x43f544
push eax
call esi
mov edi, 0x4453a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
mov ecx, dword [esp + 0x10]
push 0x4453a0
push 1
push eax
push str.flash_dir
push ecx
call esi
mov edi, 0x445e00
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
push 0x445e00
push 1
push eax
mov edx, dword [esp + 0x1c]
push str.state_dir
push edx
call esi
mov edi, 0x4455e0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
push 0x4455e0
push 1
push eax
mov eax, dword [esp + 0x1c]
push str.mru0
push eax
call esi
mov edi, 0x4456e0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
mov ecx, dword [esp + 0x10]
push 0x4456e0
push 1
push eax
push str.mru1
push ecx
call esi
mov edi, 0x4457e0
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0xc]
repne scasb al, byte es:[edi]
not ecx
push ecx
push 0x4457e0
push 1
push eax
push str.mru2
push edx
call esi
mov edi, 0x4458e0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
push 0x4458e0
push 1
push eax
mov eax, dword [esp + 0x1c]
push str.mru3
push eax
call esi
mov edi, 0x4459e0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
mov ecx, dword [esp + 0x10]
push 0x4459e0
push 1
push eax
push str.mru4
push ecx
call esi
mov edi, 0x445ae0
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0xc]
repne scasb al, byte es:[edi]
not ecx
push ecx
push 0x445ae0
push 1
push eax
push str.mru5
push edx
call esi
mov edi, 0x445be0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
push 0x445be0
push 1
push eax
mov eax, dword [esp + 0x1c]
push str.mru6
push eax
call esi
mov edi, 0x445ce0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
mov ecx, dword [esp + 0x10]
push 0x445ce0
push 1
push eax
push str.mru7
push ecx
call esi
mov edx, dword [0x445394]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.last_rom_dir
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [0x445df0]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.last_state_dir
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [0x444dec]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.stick
push ecx
mov dword [esp + 0x20], edx
call esi
lea eax, [esp + 8]
xor edx, edx
mov ecx, dword [esp + 0xc]
mov dl, byte [0x44539c]
push 4
push eax
push 4
push 0
push str.system_frameskip_key
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [0x445f44]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
mov dword [esp + 0x18], edx
push str.button_a
push ecx
call esi
mov edx, dword [0x445f48]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.button_b
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [0x445f4c]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.button_o
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [0x445df8]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.auto_a
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [0x445dfc]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.auto_b
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [0x4455c0]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.key_a
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [0x4455c4]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.key_b
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [0x445de0]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.key_o
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [0x445de8]
mov dword [esp + 8], edx
mov ecx, dword [esp + 0xc]
lea eax, [esp + 8]
push 4
push eax
push 4
push 0
push str.key_u
push ecx
call esi
mov edx, dword [0x4455c8]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.key_d
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [0x4455cc]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.key_l
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [0x445de4]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.key_r
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [0x4454a4]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.mainview_x
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [0x4454a0]
lea eax, [esp + 8]
mov ecx, dword [esp + 0xc]
push 4
push eax
push 4
push 0
push str.mainview_y
push ecx
mov dword [esp + 0x20], edx
call esi
mov edx, dword [esp + 0xc]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
add esp, 0xc
ret