Function at 0x4ae3b0
Capabilities:
Delete registry value
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
mov eax, dword [0x5153d4]
xor eax, ebp
mov dword [ebp - 4], eax
push str.tomb3
push str.SoftwareCore_DesignTomb_Raider_III
lea eax, [ebp - 0x104]
push str._s_s
push eax
call fcn.004216a0
add esp, 0x10
lea eax, [ebp - 0x104]
push 0x7cc928
push 0x7cc90c
push 0
push 0xf003f
push 0
push 0x50f980
push 0
push eax
push DirectSoundEnumerateA
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x4afa80
cmp dword [0x7cc928], 1
je 0x4afa80
mov eax, dword [0x7732a4]
push ebx
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp dword [eax], 0
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
je 0x4ae4a9
mov ebx, dword [0x7732a8]
lea eax, [ebp - 0x108]
push eax
push ebx
lea eax, [ebp - 0x110]
mov dword [ebp - 0x108], 4
push eax
push 0
push 0x5104dc
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4ae47f
cmp dword [ebp - 0x110], 4
jne 0x4ae47f
cmp dword [ebp - 0x108], 4
je 0x4ae4a9
push 4
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0
push eax
push 4
push 0
push 0x5104dc
push dword [0x7cc90c]
call esi
mov dword [ebx], 0
mov edx, dword [0x7732a8]
mov eax, dword [0x7732a4]
imul ecx, dword [edx], 0x3a0
mov eax, dword [eax + 4]
cmp dword [ecx + eax + 0x398], 0
je 0x4ae5a7
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea ebx, [edx + 4]
push ebx
lea eax, [ebp - 0x10c]
push eax
push 0
push 0x5104e0
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4ae50c
cmp dword [ebp - 0x10c], 4
jne 0x4ae50c
cmp dword [ebp - 0x108], 4
je 0x4ae536
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push 0x5104e0
push dword [0x7cc90c]
call esi
mov dword [ebx], 0
mov ebx, dword [0x7732a8]
lea eax, [ebp - 0x108]
push eax
add ebx, 0x10
mov dword [ebp - 0x108], 4
push ebx
lea eax, [ebp - 0x10c]
push eax
push 0
push str.D3DTF
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4ae57d
cmp dword [ebp - 0x10c], 4
jne 0x4ae57d
cmp dword [ebp - 0x108], 4
je 0x4ae5a7
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.D3DTF
push dword [0x7cc90c]
call esi
mov dword [ebx], 0
mov eax, dword [0x7732a4]
cmp dword [eax + 8], 0
je 0x4ae623
mov ebx, dword [0x7732a8]
lea eax, [ebp - 0x108]
push eax
add ebx, 8
mov dword [ebp - 0x108], 4
push ebx
lea eax, [ebp - 0x10c]
push eax
push 0
push 0x5104ec
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4ae5f9
cmp dword [ebp - 0x10c], 4
jne 0x4ae5f9
cmp dword [ebp - 0x108], 4
je 0x4ae623
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push 0x5104ec
push dword [0x7cc90c]
call esi
mov dword [ebx], 0
mov ebx, dword [0x7732a8]
lea eax, [ebp - 0x108]
push eax
add ebx, 0xc
mov dword [ebp - 0x108], 4
push ebx
lea eax, [ebp - 0x10c]
push eax
push 0
push 0x50f918
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4ae66a
cmp dword [ebp - 0x10c], 4
jne 0x4ae66a
cmp dword [ebp - 0x108], 4
je 0x4ae694
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push 0x50f918
push dword [0x7cc90c]
call esi
mov dword [ebx], 0
mov ebx, dword [0x7732a8]
lea eax, [ebp - 0x108]
push eax
add ebx, 0x14
mov dword [ebp - 0x108], 4
push ebx
lea eax, [ebp - 0x10c]
push eax
push 0
push str.zbuffer
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4ae6db
cmp dword [ebp - 0x10c], 4
jne 0x4ae6db
cmp dword [ebp - 0x108], 4
je 0x4ae705
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.zbuffer
push dword [0x7cc90c]
call esi
mov dword [ebx], 0
mov ebx, dword [0x7732a8]
lea eax, [ebp - 0x108]
push eax
add ebx, 0x18
mov dword [ebp - 0x108], 4
push ebx
lea eax, [ebp - 0x10c]
push eax
push 0
push str.dither
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4ae74c
cmp dword [ebp - 0x10c], 4
jne 0x4ae74c
cmp dword [ebp - 0x108], 4
je 0x4ae776
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.dither
push dword [0x7cc90c]
call esi
mov dword [ebx], 0
mov ebx, dword [0x7732a8]
lea eax, [ebp - 0x108]
push eax
add ebx, 0x1c
mov dword [ebp - 0x108], 4
push ebx
lea eax, [ebp - 0x10c]
push eax
push 0
push str.filter
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4ae7bd
cmp dword [ebp - 0x10c], 4
jne 0x4ae7bd
cmp dword [ebp - 0x108], 4
je 0x4ae7e7
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.filter
push dword [0x7cc90c]
call esi
mov dword [ebx], 0
mov ebx, dword [0x7732a8]
lea eax, [ebp - 0x108]
push eax
add ebx, 0x20
mov dword [ebp - 0x108], 4
push ebx
lea eax, [ebp - 0x10c]
push eax
push 0
push str.sound
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4ae82e
cmp dword [ebp - 0x10c], 4
jne 0x4ae82e
cmp dword [ebp - 0x108], 4
je 0x4ae858
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.sound
push dword [0x7cc90c]
call esi
mov dword [ebx], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
push 0x51548c
lea eax, [ebp - 0x10c]
push eax
push 0
push str.SFXVolume
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4ae89a
cmp dword [ebp - 0x10c], 4
jne 0x4ae89a
cmp dword [ebp - 0x108], 4
je 0x4ae8c8
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.SFXVolume
push dword [0x7cc90c]
call esi
mov dword [0x51548c], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
push 0x515480
lea eax, [ebp - 0x10c]
push eax
push 0
push str.MusicVolume
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4ae90a
cmp dword [ebp - 0x10c], 4
jne 0x4ae90a
cmp dword [ebp - 0x108], 4
je 0x4ae938
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.MusicVolume
push dword [0x7cc90c]
call esi
mov dword [0x515480], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x10c]
push eax
push 0
push str.Window
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4ae98b
cmp dword [ebp - 0x10c], 4
jne 0x4ae98b
cmp dword [ebp - 0x108], 4
jne 0x4ae98b
cmp dword [ebp - 0x110], eax
setne byte [0x7732f4]
jmp 0x4ae9b6
push 4
lea eax, [ebp - 0x114]
mov dword [ebp - 0x114], 0
push eax
push 4
push 0
push str.Window
push dword [0x7cc90c]
call esi
mov byte [0x7732f4], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
push 0x7732d0
lea eax, [ebp - 0x114]
push eax
push 0
push str.WindowX
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4ae9f8
cmp dword [ebp - 0x114], 4
jne 0x4ae9f8
cmp dword [ebp - 0x108], 4
je 0x4aea26
push 4
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0
push eax
push 4
push 0
push str.WindowX
push dword [0x7cc90c]
call esi
mov dword [0x7732d0], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
push 0x7732d4
lea eax, [ebp - 0x114]
push eax
push 0
push str.WindowY
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4aea68
cmp dword [ebp - 0x114], 4
jne 0x4aea68
cmp dword [ebp - 0x108], 4
je 0x4aea96
push 4
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0
push eax
push 4
push 0
push str.WindowY
push dword [0x7cc90c]
call esi
mov dword [0x7732d4], 0
xorps xmm2, xmm2
mov edx, 0x5167d4
mov ecx, str.Gamma
call fcn.004ad9b0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 0x1e
push eax
push str.HPKMSO6
lea eax, [ebp - 0x114]
push eax
push 0
push str.keyLayout
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4aeaea
cmp dword [ebp - 0x114], 3
jne 0x4aeaea
cmp dword [ebp - 0x108], 0x1e
je 0x4aeafb
push str.keyLayout
push dword [0x7cc90c]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
call fcn.004a5770
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.footprints
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4aeb53
cmp dword [ebp - 0x114], 4
jne 0x4aeb53
cmp dword [ebp - 0x108], 4
jne 0x4aeb53
cmp dword [ebp - 0x10c], eax
setne byte [0x773324]
jmp 0x4aeb7e
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.footprints
push dword [0x7cc90c]
call esi
mov byte [0x773324], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.pickup_display
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4aebd1
cmp dword [ebp - 0x114], 4
jne 0x4aebd1
cmp dword [ebp - 0x108], 4
jne 0x4aebd1
cmp dword [ebp - 0x10c], eax
setne byte [0x773325]
jmp 0x4aebfc
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.pickup_display
push dword [0x7cc90c]
call esi
mov byte [0x773325], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.improved_rain
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4aec4f
cmp dword [ebp - 0x114], 4
jne 0x4aec4f
cmp dword [ebp - 0x108], 4
jne 0x4aec4f
cmp dword [ebp - 0x10c], eax
setne byte [0x773326]
jmp 0x4aec7a
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.improved_rain
push dword [0x7cc90c]
call esi
mov byte [0x773326], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.improved_lasers
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4aeccd
cmp dword [ebp - 0x114], 4
jne 0x4aeccd
cmp dword [ebp - 0x108], 4
jne 0x4aeccd
cmp dword [ebp - 0x10c], eax
setne byte [0x773327]
jmp 0x4aecf8
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.improved_lasers
push dword [0x7cc90c]
call esi
mov byte [0x773327], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.uwdust
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4aed4b
cmp dword [ebp - 0x114], 4
jne 0x4aed4b
cmp dword [ebp - 0x108], 4
jne 0x4aed4b
cmp dword [ebp - 0x10c], eax
setne byte [0x773328]
jmp 0x4aed76
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.uwdust
push dword [0x7cc90c]
call esi
mov byte [0x773328], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.flexible_crawl
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4aedc9
cmp dword [ebp - 0x114], 4
jne 0x4aedc9
cmp dword [ebp - 0x108], 4
jne 0x4aedc9
cmp dword [ebp - 0x10c], eax
setne byte [0x773329]
jmp 0x4aedf4
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.flexible_crawl
push dword [0x7cc90c]
call esi
mov byte [0x773329], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.duck_roll
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4aee47
cmp dword [ebp - 0x114], 4
jne 0x4aee47
cmp dword [ebp - 0x108], 4
jne 0x4aee47
cmp dword [ebp - 0x10c], eax
setne byte [0x77332a]
jmp 0x4aee72
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.duck_roll
push dword [0x7cc90c]
call esi
mov byte [0x77332a], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.flexible_sprint
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4aeec5
cmp dword [ebp - 0x114], 4
jne 0x4aeec5
cmp dword [ebp - 0x108], 4
jne 0x4aeec5
cmp dword [ebp - 0x10c], eax
setne byte [0x77332b]
jmp 0x4aeef0
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.flexible_sprint
push dword [0x7cc90c]
call esi
mov byte [0x77332b], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.slide_to_run
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4aef43
cmp dword [ebp - 0x114], 4
jne 0x4aef43
cmp dword [ebp - 0x108], 4
jne 0x4aef43
cmp dword [ebp - 0x10c], eax
setne byte [0x77332c]
jmp 0x4aef6e
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.slide_to_run
push dword [0x7cc90c]
call esi
mov byte [0x77332c], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.kayak_mist
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4aefc1
cmp dword [ebp - 0x114], 4
jne 0x4aefc1
cmp dword [ebp - 0x108], 4
jne 0x4aefc1
cmp dword [ebp - 0x10c], eax
setne byte [0x77332d]
jmp 0x4aefec
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.kayak_mist
push dword [0x7cc90c]
call esi
mov byte [0x77332d], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.dozy
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af03f
cmp dword [ebp - 0x114], 4
jne 0x4af03f
cmp dword [ebp - 0x108], 4
jne 0x4af03f
cmp dword [ebp - 0x10c], eax
setne byte [0x77332e]
jmp 0x4af06a
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.dozy
push dword [0x7cc90c]
call esi
mov byte [0x77332e], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.disable_gamma
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af0bd
cmp dword [ebp - 0x114], 4
jne 0x4af0bd
cmp dword [ebp - 0x108], 4
jne 0x4af0bd
cmp dword [ebp - 0x10c], eax
setne byte [0x77332f]
jmp 0x4af0e8
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.disable_gamma
push dword [0x7cc90c]
call esi
mov byte [0x77332f], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.disable_ckey
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af13b
cmp dword [ebp - 0x114], 4
jne 0x4af13b
cmp dword [ebp - 0x108], 4
jne 0x4af13b
cmp dword [ebp - 0x10c], eax
setne byte [0x773330]
jmp 0x4af166
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.disable_ckey
push dword [0x7cc90c]
call esi
mov byte [0x773330], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.crawl_tilt
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af1b9
cmp dword [ebp - 0x114], 4
jne 0x4af1b9
cmp dword [ebp - 0x108], 4
jne 0x4af1b9
cmp dword [ebp - 0x10c], eax
setne byte [0x773331]
jmp 0x4af1e4
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.crawl_tilt
push dword [0x7cc90c]
call esi
mov byte [0x773331], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.improved_poison_bar
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af237
cmp dword [ebp - 0x114], 4
jne 0x4af237
cmp dword [ebp - 0x108], 4
jne 0x4af237
cmp dword [ebp - 0x10c], eax
setne byte [0x773332]
jmp 0x4af262
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.improved_poison_bar
push dword [0x7cc90c]
call esi
mov byte [0x773332], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.custom_water_color
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af2b5
cmp dword [ebp - 0x114], 4
jne 0x4af2b5
cmp dword [ebp - 0x108], 4
jne 0x4af2b5
cmp dword [ebp - 0x10c], eax
setne byte [0x773333]
jmp 0x4af2e0
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.custom_water_color
push dword [0x7cc90c]
call esi
mov byte [0x773333], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.psx_text_colors
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af333
cmp dword [ebp - 0x114], 4
jne 0x4af333
cmp dword [ebp - 0x108], 4
jne 0x4af333
cmp dword [ebp - 0x10c], eax
setne byte [0x773334]
jmp 0x4af35e
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.psx_text_colors
push dword [0x7cc90c]
call esi
mov byte [0x773334], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.upv_wake
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af3b1
cmp dword [ebp - 0x114], 4
jne 0x4af3b1
cmp dword [ebp - 0x108], 4
jne 0x4af3b1
cmp dword [ebp - 0x10c], eax
setne byte [0x773335]
jmp 0x4af3dc
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.upv_wake
push dword [0x7cc90c]
call esi
mov byte [0x773335], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.psx_fov
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af42f
cmp dword [ebp - 0x114], 4
jne 0x4af42f
cmp dword [ebp - 0x108], 4
jne 0x4af42f
cmp dword [ebp - 0x10c], eax
setne byte [0x773336]
jmp 0x4af45a
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.psx_fov
push dword [0x7cc90c]
call esi
mov byte [0x773336], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.psx_boxes
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af4ad
cmp dword [ebp - 0x114], 4
jne 0x4af4ad
cmp dword [ebp - 0x108], 4
jne 0x4af4ad
cmp dword [ebp - 0x10c], eax
setne byte [0x773337]
jmp 0x4af4d8
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.psx_boxes
push dword [0x7cc90c]
call esi
mov byte [0x773337], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.psx_mono
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af52b
cmp dword [ebp - 0x114], 4
jne 0x4af52b
cmp dword [ebp - 0x108], 4
jne 0x4af52b
cmp dword [ebp - 0x10c], eax
setne byte [0x773338]
jmp 0x4af556
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.psx_mono
push dword [0x7cc90c]
call esi
mov byte [0x773338], 0
cmp byte [0x77333e], 0
jne 0x4af5d6
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.psx_saving
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af5b2
cmp dword [ebp - 0x114], 4
jne 0x4af5b2
cmp dword [ebp - 0x108], 4
jne 0x4af5b2
cmp dword [ebp - 0x10c], eax
setne byte [0x773339]
jmp 0x4af5dd
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.psx_saving
push dword [0x7cc90c]
call esi
mov byte [0x773339], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.psx_crystal_sfx
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af630
cmp dword [ebp - 0x114], 4
jne 0x4af630
cmp dword [ebp - 0x108], 4
jne 0x4af630
cmp dword [ebp - 0x10c], eax
setne byte [0x77333a]
jmp 0x4af65b
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.psx_crystal_sfx
push dword [0x7cc90c]
call esi
mov byte [0x77333a], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.blue_crystal_light
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af6ae
cmp dword [ebp - 0x114], 4
jne 0x4af6ae
cmp dword [ebp - 0x108], 4
jne 0x4af6ae
cmp dword [ebp - 0x10c], eax
setne byte [0x77333b]
jmp 0x4af6d9
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.blue_crystal_light
push dword [0x7cc90c]
call esi
mov byte [0x77333b], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.improved_electricity
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af72c
cmp dword [ebp - 0x114], 4
jne 0x4af72c
cmp dword [ebp - 0x108], 4
jne 0x4af72c
cmp dword [ebp - 0x10c], eax
setne byte [0x77333c]
jmp 0x4af757
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 1
push eax
push 4
push 0
push str.improved_electricity
push dword [0x7cc90c]
call esi
mov byte [0x77333c], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x114]
push eax
push 0
push str.psx_contrast
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af7aa
cmp dword [ebp - 0x114], 4
jne 0x4af7aa
cmp dword [ebp - 0x108], 4
jne 0x4af7aa
cmp dword [ebp - 0x10c], eax
setne byte [0x77333d]
jmp 0x4af7d5
push 4
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push eax
push 4
push 0
push str.psx_contrast
push dword [0x7cc90c]
call esi
mov byte [0x77333d], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
push 0x77333f
lea eax, [ebp - 0x114]
push eax
push 0
push str.shadow_mode
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af817
cmp dword [ebp - 0x114], 4
jne 0x4af817
cmp dword [ebp - 0x108], 4
je 0x4af845
push 4
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x10c], 1
push eax
push 4
push 0
push str.shadow_mode
push dword [0x7cc90c]
call esi
mov dword [0x77333f], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
push 0x773343
lea eax, [ebp - 0x114]
push eax
push 0
push str.bar_mode
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af887
cmp dword [ebp - 0x114], 4
jne 0x4af887
cmp dword [ebp - 0x108], 4
je 0x4af8b5
push 4
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x10c], 1
push eax
push 4
push 0
push str.bar_mode
push dword [0x7cc90c]
call esi
mov dword [0x773343], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
push 0x773347
lea eax, [ebp - 0x114]
push eax
push 0
push str.sophia_rings
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af8f7
cmp dword [ebp - 0x114], 4
jne 0x4af8f7
cmp dword [ebp - 0x108], 4
je 0x4af925
push 4
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x10c], 1
push eax
push 4
push 0
push str.sophia_rings
push dword [0x7cc90c]
call esi
mov dword [0x773347], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
push 0x77334b
lea eax, [ebp - 0x114]
push eax
push 0
push str.bar_pos
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af967
cmp dword [ebp - 0x114], 4
jne 0x4af967
cmp dword [ebp - 0x108], 4
je 0x4af995
push 4
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0
push eax
push 4
push 0
push str.bar_pos
push dword [0x7cc90c]
call esi
mov dword [0x77334b], 0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], 4
push eax
push 0x77334f
lea eax, [ebp - 0x114]
push eax
push 0
push str.ammo_counter
push dword [0x7cc90c]
call edi
test eax, eax
jne 0x4af9d7
cmp dword [ebp - 0x114], 4
jne 0x4af9d7
cmp dword [ebp - 0x108], 4
je 0x4afa05
push 4
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0
push eax
push 4
push 0
push str.ammo_counter
push dword [0x7cc90c]
call esi
mov dword [0x77334f], 0
movss xmm2, dword [0x51077c]
mov edx, 0x773353
mov ecx, str.GUI_Scale
call fcn.004ad9b0
movss xmm2, dword [0x51077c]
mov edx, 0x773357
mov ecx, str.INV_Scale
call fcn.004ad9b0
movss xmm2, dword [0x510768]
mov edx, 0x77335b
mov ecx, str.unwater_music_mute
call fcn.004ad9b0
movss xmm2, dword [0x510768]
mov edx, 0x77335f
mov ecx, str.inv_music_mute
call fcn.004ad9b0
push dword [0x7cc90c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b557b
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x510830]
mov eax, 7
mov ecx, dword [ebp - 4]
mov word [0x515480], ax
xor ecx, ebp
mov eax, 0xa
mov byte [0x7732f4], 0
movups xmmword [0x77333f], xmm0
mov word [0x51548c], ax
xor al, al
movaps xmm0, xmmword [0x5108c0]
mov dword [0x773324], 0x1010101
mov dword [0x773328], 0x1010101
mov dword [0x77332c], 0x1000101
mov dword [0x773330], 0x1010100
mov dword [0x773334], 0x100
mov dword [0x773338], 0
mov word [0x77333c], 1
mov dword [0x77334f], 0
movups xmmword [0x773353], xmm0
call fcn.004b557b
mov esp, ebp
pop ebp
ret