Function at 0x41f9b0
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x110
mov eax, dword [str.127.0.0.1]
mov ecx, dword [0x43f6cc]
mov dx, word [0x43f6d0]
push ebx
push ebp
push esi
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
xor ebp, ebp
push edi
push ebp
mov dword [esp + 0x1c], ebp
mov dword [0x445f00], eax
mov dword [0x445f04], ecx
mov word [0x445f08], dx
mov word [0x445dec], 0x1ea6
call esi
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul dword [0x4338f4]
call fcn.00428d68
mov ebx, 1
mov dword [0x4454a4], eax
push ebx
call esi
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul dword [0x4338f4]
call fcn.00428d68
push str..Roms_
push 0x4454c0
mov dword [0x4454a0], eax
call fcn.00428cc5
push str..States_
push 0x445e00
call fcn.00428cc5
push str..Battery_
push 0x4453a0
call fcn.00428cc5
add esp, 0x18
mov dword [0x445394], ebx
mov dword [0x445df0], ebx
mov esi, 0x4455e0
push 0x444df0
push esi
call fcn.00428cc5
add esi, 0x100
add esp, 8
cmp esi, 0x445de0
jl 0x41fa6f
lea eax, [esp + 0x18]
mov edi, 2
push eax
push ebx
push ebp
push str.SoftwareNeoPop
push reloc.DSOUND.dll_DirectSoundCreate
mov dword [0x445f44], ebp
mov dword [0x445f48], ebx
mov dword [0x445f4c], edi
mov dword [0x4455c0], 0x2c
mov dword [0x4455c4], 0x2d
mov dword [0x445de0], 0xf
mov dword [0x445de8], 0xc8
mov dword [0x4455c8], 0xd0
mov dword [0x4455cc], 0xcb
mov dword [0x445de4], 0xcd
mov dword [0x445df8], ebp
mov dword [0x445dfc], ebp
mov dword [0x4454ac], edi
mov dword [0x444dec], ebp
mov dword [0x445398], ebp
mov dword [0x4454b0], ebx
mov dword [0x4454a8], ebp
mov dword [0x445f40], ebp
mov dword [0x445df4], ebx
mov byte [0x44539c], 8
mov dword [0x4860ac], ebp
mov dword [0x445f58], ebx
mov dword [0x445f5c], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [esp + 0x10]
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x14]
push ecx
push edx
push ebp
push ebp
mov ebx, 4
push str.comms_port
push eax
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41fba5
mov eax, dword [esp + 0x14]
cmp eax, 1
jbe 0x41fb91
cmp eax, 0xffff
jae 0x41fb9c
mov word [0x445dec], ax
jmp 0x41fba5
mov word [0x445dec], 1
jmp 0x41fba5
mov word [0x445dec], 0xffff
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
push ecx
push edx
push ebp
push ebp
push str.comms_remoteaddress
push eax
mov dword [esp + 0x28], 0x40
call esi
test eax, eax
jne 0x41fbe0
lea ecx, [esp + 0x20]
push ecx
push 0x43f674
push 0x445f00
call fcn.00428cc5
add esp, 0xc
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
push eax
push ebp
push ebp
push str.zoom
push ecx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41fc26
mov eax, dword [esp + 0x14]
cmp eax, 1
jbe 0x41fc14
cmp eax, ebx
jae 0x41fc20
mov dword [0x4454ac], eax
jmp 0x41fc26
mov dword [0x4454ac], 1
jmp 0x41fc26
mov dword [0x4454ac], ebx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
push eax
push ebp
push ebp
push str.mute
push ecx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41fc6c
mov eax, dword [esp + 0x14]
cmp eax, 1
jge 0x41fc5a
cmp eax, ebp
jle 0x41fc66
mov dword [0x4860ac], eax
jmp 0x41fc6c
mov dword [0x4860ac], 1
jmp 0x41fc6c
mov dword [0x4860ac], ebp
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
push eax
push ebp
push ebp
push str.adaptoid
push ecx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41fcb2
mov eax, dword [esp + 0x14]
cmp eax, 1
jge 0x41fca0
cmp eax, ebp
jle 0x41fcac
mov dword [0x445398], eax
jmp 0x41fcb2
mov dword [0x445398], 1
jmp 0x41fcb2
mov dword [0x445398], ebp
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
push eax
push ebp
push ebp
push str.windowed
push ecx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41fcf8
mov eax, dword [esp + 0x14]
cmp eax, 1
jge 0x41fce6
cmp eax, ebp
jle 0x41fcf2
mov dword [0x445df4], eax
jmp 0x41fcf8
mov dword [0x445df4], 1
jmp 0x41fcf8
mov dword [0x445df4], ebp
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
push eax
push ebp
push ebp
push str.misc_autopause
push ecx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41fd3e
mov eax, dword [esp + 0x14]
cmp eax, 1
jge 0x41fd2c
cmp eax, ebp
jle 0x41fd38
mov dword [0x4454b0], eax
jmp 0x41fd3e
mov dword [0x4454b0], 1
jmp 0x41fd3e
mov dword [0x4454b0], ebp
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
push eax
push ebp
push ebp
push str.misc_ontop
push ecx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41fd84
mov eax, dword [esp + 0x14]
cmp eax, 1
jge 0x41fd72
cmp eax, ebp
jle 0x41fd7e
mov dword [0x4454a8], eax
jmp 0x41fd84
mov dword [0x4454a8], 1
jmp 0x41fd84
mov dword [0x4454a8], ebp
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
push eax
push ebp
push ebp
push str.misc_stetchx
push ecx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41fdca
mov eax, dword [esp + 0x14]
cmp eax, 1
jge 0x41fdb8
cmp eax, ebp
jle 0x41fdc4
mov dword [0x445f40], eax
jmp 0x41fdca
mov dword [0x445f40], 1
jmp 0x41fdca
mov dword [0x445f40], ebp
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
push eax
push ebp
push ebp
push str.language
push ecx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41fe10
mov eax, dword [esp + 0x14]
cmp eax, 1
jge 0x41fdfe
cmp eax, ebp
jle 0x41fe0a
mov dword [0x445f58], eax
jmp 0x41fe10
mov dword [0x445f58], 1
jmp 0x41fe10
mov dword [0x445f58], ebp
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
push eax
push ebp
push ebp
push str.colour
push ecx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41fe51
mov eax, dword [esp + 0x14]
cmp eax, edi
jae 0x41fe43
cmp eax, ebp
jbe 0x41fe4b
mov dword [0x445f5c], eax
jmp 0x41fe51
mov dword [0x445f5c], edi
jmp 0x41fe51
mov dword [0x445f5c], ebp
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
push eax
push ebp
push ebp
push str.stick
push ecx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
mov edi, 0x1f
jne 0x41fe91
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp edx, ecx
sbb eax, eax
and eax, ecx
cmp eax, edi
mov dword [0x444dec], eax
jb 0x41fe91
mov dword [0x444dec], edi
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
push ecx
push ebp
push ebp
push str.system_frameskip_key
push edx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41fed6
mov eax, dword [esp + 0x14]
cmp eax, 1
jbe 0x41fec6
cmp eax, 7
jae 0x41fecf
mov byte [0x44539c], al
jmp 0x41fed6
mov byte [0x44539c], 1
jmp 0x41fed6
mov byte [0x44539c], 7
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
push ecx
push ebp
push ebp
push str.button_a
push edx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41ff0f
mov ecx, dword [esp + 0x14]
cmp eax, ecx
sbb eax, eax
and eax, ecx
cmp eax, edi
mov dword [0x445f44], eax
jb 0x41ff0f
mov dword [0x445f44], edi
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
push edx
push ebp
push ebp
push str.button_b
push eax
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41ff4a
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp edx, ecx
sbb eax, eax
and eax, ecx
cmp eax, edi
mov dword [0x445f48], eax
jb 0x41ff4a
mov dword [0x445f48], edi
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
push ecx
push ebp
push ebp
push str.button_o
push edx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41ff83
mov ecx, dword [esp + 0x14]
cmp eax, ecx
sbb eax, eax
and eax, ecx
cmp eax, edi
mov dword [0x445f4c], eax
jb 0x41ff83
mov dword [0x445f4c], edi
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
push edx
push ebp
push ebp
push str.auto_a
push eax
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x41ffc9
mov eax, dword [esp + 0x14]
cmp eax, 1
jge 0x41ffb7
cmp eax, ebp
jle 0x41ffc3
mov dword [0x445df8], eax
jmp 0x41ffc9
mov dword [0x445df8], 1
jmp 0x41ffc9
mov dword [0x445df8], ebp
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
push edx
push ebp
push ebp
push str.auto_b
push eax
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x42000f
mov eax, dword [esp + 0x14]
cmp eax, 1
jge 0x41fffd
cmp eax, ebp
jle 0x420009
mov dword [0x445dfc], eax
jmp 0x42000f
mov dword [0x445dfc], 1
jmp 0x42000f
mov dword [0x445dfc], ebp
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
push edx
push 0
push 0
push str.key_a
push eax
mov dword [esp + 0x28], ebx
call esi
test eax, eax
mov ebp, 0xff
jne 0x420051
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp edx, ecx
sbb eax, eax
and eax, ecx
cmp eax, ebp
mov dword [0x4455c0], eax
jb 0x420051
mov dword [0x4455c0], ebp
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
push ecx
push 0
push 0
push str.key_b
push edx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x42008c
mov ecx, dword [esp + 0x14]
cmp eax, ecx
sbb eax, eax
and eax, ecx
cmp eax, ebp
mov dword [0x4455c4], eax
jb 0x42008c
mov dword [0x4455c4], ebp
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
push edx
push 0
push 0
push str.key_o
push eax
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x4200c9
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp edx, ecx
sbb eax, eax
and eax, ecx
cmp eax, ebp
mov dword [0x445de0], eax
jb 0x4200c9
mov dword [0x445de0], ebp
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
push ecx
push 0
push 0
push str.key_u
push edx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x420104
mov ecx, dword [esp + 0x14]
cmp eax, ecx
sbb eax, eax
and eax, ecx
cmp eax, ebp
mov dword [0x445de8], eax
jb 0x420104
mov dword [0x445de8], ebp
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
push edx
push 0
push 0
push str.key_d
push eax
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x420141
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp edx, ecx
sbb eax, eax
and eax, ecx
cmp eax, ebp
mov dword [0x4455c8], eax
jb 0x420141
mov dword [0x4455c8], ebp
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
push ecx
push 0
push 0
push str.key_l
push edx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x42017c
mov ecx, dword [esp + 0x14]
cmp eax, ecx
sbb eax, eax
and eax, ecx
cmp eax, ebp
mov dword [0x4455cc], eax
jb 0x42017c
mov dword [0x4455cc], ebp
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
push edx
push 0
push 0
push str.key_r
push eax
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x4201b9
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp edx, ecx
sbb eax, eax
and eax, ecx
cmp eax, ebp
mov dword [0x445de4], eax
jb 0x4201b9
mov dword [0x445de4], ebp
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
push ecx
push 0
push 0
push str.mainview_x
push edx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x420212
mov eax, dword [esp + 0x14]
xor ecx, ecx
test eax, eax
setle cl
dec ecx
push 0
and ecx, eax
mov edi, ecx
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub eax, 0x14
cmp edi, eax
jge 0x420202
mov dword [0x4454a4], edi
jmp 0x420212
push 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub eax, 0x14
mov dword [0x4454a4], eax
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
push eax
push 0
push 0
push str.mainview_y
push ecx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x42026b
mov eax, dword [esp + 0x14]
xor edx, edx
test eax, eax
setle dl
dec edx
push 1
and edx, eax
mov edi, edx
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub eax, 0xa
cmp edi, eax
jge 0x42025b
mov dword [0x4454a0], edi
jmp 0x42026b
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub eax, 0xa
mov dword [0x4454a0], eax
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
xor edi, edi
push ecx
push edi
push edi
push str.last_rom_dir
push edx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x4202b3
mov eax, dword [esp + 0x14]
cmp eax, 1
jge 0x4202a1
cmp eax, edi
jle 0x4202ad
mov dword [0x445394], eax
jmp 0x4202b3
mov dword [0x445394], 1
jmp 0x4202b3
mov dword [0x445394], edi
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
push ecx
push edi
push edi
push str.last_state_dir
push edx
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x4202f9
mov eax, dword [esp + 0x14]
cmp eax, 1
jge 0x4202e7
cmp eax, edi
jle 0x4202f3
mov dword [0x445df0], eax
jmp 0x4202f9
mov dword [0x445df0], 1
jmp 0x4202f9
mov dword [0x445df0], edi
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push ecx
push edi
push edi
push 0x43f544
push edx
mov dword [esp + 0x28], ebp
call esi
test eax, eax
jne 0x420330
lea eax, [esp + 0x20]
push eax
push 0x43f674
push 0x4454c0
call fcn.00428cc5
add esp, 0xc
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
push ecx
push edx
push edi
push edi
push str.state_dir
push eax
mov dword [esp + 0x28], ebp
call esi
test eax, eax
jne 0x420367
lea ecx, [esp + 0x20]
push ecx
push 0x43f674
push 0x445e00
call fcn.00428cc5
add esp, 0xc
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
lea eax, [esp + 0x20]
push edx
push eax
push edi
push edi
push str.flash_dir
push ecx
mov dword [esp + 0x28], ebp
call esi
test eax, eax
jne 0x42039e
lea edx, [esp + 0x20]
push edx
push 0x43f674
push 0x4453a0
call fcn.00428cc5
add esp, 0xc
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push ecx
push edi
push edi
push str.mru0
push edx
mov dword [esp + 0x28], ebp
call esi
test eax, eax
jne 0x4203d5
lea eax, [esp + 0x20]
push eax
push 0x43f674
push 0x4455e0
call fcn.00428cc5
add esp, 0xc
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
push ecx
push edx
push edi
push edi
push str.mru1
push eax
mov dword [esp + 0x28], ebp
call esi
test eax, eax
jne 0x42040c
lea ecx, [esp + 0x20]
push ecx
push 0x43f674
push 0x4456e0
call fcn.00428cc5
add esp, 0xc
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
lea eax, [esp + 0x20]
push edx
push eax
push edi
push edi
push str.mru2
push ecx
mov dword [esp + 0x28], ebp
call esi
test eax, eax
jne 0x420443
lea edx, [esp + 0x20]
push edx
push 0x43f674
push 0x4457e0
call fcn.00428cc5
add esp, 0xc
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push ecx
push edi
push edi
push str.mru3
push edx
mov dword [esp + 0x28], ebp
call esi
test eax, eax
jne 0x42047a
lea eax, [esp + 0x20]
push eax
push 0x43f674
push 0x4458e0
call fcn.00428cc5
add esp, 0xc
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
push ecx
push edx
push edi
push edi
push str.mru4
push eax
mov dword [esp + 0x28], ebp
call esi
test eax, eax
jne 0x4204b1
lea ecx, [esp + 0x20]
push ecx
push 0x43f674
push 0x4459e0
call fcn.00428cc5
add esp, 0xc
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x10]
lea eax, [esp + 0x20]
push edx
push eax
push edi
push edi
push str.mru5
push ecx
mov dword [esp + 0x28], ebp
call esi
test eax, eax
jne 0x4204e8
lea edx, [esp + 0x20]
push edx
push 0x43f674
push 0x445ae0
call fcn.00428cc5
add esp, 0xc
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push ecx
push edi
push edi
push str.mru6
push edx
mov dword [esp + 0x28], ebp
call esi
test eax, eax
jne 0x42051f
lea eax, [esp + 0x20]
push eax
push 0x43f674
push 0x445be0
call fcn.00428cc5
add esp, 0xc
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
push ecx
push edx
push edi
push edi
push str.mru7
push eax
mov dword [esp + 0x28], ebp
call esi
test eax, eax
jne 0x420556
lea ecx, [esp + 0x20]
push ecx
push 0x43f674
push 0x445ce0
call fcn.00428cc5
add esp, 0xc
mov eax, dword [esp + 0x18]
cmp eax, edi
pop edi
pop esi
pop ebp
pop ebx
je 0x420569
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
add esp, 0x110
ret