Function at 0x48e7c0
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x118
mov eax, dword [0x4c933c]
mov ecx, dword [str.Jazz_Jackrabbit_2_Special_Edition]
mov edx, dword [str.Epic_MegaGames]
push edi
push eax
push ecx
push edx
lea eax, [esp + 0x28]
push str.Software_s_s_s
push eax
mov dword [esp + 0x28], 0x2c
mov byte [0x4f3436], 1
call fcn.004b57c2
add esp, 0x14
lea ecx, [esp + 0x18]
lea edx, [esp + 0x1c]
push ecx
push 0xf003f
push 0
push edx
push reloc.WSOCK32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x48e85d
push str.WIN:_First_time_startup__using_defaults
call fcn.0048edc0
mov eax, dword [0x4d049c]
or edi, 0xffffffff
add esp, 4
cmp eax, edi
jne 0x48e83f
mov dword [0x4d049c], 0
cmp dword [0x4d04c8], edi
jne 0x48ed1a
mov dword [0x4d04c8], 1
pop edi
add esp, 0x118
ret
mov al, byte [0x4f40a4]
push ebp
mov ebp, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push esi
test al, al
mov esi, 4
mov edi, 3
jne 0x48e8cd
mov al, byte [0x4d04b1]
mov dword [esp + 0xc], esi
test al, al
je 0x48e8c6
push str.System
call fcn.00492810
add esp, 4
lea eax, [esp + 0xc]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x14]
push eax
mov eax, dword [0x4f3418]
push ecx
push edx
push 0
push str.Last_VideoMode
push eax
call ebp
test eax, eax
jne 0x48e8c6
cmp dword [esp + 0xc], esi
jne 0x48e8c6
cmp dword [esp + 0x14], edi
jne 0x48e8c6
mov eax, dword [esp + 0x10]
jmp 0x48e8c8
xor eax, eax
mov byte [0x4f40a4], al
mov al, byte [0x4d04b1]
mov dword [esp + 0xc], esi
test al, al
je 0x48e91c
push str.System
call fcn.00492810
add esp, 4
lea ecx, [esp + 0xc]
lea edx, [esp + 0x14]
lea eax, [esp + 0x10]
push ecx
mov ecx, dword [0x4f3418]
push edx
push eax
push 0
push str.Free_Scale
push ecx
call ebp
test eax, eax
jne 0x48e91c
cmp dword [esp + 0xc], esi
jne 0x48e91c
cmp dword [esp + 0x10], edi
jne 0x48e91c
mov eax, dword [esp + 0x14]
jmp 0x48e91e
xor eax, eax
mov dword [0x4f40c8], eax
mov al, byte [0x4d04b1]
test al, al
mov dword [esp + 0xc], esi
je 0x48e972
push str.System
call fcn.00492810
add esp, 4
lea edx, [esp + 0xc]
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push edx
mov edx, dword [0x4f3418]
push eax
push ecx
push 0
push str.Music_Active
push edx
call ebp
test eax, eax
jne 0x48e972
cmp dword [esp + 0xc], esi
jne 0x48e972
mov eax, dword [esp + 0x10]
cmp eax, edi
mov eax, dword [esp + 0x14]
je 0x48e977
mov eax, 1
mov byte [0x4d04c5], al
mov al, byte [0x4d04b1]
test al, al
mov dword [esp + 0xc], esi
je 0x48e9ca
push str.System
call fcn.00492810
add esp, 4
lea eax, [esp + 0xc]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x10]
push eax
mov eax, dword [0x4f3418]
push ecx
push edx
push 0
push str.Music_Volume
push eax
call ebp
test eax, eax
jne 0x48e9ca
cmp dword [esp + 0xc], esi
jne 0x48e9ca
mov eax, dword [esp + 0x10]
cmp eax, edi
mov eax, dword [esp + 0x14]
je 0x48e9cf
mov eax, 0x50
mov dword [0x4d04d0], eax
mov al, byte [0x4d04b1]
test al, al
mov dword [esp + 0xc], esi
je 0x48ea23
push str.System
call fcn.00492810
add esp, 4
lea ecx, [esp + 0xc]
lea edx, [esp + 0x14]
lea eax, [esp + 0x10]
push ecx
mov ecx, dword [0x4f3418]
push edx
push eax
push 0
push str.Sound_FX_Active
push ecx
call ebp
test eax, eax
jne 0x48ea23
cmp dword [esp + 0xc], esi
jne 0x48ea23
mov eax, dword [esp + 0x10]
cmp eax, edi
mov eax, dword [esp + 0x14]
je 0x48ea28
mov eax, 1
mov byte [0x4d04c4], al
mov al, byte [0x4d04b1]
test al, al
mov dword [esp + 0xc], esi
je 0x48ea7c
push str.System
call fcn.00492810
add esp, 4
lea edx, [esp + 0xc]
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push edx
mov edx, dword [0x4f3418]
push eax
push ecx
push 0
push str.Sound_FX_Volume
push edx
call ebp
test eax, eax
jne 0x48ea7c
cmp dword [esp + 0xc], esi
jne 0x48ea7c
mov eax, dword [esp + 0x10]
cmp eax, edi
mov eax, dword [esp + 0x14]
je 0x48ea81
mov eax, 0x80
mov dword [0x4d04cc], eax
mov al, byte [0x4d04b1]
test al, al
mov dword [esp + 0xc], esi
je 0x48ead4
push str.System
call fcn.00492810
add esp, 4
lea eax, [esp + 0xc]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x10]
push eax
mov eax, dword [0x4f3418]
push ecx
push edx
push 0
push str.Sound_Mixing_Rate
push eax
call ebp
test eax, eax
jne 0x48ead4
cmp dword [esp + 0xc], esi
jne 0x48ead4
mov eax, dword [esp + 0x10]
cmp eax, edi
mov eax, dword [esp + 0x14]
je 0x48ead9
mov eax, 0x5622
mov dword [0x4d2694], eax
mov al, byte [0x4d04b1]
test al, al
mov dword [esp + 0xc], esi
je 0x48eb2d
push str.System
call fcn.00492810
add esp, 4
lea ecx, [esp + 0xc]
lea edx, [esp + 0x14]
lea eax, [esp + 0x10]
push ecx
mov ecx, dword [0x4f3418]
push edx
push eax
push 0
push str.Sound_Mixing_Options
push ecx
call ebp
test eax, eax
jne 0x48eb2d
cmp dword [esp + 0xc], esi
jne 0x48eb2d
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
cmp eax, edi
je 0x48eb32
mov esi, 0x8001
mov eax, dword [0x4d049c]
or edi, 0xffffffff
cmp eax, edi
jne 0x48eb9a
mov al, byte [0x4d04b1]
mov dword [esp + 0xc], 4
test al, al
je 0x48eb93
push str.System
call fcn.00492810
add esp, 4
lea edx, [esp + 0xc]
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push edx
mov edx, dword [0x4f3418]
push eax
push ecx
push 0
push 0x4d0a68
push edx
call ebp
test eax, eax
jne 0x48eb93
cmp dword [esp + 0xc], 4
jne 0x48eb93
cmp dword [esp + 0x10], 3
jne 0x48eb93
mov eax, dword [esp + 0x14]
jmp 0x48eb95
xor eax, eax
mov dword [0x4d049c], eax
mov al, byte [0x4d04b1]
test al, al
je 0x48ebcf
push str.System
call fcn.00492810
mov edx, dword [0x4f3418]
add esp, 4
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x18]
push eax
push 0x62bde0
push ecx
push 0
push str.Window_Position
push edx
call ebp
mov eax, dword [0x4f40c8]
xor ecx, ecx
test eax, eax
setne cl
and eax, 0xff
cmp ecx, eax
jne 0x48ecd7
mov al, byte [0x4d04c5]
xor edx, edx
test al, al
setne dl
xor ecx, ecx
mov cl, al
cmp edx, ecx
jne 0x48ecd7
mov eax, dword [0x4d2694]
mov ecx, 0x2b11
cdq
idiv ecx
test edx, edx
jne 0x48ecd7
mov al, byte [0x4d04b1]
mov dword [esp + 0xc], 4
test al, al
je 0x48ec6a
push str.System
call fcn.00492810
add esp, 4
lea edx, [esp + 0xc]
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push edx
mov edx, dword [0x4f3418]
push eax
push ecx
push 0
push str.Window_Snap_Presets
push edx
call ebp
test eax, eax
jne 0x48ec6a
cmp dword [esp + 0xc], 4
jne 0x48ec6a
cmp dword [esp + 0x10], 3
jne 0x48ec6a
mov eax, dword [esp + 0x14]
jmp 0x48ec6c
xor eax, eax
lea ecx, [eax*8]
mov dword [0x4f3444], eax
test eax, eax
mov dword [esp + 0x18], ecx
je 0x48ecb5
mov al, byte [0x4d04b1]
test al, al
je 0x48ecb5
push str.System
call fcn.00492810
mov ecx, dword [0x4f3418]
add esp, 4
lea edx, [esp + 0x18]
lea eax, [esp + 0x10]
push edx
push 0x4f2efc
push eax
push 0
push str.Window_Snap_Data
push ecx
call ebp
mov eax, dword [0x4d04c8]
mov edx, esi
and edx, 0xff
cmp eax, edi
mov dword [0x4d2690], edx
jne 0x48ed0d
shr esi, 0x1f
mov dword [0x4d04c8], esi
jmp 0x48ed0d
push 0
push 0x4908d0
push 0x92
call fcn.004931c0
add esp, 0xc
mov dword [0x4d049c], 0
mov byte [0x4d04c4], 1
mov byte [0x4d04c5], 1
mov dword [0x4d04c8], 1
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop esi
pop ebp
pop edi
add esp, 0x118
ret