Function at 0x411a20
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x174
call fcn.00411750
lea eax, [esp + 4]
push eax
push 0x20019
push 0
push str.SoftwareEmulatorsSnes9X1.31
push reloc.WSOCK32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x412320
mov edx, dword [esp + 4]
push ebx
push ebp
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [esp + 0xc]
push edi
push ecx
push 0x716668
push eax
push eax
mov edi, 1
push 0x4a8da8
push edx
mov dword [esp + 0x28], edi
call esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x73827d
push 0
push 0
push str.Stereo_Sound
push ecx
mov dword [esp + 0x28], edi
call esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x716670
push 0
push 0
mov ebx, 4
push str.Width
push eax
mov dword [esp + 0x28], ebx
call esi
test eax, eax
je 0x411ac9
mov dword [0x716670], 0x280
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x716674
push 0
push 0
push str.Height
push edx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
je 0x411af5
mov dword [0x716674], 0x1e0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x716678
push 0
push 0
push str.Depth
push ecx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
mov ebp, 0x10
je 0x411b22
mov dword [0x716678], ebp
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x71667c
push 0
push 0
push str.Scale
push eax
mov dword [esp + 0x28], ebx
call esi
test eax, eax
je 0x411b4e
mov dword [0x71667c], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [0x71667c]
lea edx, [esp + 0x10]
mov dword [0x716680], ecx
push edx
push 0x716684
push 0
push 0
push str.DoubleBuffered
push eax
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411b83
mov byte [0x716684], 0
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x73829c
push 0
push 0
push str.Show_FPS
push edx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411bac
mov byte [0x73829c], 0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x738293
push 0
push 0
push str.Render_SixteenBit
push ecx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411bd5
mov byte [0x738293], 1
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x738294
push 0
push 0
push str.Enable_Transparency
push eax
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411bfe
mov byte [0x738294], 1
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x738295
push 0
push 0
push str.Support_HiRes
push edx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411c27
mov byte [0x738295], 1
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x73824c
push 0
push 0
push str.Skip_Frames
push ecx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
je 0x411c53
mov dword [0x73824c], 0xc8
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x738330
push 0
push 0
push str.Turbo_Skip_Frames
push eax
mov dword [esp + 0x28], ebx
call esi
test eax, eax
je 0x411c7f
mov dword [0x738330], 0xf
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x7166c2
push 0
push 0
push str.Turbo_Mode_Toggle
push edx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411ca8
mov byte [0x7166c2], 0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x738334
push 0
push 0
push str.Auto_Max_Skip_Frames
push ecx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
je 0x411cd4
mov dword [0x738334], 0xa
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x738296
push 0
push 0
push str.Bi_Linear_Filter_Mode7
push eax
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411cfd
mov byte [0x738296], 0
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x4a7e70
push 0
push 0
mov ebx, 0x24
push str.Joypad_1
push edx
mov dword [esp + 0x28], ebx
call esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x4a7e94
push 0
push 0
push str.Joypad_2
push ecx
mov dword [esp + 0x28], ebx
call esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x4a7eb8
push 0
push 0
push str.Joypad_3
push eax
mov dword [esp + 0x28], ebx
call esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x4a7edc
push 0
push 0
push str.Joypad_4
push edx
mov dword [esp + 0x28], ebx
call esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x4a7f00
push 0
push 0
push str.Joypad_5
push ecx
mov dword [esp + 0x28], ebx
call esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x71668c
push 0
push 0
push str.Window_Geometry
push eax
mov dword [esp + 0x28], ebp
call esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x716686
push 0
push 0
push str.Stretch
push edx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411ddf
mov byte [0x716686], 0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x716685
push 0
push 0
push str.Fullscreen
push ecx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411e08
mov byte [0x716685], 0
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x738278
push 0
push 0
mov ebp, 4
push 0x4a8d98
push eax
mov dword [esp + 0x28], ebp
call esi
test eax, eax
je 0x411e39
mov dword [0x738278], 0x5622
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x73827d
push 0
push 0
push str.Stereo_Sound
push edx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411e62
mov byte [0x73827d], 1
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x73827f
push 0
push 0
push str.16bit_Sound
push ecx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411e8b
mov byte [0x73827f], 1
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x73828d
push 0
push 0
push str.Interpolated_Sound
push eax
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411eb4
mov byte [0x73828d], 1
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x73828c
push 0
push 0
push str.Sync_Sound
push edx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411edd
mov byte [0x73828c], 0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x738288
push 0
push 0
push str.Sound_Envelope_Height_Reading
push ecx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411f06
mov byte [0x738288], 1
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x73827e
push 0
push 0
push str.Reverse_Stereo
push eax
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411f2f
mov byte [0x73827e], 0
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x738289
push 0
push 0
push str.Disable_Echo
push edx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411f58
mov byte [0x738289], 0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x73828a
push 0
push 0
push str.Disable_Sample_Caching
push ecx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411f81
mov byte [0x73828a], 0
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x73828b
push 0
push 0
push str.Disable_Master_Volume
push eax
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411faa
mov byte [0x73828b], 0
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x73828f
push 0
push 0
push str.Mute_Sound
push edx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411fd3
mov byte [0x73828f], 0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x738291
push 0
push 0
push str.Alt_Sample_Code_Method
push ecx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x411ffc
mov byte [0x738291], 0
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x738290
push 0
push 0
push str.Enable_SPC700
push eax
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x412025
mov byte [0x738290], 1
mov eax, dword [esp + 0x14]
mov cl, byte [0x738290]
lea edx, [esp + 0x10]
mov byte [0x738220], cl
push edx
push 0x738222
push 0
push 0
push str.Sound_CPU_Skip_Method
push eax
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x41205a
mov byte [0x738222], 0
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x71666c
push 0
push 0
push str.Paused_Frames_Before_Muting_Sound
push edx
mov dword [esp + 0x28], ebp
call esi
test eax, eax
je 0x412086
mov dword [0x71666c], 0x14
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x738280
push 0
push 0
push str.Sound_Buffer_Length
push ecx
mov dword [esp + 0x28], ebp
call esi
test eax, eax
je 0x4120ae
mov dword [0x738280], edi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x738284
push 0
push 0
push str.Sound_Mix_Interval
push eax
mov dword [esp + 0x28], ebp
call esi
test eax, eax
mov ebx, 0xa
je 0x4120db
mov dword [0x738284], ebx
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x738344
push 0
push 0
push str.Sound_Driver
push edx
mov dword [esp + 0x28], ebp
call esi
test eax, eax
je 0x412107
mov dword [0x738344], 0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x738328
push 0
push 0
push str.Auto_Save_Delay
push ecx
mov dword [esp + 0x28], ebp
call esi
test eax, eax
je 0x412133
mov dword [0x738328], 0x1e
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x73832c
push 0
push 0
push 0x4a8afc
push eax
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x41215c
mov byte [0x73832c], 1
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x738320
push 0
push 0
push str.NetPlay_Port
push edx
mov dword [esp + 0x28], ebp
call esi
test eax, eax
je 0x412188
mov dword [0x738320], 0x7cc
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x7c8125
push 0
push 0
push str.NetPlay_Sync_By_Reset
push ecx
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x4121b1
mov byte [0x7c8125], 1
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x7c8124
push 0
push 0
push str.NetPlay_Send_ROM_On_Connect
push eax
mov dword [esp + 0x28], edi
call esi
test eax, eax
je 0x4121da
mov byte [0x7c8124], 0
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
push 0x7c5c6c
push 0
push 0
push str.NetPlay_Max_Frame_Skip
push edx
mov dword [esp + 0x28], ebp
call esi
test eax, eax
je 0x412202
mov dword [0x7c5c6c], ebx
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
push 0x7c5c70
push 0
push 0
push str.NetPlay_Max_Behind_Frame_Count
push ecx
mov dword [esp + 0x28], ebp
call esi
test eax, eax
je 0x41222a
mov dword [0x7c5c70], ebx
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x10]
push edx
push 0x71677c
push 0
push 0
mov ebx, 0x105
push str.Freeze_File_Directory
push eax
mov dword [esp + 0x28], ebx
call esi
or ebp, 0xffffffff
xor edi, edi
inc ebp
inc edi
push edi
lea ecx, [esp + 0x1c]
push str.Recent_Game__d
push ecx
call fcn.00496365
add esp, 0xc
lea edx, [esp + 0x10]
lea eax, [esp + 0x7c]
lea ecx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x18]
push eax
push 0
push 0
push ecx
push edx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
je 0x412252
test ebp, ebp
jle 0x412303
lea eax, [ebp*4 + 4]
push eax
call fcn.00497380
add esp, 4
xor edi, edi
mov dword [0x716884], eax
mov dword [eax + ebp*4], 0
test ebp, ebp
jle 0x412303
lea ebx, [edi + 1]
lea ecx, [esp + 0x18]
push ebx
push str.Recent_Game__d
push ecx
call fcn.00496365
add esp, 0xc
lea edx, [esp + 0x10]
lea eax, [esp + 0x7c]
lea ecx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x18]
push eax
push 0
push 0
push ecx
push edx
mov dword [esp + 0x28], 0x105
call esi
lea eax, [esp + 0x7c]
push eax
call fcn.0049d280
mov ecx, dword [0x716884]
add esp, 4
mov dword [ecx + edi*4], eax
mov edi, ebx
cmp edi, ebp
jl 0x4122af
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebp
mov byte [0x716687], 1
pop ebx
add esp, 0x174
ret
mov byte [0x716687], 1
add esp, 0x174
ret