Function at 0x48df20
Capabilities:
Set registry value

Disassembly:
sub esp, 0x110
mov ecx, dword [0x4d2690]
mov al, byte [0x4f3436]
push edi
mov edi, dword [0x4d04c8]
neg edi
shl edi, 0x1f
add edi, ecx
test al, al
je 0x48e7b4
push ebx
push ebp
push esi
push str.WIN:_Writing_registry
call fcn.0048edc0
mov al, byte [0x4d124c]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
add esp, 4
cmp al, 4
je 0x48df6a
cmp al, 5
jne 0x48df9e
mov eax, dword [0x4f40a4]
push str.System
and eax, 0xff
mov dword [esp + 0x14], eax
call fcn.00492810
mov edx, dword [0x4f3418]
add esp, 4
lea ecx, [esp + 0x10]
push 4
push ecx
push 3
push 0
push str.Last_VideoMode
push edx
call esi
mov eax, dword [0x4f40c8]
push str.System
mov dword [esp + 0x14], eax
call fcn.00492810
mov edx, dword [0x4f3418]
add esp, 4
lea ecx, [esp + 0x10]
push 4
push ecx
push 3
push 0
push str.Free_Scale
push edx
call esi
xor eax, eax
push str.System
mov al, byte [0x4d04c5]
mov dword [esp + 0x14], eax
call fcn.00492810
mov edx, dword [0x4f3418]
add esp, 4
lea ecx, [esp + 0x10]
push 4
push ecx
push 3
push 0
push str.Music_Active
push edx
call esi
mov eax, dword [0x4d04d0]
push str.System
mov dword [esp + 0x14], eax
call fcn.00492810
mov edx, dword [0x4f3418]
add esp, 4
lea ecx, [esp + 0x10]
push 4
push ecx
push 3
push 0
push str.Music_Volume
push edx
call esi
mov eax, dword [0x4d04c4]
push str.System
and eax, 0xff
mov dword [esp + 0x14], eax
call fcn.00492810
mov edx, dword [0x4f3418]
add esp, 4
lea ecx, [esp + 0x10]
push 4
push ecx
push 3
push 0
push str.Sound_FX_Active
push edx
call esi
mov eax, dword [0x4d04cc]
push str.System
mov dword [esp + 0x14], eax
call fcn.00492810
mov edx, dword [0x4f3418]
add esp, 4
lea ecx, [esp + 0x10]
push 4
push ecx
push 3
push 0
push str.Sound_FX_Volume
push edx
call esi
mov ebx, str.System
mov dword [esp + 0x10], edi
mov eax, ebx
test eax, eax
jne 0x48e0a4
mov ebx, 0x4f3474
mov ebp, dword [0x4f3418]
test ebp, ebp
je 0x48e0e6
mov esi, 0x4f3478
mov eax, ebx
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x48e0d9
test cl, cl
je 0x48e0d5
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x48e0d9
add eax, 2
add esi, 2
test cl, cl
jne 0x48e0b5
xor eax, eax
jmp 0x48e0de
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x48e1c1
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
mov dword [reloc.WSOCK32.dll_accept], 0x80000001
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4f3478
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
test ebp, ebp
rep movsb byte es:[edi], byte [esi]
je 0x48e11d
push ebp
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x13
push 0x4c65f8
push ebx
call fcn.004b7060
add esp, 0xc
test eax, eax
jne 0x48e13e
mov dword [reloc.WSOCK32.dll_accept], 0x80000002
add ebx, 0x13
cmp byte [ebx], 0x5c
jne 0x48e168
lea edi, [ebx + 1]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4f2b38
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x48e18f
mov eax, dword [0x4c933c]
mov ecx, dword [str.Jazz_Jackrabbit_2_Special_Edition]
mov edx, dword [str.Epic_MegaGames]
push ebx
push eax
push ecx
push edx
push str.Software_s_s_s_s
push 0x4f2b38
call fcn.004b57c2
add esp, 0x18
lea eax, [esp + 0x14]
mov ecx, dword [reloc.WSOCK32.dll_accept]
push eax
push 0x4f3418
push 0
push 0xf003f
push 0
push 0x4eff30
push 0
push 0x4f2b38
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov ebp, dword [0x4f3418]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
lea edx, [esp + 0x10]
push 4
push edx
push 3
push 0
push str.Sound_Mixing_Options
push ebp
call edi
mov eax, dword [0x4d2694]
mov ebp, str.System
mov ecx, ebp
mov dword [esp + 0x10], eax
test ecx, ecx
jne 0x48e1f3
mov ebp, 0x4f3474
mov edx, dword [0x4f3418]
test edx, edx
je 0x48e235
mov esi, 0x4f3478
mov eax, ebp
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x48e228
test cl, cl
je 0x48e224
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x48e228
add eax, 2
add esi, 2
test cl, cl
jne 0x48e204
xor eax, eax
jmp 0x48e22d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x48e317
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
mov dword [reloc.WSOCK32.dll_accept], 0x80000001
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4f3478
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
test edx, edx
rep movsb byte es:[edi], byte [esi]
je 0x48e26c
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x13
push 0x4c65f8
push ebp
call fcn.004b7060
add esp, 0xc
test eax, eax
jne 0x48e28d
mov dword [reloc.WSOCK32.dll_accept], 0x80000002
add ebp, 0x13
cmp byte [ebp], 0x5c
jne 0x48e2b8
lea edi, [ebp + 1]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4f2b38
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x48e2df
mov eax, dword [0x4c933c]
mov ecx, dword [str.Jazz_Jackrabbit_2_Special_Edition]
mov edx, dword [str.Epic_MegaGames]
push ebp
push eax
push ecx
push edx
push str.Software_s_s_s_s
push 0x4f2b38
call fcn.004b57c2
add esp, 0x18
lea eax, [esp + 0x14]
mov ecx, dword [reloc.WSOCK32.dll_accept]
push eax
push 0x4f3418
push 0
push 0xf003f
push 0
push 0x4eff30
push 0
push 0x4f2b38
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov edx, dword [0x4f3418]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
lea eax, [esp + 0x10]
push 4
push eax
push 3
push 0
push str.Sound_Mixing_Rate
push edx
call edi
mov ecx, dword [0x4d049c]
mov ebp, str.System
mov edx, ebp
mov dword [esp + 0x10], ecx
test edx, edx
jne 0x48e344
mov ebp, 0x4f3474
mov edx, dword [0x4f3418]
test edx, edx
je 0x48e386
mov esi, 0x4f3478
mov eax, ebp
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x48e379
test cl, cl
je 0x48e375
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x48e379
add eax, 2
add esi, 2
test cl, cl
jne 0x48e355
xor eax, eax
jmp 0x48e37e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x48e468
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
mov dword [reloc.WSOCK32.dll_accept], 0x80000001
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4f3478
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
test edx, edx
rep movsb byte es:[edi], byte [esi]
je 0x48e3bd
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x13
push 0x4c65f8
push ebp
call fcn.004b7060
add esp, 0xc
test eax, eax
jne 0x48e3de
mov dword [reloc.WSOCK32.dll_accept], 0x80000002
add ebp, 0x13
cmp byte [ebp], 0x5c
jne 0x48e409
lea edi, [ebp + 1]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4f2b38
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x48e430
mov eax, dword [0x4c933c]
mov ecx, dword [str.Jazz_Jackrabbit_2_Special_Edition]
mov edx, dword [str.Epic_MegaGames]
push ebp
push eax
push ecx
push edx
push str.Software_s_s_s_s
push 0x4f2b38
call fcn.004b57c2
add esp, 0x18
lea eax, [esp + 0x14]
mov ecx, dword [reloc.WSOCK32.dll_accept]
push eax
push 0x4f3418
push 0
push 0xf003f
push 0
push 0x4eff30
push 0
push 0x4f2b38
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov edx, dword [0x4f3418]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
lea eax, [esp + 0x10]
push 4
push eax
push 3
push 0
push 0x4d0a68
push edx
call edi
mov ecx, dword [0x4f3444]
mov ebp, str.System
mov edx, ebp
mov dword [esp + 0x10], ecx
test edx, edx
jne 0x48e495
mov ebp, 0x4f3474
mov edx, dword [0x4f3418]
test edx, edx
je 0x48e4d7
mov esi, 0x4f3478
mov eax, ebp
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x48e4ca
test cl, cl
je 0x48e4c6
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x48e4ca
add eax, 2
add esi, 2
test cl, cl
jne 0x48e4a6
xor eax, eax
jmp 0x48e4cf
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x48e5b9
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
mov dword [reloc.WSOCK32.dll_accept], 0x80000001
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4f3478
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
test edx, edx
rep movsb byte es:[edi], byte [esi]
je 0x48e50e
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x13
push 0x4c65f8
push ebp
call fcn.004b7060
add esp, 0xc
test eax, eax
jne 0x48e52f
mov dword [reloc.WSOCK32.dll_accept], 0x80000002
add ebp, 0x13
cmp byte [ebp], 0x5c
jne 0x48e55a
lea edi, [ebp + 1]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4f2b38
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x48e581
mov eax, dword [0x4c933c]
mov ecx, dword [str.Jazz_Jackrabbit_2_Special_Edition]
mov edx, dword [str.Epic_MegaGames]
push ebp
push eax
push ecx
push edx
push str.Software_s_s_s_s
push 0x4f2b38
call fcn.004b57c2
add esp, 0x18
lea eax, [esp + 0x14]
mov ecx, dword [reloc.WSOCK32.dll_accept]
push eax
push 0x4f3418
push 0
push 0xf003f
push 0
push 0x4eff30
push 0
push 0x4f2b38
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov edx, dword [0x4f3418]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
lea eax, [esp + 0x10]
push 4
push eax
push 3
push 0
push str.Window_Snap_Presets
push edx
call edi
mov ecx, dword [0x4f3444]
mov ebp, str.System
mov eax, ebp
lea edx, [ecx*8]
test eax, eax
mov dword [esp + 0x10], edx
jne 0x48e5ed
mov ebp, 0x4f3474
mov edx, dword [0x4f3418]
test edx, edx
je 0x48e62f
mov esi, 0x4f3478
mov eax, ebp
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x48e622
test cl, cl
je 0x48e61e
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x48e622
add eax, 2
add esi, 2
test cl, cl
jne 0x48e5fe
xor eax, eax
jmp 0x48e627
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x48e711
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
mov dword [reloc.WSOCK32.dll_accept], 0x80000001
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4f3478
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
test edx, edx
rep movsb byte es:[edi], byte [esi]
je 0x48e666
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x13
push 0x4c65f8
push ebp
call fcn.004b7060
add esp, 0xc
test eax, eax
jne 0x48e687
mov dword [reloc.WSOCK32.dll_accept], 0x80000002
add ebp, 0x13
cmp byte [ebp], 0x5c
jne 0x48e6b2
lea edi, [ebp + 1]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4f2b38
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x48e6d9
mov eax, dword [0x4c933c]
mov ecx, dword [str.Jazz_Jackrabbit_2_Special_Edition]
mov edx, dword [str.Epic_MegaGames]
push ebp
push eax
push ecx
push edx
push str.Software_s_s_s_s
push 0x4f2b38
call fcn.004b57c2
add esp, 0x18
lea eax, [esp + 0x14]
mov ecx, dword [reloc.WSOCK32.dll_accept]
push eax
push 0x4f3418
push 0
push 0xf003f
push 0
push 0x4eff30
push 0
push 0x4f2b38
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov edx, dword [0x4f3418]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [esp + 0x10]
push eax
push 0x4f2efc
push 3
push 0
push str.Window_Snap_Data
push edx
call edi
mov al, byte [0x62be08]
pop esi
pop ebp
pop ebx
test al, al
je 0x48e759
push str.System
call fcn.00492810
mov ecx, dword [0x4f3418]
add esp, 4
push 0x2c
push 0x62bde0
push 3
push 0
push str.Window_Position
push ecx
call edi
mov edx, dword [0x4c933c]
mov eax, dword [str.Jazz_Jackrabbit_2_Special_Edition]
mov ecx, dword [str.Epic_MegaGames]
push edx
push eax
push ecx
lea edx, [esp + 0x20]
push str.Software_s_s_s
push edx
call fcn.004b57c2
add esp, 0x14
lea eax, [esp + 0x10]
lea ecx, [esp + 0xc]
lea edx, [esp + 0x14]
push eax
push ecx
push 0
push 0xf003f
push 0
push 0x4eff30
push 0
push edx
push reloc.WSOCK32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov eax, dword [esp + 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
add esp, 0x110
ret