Function at 0x45ea10
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x5f8800]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0x40
lea eax, [ebp - 0x44]
mov dword [ebp - 0x50], 4
push 0
push eax
mov esi, ecx
call sub.VCRUNTIME140.dll_memset
or eax, 0xffffffff
add esp, 0xc
mov word [esi + 0x18c040], ax
mov word [esi + 0x18c080], ax
or eax, eax
mov dword [esi + 0x18c082], eax
mov dword [esi + 0x18c086], eax
mov word [esi + 0x18c08a], ax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
mov byte [esi + 0x18dab3], 2
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareHB_NemesisSettings
push reloc.DSOUND.dll_DirectSoundCreate
mov word [esi + 0x18bf93], 0x100
mov dword [esi + 0x18bf8c], 0x10100
mov word [esi + 0x18bf90], 1
mov byte [esi + 0x18bf92], 1
mov word [esi + 0x189592], 0x101
mov word [esi + 0x194af4], 0x101
mov byte [esi + 0x189654], 0
mov byte [esi + 0x1e], 4
mov byte [esi + 0x18bf95], 0
mov dword [esi + 0x18bfbc], 0x1010100
mov dword [esi + 0x18bfc0], 0x1010101
mov byte [esi + 0x18bf76], 0
mov byte [esi + 0x13c679], 0
mov word [esi + 0x13c694], 0x101
mov word [esi + 0x18bfcf], 0x101
mov byte [esi + 0x13f1a0], 1
mov dword [esi + 0x13f1a4], 1
mov dword [esi + 0x13f1a8], 0xe
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x45f1b3
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.Magic
push dword [ebp - 0x48]
call edi
test eax, eax
je 0x45eb64
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005aa550
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x4c]
lea eax, [ecx - 1]
cmp eax, 0x63
ja 0x45eb77
lea eax, [ecx - 1]
movzx eax, ax
jmp 0x45eb7a
or eax, 0xffffffff
mov word [esi + 0x18c040], ax
mov eax, dword [sym.imp.USER32.dll_wsprintfA]
push ebx
xor ebx, ebx
mov dword [ebp - 0x54], eax
nop dword [eax]
push 0x40
lea eax, [ebp - 0x44]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push ebx
lea eax, [ebp - 0x44]
push str.ShortCut_d
push eax
call dword [ebp - 0x54]
add esp, 0x18
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
mov ecx, dword [ebp - 0x4c]
lea eax, [ecx - 1]
cmp eax, 0xc7
ja 0x45ebdf
lea eax, [ecx - 1]
movzx eax, ax
jmp 0x45ebe2
or eax, 0xffffffff
mov word [esi + ebx*2 + 0x18c082], ax
inc ebx
cmp ebx, 5
jl 0x45eb90
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.DetailLevel
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
mov ecx, dword [ebp - 0x4c]
lea eax, [ecx - 1]
cmp eax, 2
ja 0x45ec21
dec cl
mov byte [esi + 0x18dab3], cl
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ZoomMap
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bf94], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.PlaySound
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x189592], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.PlayMusic
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x189593], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.Shout
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x194af5], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.Whisper
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x194af4], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.DialogTrans
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x189654], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.Language
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
mov al, byte [ebp - 0x4c]
mov byte [esi + 0x1e], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.Resolution
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
movsx eax, byte [ebp - 0x4c]
mov dword [esi + 0x13f1ac], eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.Font_Style
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
movsx eax, byte [ebp - 0x4c]
mov dword [esi + 0x13f1a4], eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.Font_Size
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
movsx eax, byte [ebp - 0x4c]
mov dword [esi + 0x13f1a8], eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ShowFPS
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
mov byte [esi + 0x18bf8e], 0
sete al
mov byte [esi + 0x18bf8c], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.PitsMinimap
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bf8d], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ShowGrid
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bf8f], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.SendPresence
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bf90], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ChatStyle
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bf91], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ShowShake
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bf92], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ShowTime
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bf93], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ShowServerTime
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bf95], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ShowPing
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bfbc], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ShowBuffIcons
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bfbd], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ShowExpProgress
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bfbe], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ShowSkillProgress
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bfbf], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.AutoReconnect
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bfc0], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.PartyInterface
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
mov ecx, dword [ebp - 0x4c]
lea eax, [ecx - 1]
cmp eax, 2
ja 0x45f026
dec cl
mov byte [esi + 0x18bfc1], cl
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.PartyOnMiniMap
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bfc2], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.TakeEKSS
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bfc3], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ReverseMouse
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bf76], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ShowFightScore
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x13c679], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ShowHPBars
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x13c694], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ShowHealValues
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bfcf], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.ShowHungerBar
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x18bfd0], al
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.GroundItemDetails
push dword [ebp - 0x48]
call edi
test eax, eax
jne 0x45f1a8
mov ecx, dword [ebp - 0x4c]
lea eax, [ecx - 1]
cmp eax, 2
ja 0x45f17c
dec cl
mov byte [esi + 0x13c695], cl
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0
push str.LockMouseToWindow
push dword [ebp - 0x48]
call edi
push dword [ebp - 0x48]
test eax, eax
jne 0x45f1ab
cmp dword [ebp - 0x4c], 1
sete al
mov byte [esi + 0x13f1a0], al
jmp 0x45f1ab
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop ebx
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.005aa550
mov esp, ebp
pop ebp
ret