Function at 0x417ae0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
xor ecx, ecx
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x28c
mov ebx, eax
mov dword [esp + 4], ecx
lea edi, [ebx + 8]
mov dword [esp], str.readconfig
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.skip_gameinfo
xor edx, edx
mov dword [esp + 4], edx
mov dword [ebx], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], 0x463644
mov dword [ebx + 4], eax
xor eax, eax
mov dword [esp + 4], eax
call dword [sym.imp.mameplib.dll_options_get_string]
test eax, eax
mov esi, eax
je 0x417b3e
cmp byte [eax], 0
jne 0x418e36
mov dword [esp], str.cheat
xor edx, edx
xor edi, edi
mov dword [esp + 4], edx
xor esi, esi
call dword [sym.imp.mameplib.dll_options_get_bool]
mov edx, 0x46364f
mov dword [ebx + 0xc], eax
lea eax, [ebx + 0x10]
call fcn.00415650
mov dword [esp], str.confirm_quit
xor eax, eax
mov dword [esp + 4], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], edi
mov dword [esp], str.auto_pause_playback
mov dword [ebx + 0x14], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], esi
mov dword [esp], str.m68k_core
mov dword [ebx + 0x18], eax
call dword [sym.imp.mameplib.dll_options_get_string]
test eax, eax
mov esi, eax
je 0x417bc6
mov dword [esp], eax
mov ecx, 0x46367e
mov dword [esp + 4], ecx
call sub.msvcrt.dll__stricmp
test eax, eax
jne 0x418e4e
mov dword [ebx + 0x1c], 0
mov dword [esp], str.use_trans_ui
xor edi, edi
mov dword [esp + 4], edi
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.ui_transparency
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [ebx + 0x20], eax
call dword [sym.imp.mameplib.dll_options_get_int]
cmp eax, 0
mov ecx, eax
setge dl
xor eax, eax
cmp ecx, 0xff
setle al
test edx, eax
je 0x417c09
mov dword [ebx + 0x24], ecx
mov dword [esp], str.ui_lines
xor esi, esi
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_string]
test eax, eax
je 0x417c40
mov dword [esp], eax
mov edx, 0x463612
mov dword [esp + 4], edx
call sub.msvcrt.dll__stricmp
test eax, eax
jne 0x4191aa
mov dword [ebx + 0x28], 0
mov edx, str.state
xor esi, esi
lea eax, [ebx + 0x2c]
call fcn.00415650
mov dword [esp + 4], esi
xor edi, edi
xor esi, esi
mov dword [esp], str.autosave
call dword [sym.imp.mameplib.dll_options_get_bool]
mov edx, str.playback
mov dword [ebx + 0x30], eax
lea eax, [ebx + 0x34]
call fcn.00415650
lea eax, [ebx + 0x38]
mov edx, str.record
call fcn.00415650
lea eax, [ebx + 0x3c]
mov edx, str.mngwrite
call fcn.00415650
mov edx, str.wavwrite
lea eax, [ebx + 0x40]
call fcn.00415650
mov dword [esp], 0x4636d7
xor eax, eax
mov dword [esp + 4], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.oslog
xor edx, edx
mov dword [esp + 4], edx
mov dword [ebx + 0x44], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.verbose
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [ebx + 0x48], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], edi
mov dword [esp], str.autoframeskip
mov dword [ebx + 0x4c], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], esi
mov dword [esp], str.frameskip
mov dword [ebx + 0x50], eax
call dword [sym.imp.mameplib.dll_options_get_int]
cmp eax, 0
mov ecx, eax
setge dl
xor eax, eax
cmp ecx, 0xb
setle al
test edx, eax
je 0x417d19
mov dword [ebx + 0x54], ecx
mov dword [esp], str.frames_to_run
xor edi, edi
mov dword [esp + 4], edi
call dword [sym.imp.mameplib.dll_options_get_int]
test eax, eax
js 0x417d33
mov dword [ebx + 0x58], eax
mov dword [esp], str.throttle
xor edx, edx
xor edi, edi
mov dword [esp + 4], edx
xor esi, esi
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], edi
mov dword [esp], str.sleep
mov dword [ebx + 0x5c], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], esi
mov dword [esp], str.rdtsc
mov dword [ebx + 0x60], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.priority
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [ebx + 0x64], eax
call dword [sym.imp.mameplib.dll_options_get_int]
cmp eax, 0xfffffff1
mov ecx, eax
setge dl
xor eax, eax
cmp ecx, 1
setle al
test edx, eax
je 0x417d9f
mov dword [ebx + 0x68], ecx
mov dword [esp], str.video
xor eax, eax
lea ecx, [ebx + 0x6c]
mov dword [ebp - 0x78], ecx
mov dword [esp + 4], eax
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x417e05
cmp byte [eax], 0
je 0x417e05
cld
mov edi, 0x463733
mov esi, eax
mov ecx, 4
repe cmpsb byte [esi], byte es:[edi]
je 0x417dea
mov esi, dword [ebp - 0x7c]
mov ecx, 6
mov edi, 0x463737
repe cmpsb byte [esi], byte es:[edi]
jne 0x418e73
mov edi, dword [ebp - 0x78]
mov dword [esp], edi
call fcn.00429600
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, dword [ebp - 0x78]
mov dword [edx], eax
mov dword [esp], str.numscreens
xor esi, esi
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_int]
cmp eax, 1
mov ecx, eax
setge al
xor edx, edx
cmp ecx, 4
setle dl
test eax, edx
je 0x417e2f
mov dword [ebx + 0x70], ecx
mov dword [esp], str.window
xor edx, edx
xor edi, edi
mov dword [esp + 4], edx
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.maximize
mov dword [ebx + 0x74], eax
xor eax, eax
mov dword [esp + 4], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], edi
mov dword [esp], str.keepaspect
mov dword [ebx + 0x78], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.prescale
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [ebx + 0x7c], eax
call dword [sym.imp.mameplib.dll_options_get_int]
test eax, eax
js 0x417e8e
mov dword [ebx + 0x80], eax
lea eax, [ebx + 0x84]
mov edx, str.effect
xor esi, esi
call fcn.00415650
lea eax, [ebx + 0x88]
mov edx, str.scale_effect
call fcn.00415650
mov dword [esp + 4], esi
mov dword [esp], str.pause_brightness
call dword [sym.imp.mameplib.dll_options_get_float]
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jb 0x419077
fld1
fucompi st(1)
jb 0x419077
fstp dword [ebx + 0x8c]
mov dword [esp], str.waitvsync
xor ecx, ecx
xor esi, esi
mov dword [esp + 4], ecx
xor edi, edi
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.syncrefresh
mov dword [ebx + 0x90], eax
xor eax, eax
mov dword [esp + 4], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.rotate
xor edx, edx
mov dword [esp + 4], edx
mov dword [ebx + 0x94], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], esi
xor esi, esi
mov dword [esp], 0x4637ae
mov dword [ebx + 0x98], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], edi
xor edi, edi
mov dword [esp], 0x4637b2
mov dword [ebx + 0x9c], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.autoror
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [ebx + 0xa0], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.autorol
mov dword [ebx + 0xa4], eax
xor eax, eax
mov dword [esp + 4], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.flipx
xor edx, edx
mov dword [esp + 4], edx
mov dword [ebx + 0xa8], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], esi
mov dword [esp], str.flipy
mov dword [ebx + 0xac], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], edi
mov dword [esp], str.hwstretch
mov dword [ebx + 0xb0], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.d3dversion
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [ebx + 0xb4], eax
call dword [sym.imp.mameplib.dll_options_get_int]
cmp eax, 8
mov ecx, eax
setge dl
xor eax, eax
cmp ecx, 9
setle al
test edx, eax
je 0x418006
mov dword [ebx + 0xb8], ecx
mov dword [esp], str.filter
xor edx, edx
xor edi, edi
mov dword [esp + 4], edx
lea esi, [ebx + 0xc4]
call dword [sym.imp.mameplib.dll_options_get_bool]
mov edx, str.screen0
mov dword [ebx + 0xbc], eax
lea eax, [ebx + 0xc0]
call fcn.00415650
mov dword [ebp - 0x8c], esi
mov dword [esp + 4], edi
mov dword [esp], str.aspect0
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0x90], eax
test eax, eax
je 0x4180a0
cmp byte [eax], 0
je 0x4180a0
cld
mov ecx, 5
mov edi, 0x463612
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4190cc
mov eax, dword [ebp - 0x90]
mov edx, 0x4637fe
lea esi, [ebp - 0x10]
mov dword [esp + 0xc], esi
lea edi, [ebp - 0x14]
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
cmp eax, 2
je 0x4190b6
mov dword [esp], str.resolution0
lea ecx, [ebx + 0xc8]
xor esi, esi
mov dword [ebp - 0x98], ecx
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x418137
cmp byte [eax], 0
je 0x418137
cld
mov ecx, 5
mov edi, 0x463612
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x418115
lea eax, [ebp - 0x18]
mov edx, 0x463810
lea ecx, [ebp - 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x9c]
lea esi, [ebp - 0x20]
mov dword [esp + 0x10], ecx
lea edi, [ebp - 0x24]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
dec eax
jle 0x418137
mov edi, dword [ebp - 0x98]
mov dword [esp], edi
call fcn.00429600
mov edx, dword [ebp - 0x9c]
mov dword [esp], edx
call sub.msvcrt.dll__strdup
mov dword [ebx + 0xc8], eax
lea eax, [ebx + 0xcc]
mov edx, str.view0
xor esi, esi
call fcn.00415650
lea eax, [ebx + 0xd0]
mov edx, str.screen1
call fcn.00415650
mov dword [esp + 4], esi
lea ecx, [ebx + 0xd4]
mov dword [ebp - 0xa4], ecx
mov dword [esp], str.aspect1
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0xa8], eax
test eax, eax
je 0x4181c8
cmp byte [eax], 0
je 0x4181c8
cld
mov ecx, 5
mov edi, 0x463612
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x419109
mov eax, dword [ebp - 0xa8]
mov edx, 0x4637fe
lea esi, [ebp - 0x28]
mov dword [esp + 0xc], esi
lea edi, [ebp - 0x2c]
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
cmp eax, 2
je 0x4190f3
mov dword [esp], str.resolution1
lea ecx, [ebx + 0xd8]
xor esi, esi
mov dword [ebp - 0xb0], ecx
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x41825f
cmp byte [eax], 0
je 0x41825f
cld
mov ecx, 5
mov edi, 0x463612
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x41823d
lea eax, [ebp - 0x30]
mov edx, 0x463810
lea ecx, [ebp - 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xb4]
lea esi, [ebp - 0x38]
mov dword [esp + 0x10], ecx
lea edi, [ebp - 0x3c]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
dec eax
jle 0x41825f
mov edi, dword [ebp - 0xb0]
mov dword [esp], edi
call fcn.00429600
mov edx, dword [ebp - 0xb4]
mov dword [esp], edx
call sub.msvcrt.dll__strdup
mov dword [ebx + 0xd8], eax
lea eax, [ebx + 0xdc]
mov edx, str.view1
xor esi, esi
call fcn.00415650
lea eax, [ebx + 0xe0]
mov edx, str.screen2
call fcn.00415650
mov dword [esp + 4], esi
lea ecx, [ebx + 0xe4]
mov dword [ebp - 0xbc], ecx
mov dword [esp], str.aspect2
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x4182f0
cmp byte [eax], 0
je 0x4182f0
cld
mov ecx, 5
mov edi, 0x463612
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x419146
mov eax, dword [ebp - 0xc0]
mov edx, 0x4637fe
lea esi, [ebp - 0x40]
mov dword [esp + 0xc], esi
lea edi, [ebp - 0x44]
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
cmp eax, 2
je 0x419130
mov dword [esp], str.resolution2
lea ecx, [ebx + 0xe8]
xor esi, esi
mov dword [ebp - 0xc8], ecx
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x418387
cmp byte [eax], 0
je 0x418387
cld
mov ecx, 5
mov edi, 0x463612
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x418365
lea eax, [ebp - 0x48]
mov edx, 0x463810
lea ecx, [ebp - 0x4c]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xcc]
lea esi, [ebp - 0x50]
mov dword [esp + 0x10], ecx
lea edi, [ebp - 0x54]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
dec eax
jle 0x418387
mov edi, dword [ebp - 0xc8]
mov dword [esp], edi
call fcn.00429600
mov edx, dword [ebp - 0xcc]
mov dword [esp], edx
call sub.msvcrt.dll__strdup
mov dword [ebx + 0xe8], eax
lea eax, [ebx + 0xec]
mov edx, str.view2
xor esi, esi
call fcn.00415650
lea eax, [ebx + 0xf0]
mov edx, str.screen3
call fcn.00415650
mov dword [esp + 4], esi
lea ecx, [ebx + 0xf4]
mov dword [ebp - 0xd4], ecx
mov dword [esp], str.aspect3
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x418418
cmp byte [eax], 0
je 0x418418
cld
mov ecx, 5
mov edi, 0x463612
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x419183
mov eax, dword [ebp - 0xd8]
mov edx, 0x4637fe
lea esi, [ebp - 0x58]
mov dword [esp + 0xc], esi
lea edi, [ebp - 0x5c]
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
cmp eax, 2
je 0x41916d
mov dword [esp], str.resolution3
lea ecx, [ebx + 0xf8]
xor esi, esi
mov dword [ebp - 0xe0], ecx
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0xe4], eax
test eax, eax
je 0x4184af
cmp byte [eax], 0
je 0x4184af
cld
mov ecx, 5
mov edi, 0x463612
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x41848d
lea eax, [ebp - 0x60]
mov edx, 0x463810
lea ecx, [ebp - 0x64]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xe4]
lea esi, [ebp - 0x68]
mov dword [esp + 0x10], ecx
lea edi, [ebp - 0x6c]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
dec eax
jle 0x4184af
mov edi, dword [ebp - 0xe0]
mov dword [esp], edi
call fcn.00429600
mov edx, dword [ebp - 0xe4]
mov dword [esp], edx
call sub.msvcrt.dll__strdup
mov dword [ebx + 0xf8], eax
mov edx, str.view3
lea eax, [ebx + 0xfc]
xor esi, esi
call fcn.00415650
mov dword [esp], str.triplebuffer
xor eax, eax
mov dword [esp + 4], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.switchres
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [ebx + 0x100], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], esi
mov dword [esp], str.full_screen_brightness
mov dword [ebx + 0x104], eax
call dword [sym.imp.mameplib.dll_options_get_float]
fld dword [0x463abc]
fxch st(1)
fucomi st(1)
fstp st(1)
jb 0x4190af
fld dword [0x463ac0]
fucompi st(1)
jb 0x4190af
fstp dword [ebx + 0x108]
mov dword [esp], str.full_screen_contrast
xor edx, edx
mov dword [esp + 4], edx
call dword [sym.imp.mameplib.dll_options_get_float]
fld dword [0x463abc]
fxch st(1)
fucomi st(1)
fstp st(1)
jb 0x4190a8
fld dword [0x463ac0]
fucompi st(1)
jb 0x4190a8
fstp dword [ebx + 0x10c]
mov dword [esp], str.full_screen_gamma
xor edi, edi
mov dword [esp + 4], edi
call dword [sym.imp.mameplib.dll_options_get_float]
fld dword [0x463abc]
fxch st(1)
fucomi st(1)
fstp st(1)
jb 0x4190a1
fld dword [0x463ac4]
fucompi st(1)
jb 0x4190a1
fstp dword [ebx + 0x110]
mov dword [esp], str.brightness
xor esi, esi
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_float]
fld dword [0x463abc]
fxch st(1)
fucomi st(1)
fstp st(1)
jb 0x41909a
fld dword [0x463ac0]
fucompi st(1)
jb 0x41909a
fstp dword [ebx + 0x114]
mov dword [esp], str.contrast
xor ecx, ecx
mov dword [esp + 4], ecx
call dword [sym.imp.mameplib.dll_options_get_float]
fld dword [0x463abc]
fxch st(1)
fucomi st(1)
fstp st(1)
jb 0x419093
fld dword [0x463ac0]
fucompi st(1)
jb 0x419093
fstp dword [ebx + 0x118]
mov dword [esp], str.gamma
xor eax, eax
mov dword [esp + 4], eax
call dword [sym.imp.mameplib.dll_options_get_float]
fld dword [0x463abc]
fxch st(1)
fucomi st(1)
fstp st(1)
jb 0x41908c
fld dword [0x463ac4]
fucompi st(1)
jb 0x41908c
fstp dword [ebx + 0x11c]
mov dword [esp], str.antialias
xor edi, edi
mov dword [esp + 4], edi
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.beam
xor edx, edx
mov dword [esp + 4], edx
mov dword [ebx + 0x120], eax
call dword [sym.imp.mameplib.dll_options_get_float]
fld dword [0x463abc]
fxch st(1)
fucomi st(1)
fstp st(1)
jb 0x419085
fld dword [0x463ac8]
fucompi st(1)
jb 0x419085
fstp dword [ebx + 0x124]
mov dword [esp], str.flicker
xor esi, esi
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_float]
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jb 0x41907e
fld dword [0x463acc]
fucompi st(1)
jb 0x41907e
fstp dword [ebx + 0x128]
mov dword [esp], str.artwork
xor edi, edi
xor esi, esi
mov dword [esp + 4], edi
xor edi, edi
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.artwork_crop
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [ebx + 0x12c], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.use_backdrops
mov dword [ebx + 0x130], eax
xor eax, eax
mov dword [esp + 4], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.use_overlays
xor edx, edx
mov dword [esp + 4], edx
mov dword [ebx + 0x134], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], esi
mov dword [esp], str.use_bezels
mov dword [ebx + 0x138], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], edi
mov dword [esp], 0x463949
mov dword [ebx + 0x13c], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.samplerate
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [ebx + 0x140], eax
call dword [sym.imp.mameplib.dll_options_get_int]
cmp eax, 0x1388
mov ecx, eax
setge dl
xor eax, eax
cmp ecx, 0xc350
setle al
test edx, eax
je 0x418796
mov dword [ebx + 0x144], ecx
mov dword [esp], str.samples
xor ecx, ecx
xor esi, esi
mov dword [esp + 4], ecx
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], esi
mov dword [esp], str.volume
mov dword [ebx + 0x148], eax
call dword [sym.imp.mameplib.dll_options_get_int]
cmp eax, 0xffffffe0
mov ecx, eax
setge dl
xor eax, eax
cmp ecx, 0
setle al
test edx, eax
je 0x4187dc
mov dword [ebx + 0x14c], ecx
mov dword [esp], str.volume_adjust
xor esi, esi
xor edi, edi
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], edi
mov dword [esp], str.audio_latency
mov dword [ebx + 0x150], eax
call dword [sym.imp.mameplib.dll_options_get_int]
cmp eax, 1
mov ecx, eax
setge dl
xor eax, eax
cmp ecx, 4
setle al
test edx, eax
je 0x418822
mov dword [ebx + 0x154], ecx
lea eax, [ebx + 0x158]
mov edx, str.ctrlr
call fcn.00415650
mov dword [esp], str.stickpoint
xor edx, edx
mov dword [esp + 4], edx
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.joyid1
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [ebx + 0x15c], eax
call dword [sym.imp.mameplib.dll_options_get_int]
test eax, eax
js 0x418868
mov dword [ebx + 0x160], eax
mov dword [esp], str.joyid2
xor eax, eax
mov dword [esp + 4], eax
call dword [sym.imp.mameplib.dll_options_get_int]
test eax, eax
js 0x418885
mov dword [ebx + 0x164], eax
mov dword [esp], str.joyid3
xor edi, edi
mov dword [esp + 4], edi
call dword [sym.imp.mameplib.dll_options_get_int]
test eax, eax
js 0x4188a2
mov dword [ebx + 0x168], eax
mov dword [esp], str.joyid4
xor esi, esi
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_int]
test eax, eax
js 0x4188bf
mov dword [ebx + 0x16c], eax
mov dword [esp], str.joyid5
xor ecx, ecx
mov dword [esp + 4], ecx
call dword [sym.imp.mameplib.dll_options_get_int]
test eax, eax
js 0x4188dc
mov dword [ebx + 0x170], eax
mov dword [esp], str.joyid6
xor edx, edx
mov dword [esp + 4], edx
call dword [sym.imp.mameplib.dll_options_get_int]
test eax, eax
js 0x4188f9
mov dword [ebx + 0x174], eax
mov dword [esp], str.joyid7
xor eax, eax
mov dword [esp + 4], eax
call dword [sym.imp.mameplib.dll_options_get_int]
test eax, eax
js 0x418916
mov dword [ebx + 0x178], eax
mov dword [esp], str.joyid8
xor edi, edi
mov dword [esp + 4], edi
call dword [sym.imp.mameplib.dll_options_get_int]
test eax, eax
js 0x418933
mov dword [ebx + 0x17c], eax
mov dword [esp], 0x4639ce
xor eax, eax
xor esi, esi
mov dword [esp + 4], eax
xor edi, edi
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], 0x4639d4
xor edx, edx
mov dword [esp + 4], edx
mov dword [ebx + 0x180], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], 0x4639dd
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [ebx + 0x184], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], esi
xor esi, esi
mov dword [esp], str.dual_lightgun
mov dword [ebx + 0x188], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], edi
mov dword [esp], str.offscreen_reload
mov dword [ebx + 0x18c], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.steadykey
mov dword [ebx + 0x190], eax
xor eax, eax
mov dword [esp + 4], eax
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp], str.a2d_deadzone
xor edx, edx
mov dword [esp + 4], edx
mov dword [ebx + 0x194], eax
call dword [sym.imp.mameplib.dll_options_get_float]
mov dword [esp + 4], esi
lea ecx, [ebx + 0x19c]
mov dword [ebp - 0xec], ecx
mov dword [esp], str.digital
fstp dword [ebx + 0x198]
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0x280], eax
test eax, eax
je 0x418a5b
cmp byte [eax], 0
je 0x418a5b
cld
mov ecx, 5
mov edi, 0x463a24
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x418a39
mov esi, dword [ebp - 0x280]
mov ecx, 4
mov edi, 0x463a29
repe cmpsb byte [esi], byte es:[edi]
jne 0x418ed1
mov eax, dword [ebp - 0xec]
mov dword [esp], eax
call fcn.00429600
mov edx, dword [ebp - 0x280]
mov dword [esp], edx
call sub.msvcrt.dll__strdup
mov dword [ebx + 0x19c], eax
mov dword [esp], str.paddle_device
xor edi, edi
lea esi, [ebx + 0x1a0]
mov dword [ebp - 0xf8], esi
mov dword [esp + 4], edi
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0xfc], eax
test eax, eax
je 0x418ae6
cmp byte [eax], 0
je 0x418ae6
cld
mov edi, 0x463a3b
mov esi, eax
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x41904e
mov esi, dword [ebp - 0xfc]
mov ecx, 6
mov edi, 0x4639ce
repe cmpsb byte [esi], byte es:[edi]
je 0x41904e
mov esi, dword [ebp - 0xfc]
mov edi, 0x4639d4
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x41904e
mov esi, dword [ebp - 0xfc]
mov edi, 0x4639dd
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x41904e
mov dword [esp], str.adstick_device
lea ecx, [ebx + 0x1a4]
xor esi, esi
mov dword [ebp - 0x110], ecx
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0x114], eax
test eax, eax
je 0x418b71
cmp byte [eax], 0
je 0x418b71
cld
mov edi, 0x463a3b
mov esi, eax
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x418faa
mov esi, dword [ebp - 0x114]
mov ecx, 6
mov edi, 0x4639ce
repe cmpsb byte [esi], byte es:[edi]
je 0x418faa
mov esi, dword [ebp - 0x114]
mov edi, 0x4639d4
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x418faa
mov esi, dword [ebp - 0x114]
mov edi, 0x4639dd
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x418faa
mov dword [esp], str.pedal_device
lea ecx, [ebx + 0x1a8]
xor esi, esi
mov dword [ebp - 0x128], ecx
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0x12c], eax
test eax, eax
je 0x418bfc
cmp byte [eax], 0
je 0x418bfc
cld
mov edi, 0x463a3b
mov esi, eax
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x418fd3
mov esi, dword [ebp - 0x12c]
mov ecx, 6
mov edi, 0x4639ce
repe cmpsb byte [esi], byte es:[edi]
je 0x418fd3
mov esi, dword [ebp - 0x12c]
mov edi, 0x4639d4
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x418fd3
mov esi, dword [ebp - 0x12c]
mov edi, 0x4639dd
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x418fd3
mov dword [esp], str.dial_device
lea ecx, [ebx + 0x1ac]
xor esi, esi
mov dword [ebp - 0x140], ecx
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0x144], eax
test eax, eax
je 0x418c87
cmp byte [eax], 0
je 0x418c87
cld
mov edi, 0x463a3b
mov esi, eax
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x418ffc
mov esi, dword [ebp - 0x144]
mov ecx, 6
mov edi, 0x4639ce
repe cmpsb byte [esi], byte es:[edi]
je 0x418ffc
mov esi, dword [ebp - 0x144]
mov edi, 0x4639d4
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x418ffc
mov esi, dword [ebp - 0x144]
mov edi, 0x4639dd
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x418ffc
mov dword [esp], str.trackball_device
lea ecx, [ebx + 0x1b0]
xor esi, esi
mov dword [ebp - 0x158], ecx
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0x15c], eax
test eax, eax
je 0x418d12
cmp byte [eax], 0
je 0x418d12
cld
mov edi, 0x463a3b
mov esi, eax
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x419025
mov esi, dword [ebp - 0x15c]
mov ecx, 6
mov edi, 0x4639ce
repe cmpsb byte [esi], byte es:[edi]
je 0x419025
mov esi, dword [ebp - 0x15c]
mov edi, 0x4639d4
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x419025
mov esi, dword [ebp - 0x15c]
mov edi, 0x4639dd
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x419025
mov dword [esp], str.lightgun_device
lea ecx, [ebx + 0x1b4]
xor esi, esi
mov dword [ebp - 0x170], ecx
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0x174], eax
test eax, eax
je 0x418d9d
cmp byte [eax], 0
je 0x418d9d
cld
mov edi, 0x463a3b
mov esi, eax
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x418f81
mov esi, dword [ebp - 0x174]
mov ecx, 6
mov edi, 0x4639ce
repe cmpsb byte [esi], byte es:[edi]
je 0x418f81
mov esi, dword [ebp - 0x174]
mov edi, 0x4639d4
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x418f81
mov esi, dword [ebp - 0x174]
mov edi, 0x4639dd
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x418f81
mov dword [esp], str.keyboard_leds
xor edx, edx
xor esi, esi
mov dword [esp + 4], edx
call dword [sym.imp.mameplib.dll_options_get_bool]
mov dword [esp + 4], esi
lea ecx, [ebx + 0x1bc]
mov dword [ebp - 0x188], ecx
mov dword [esp], str.led_mode
mov dword [ebx + 0x1b8], eax
call dword [sym.imp.mameplib.dll_options_get_string]
mov dword [ebp - 0x18c], eax
test eax, eax
je 0x418e2b
cmp byte [eax], 0
je 0x418e2b
cld
mov ecx, 5
mov edi, 0x463aa4
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x418e09
mov esi, dword [ebp - 0x18c]
mov ecx, 4
mov edi, 0x463aa9
repe cmpsb byte [esi], byte es:[edi]
jne 0x418e2b
mov edx, dword [ebp - 0x188]
mov dword [esp], edx
call fcn.00429600
mov eax, dword [ebp - 0x18c]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov dword [ebx + 0x1bc], eax
add esp, 0x28c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], edi
call fcn.00429600
mov dword [esp], esi
call sub.msvcrt.dll__strdup
mov dword [ebx + 8], eax
jmp 0x417b3e
mov dword [esp], esi
mov edi, 0x463aad
mov dword [esp + 4], edi
call sub.msvcrt.dll__stricmp
test eax, eax
jne 0x4191df
mov dword [ebx + 0x1c], 1
jmp 0x417bc6
mov esi, dword [ebp - 0x7c]
mov edi, 0x463ab1
mov ecx, 4
repe cmpsb byte [esi], byte es:[edi]
jne 0x417e05
jmp 0x417dea
mov edx, dword [ebp - 0x280]
movzx ecx, byte [edx]
test cl, cl
sete al
cmp cl, 0x2c
sete dl
or eax, edx
test al, 1
je 0x41924f
mov edi, dword [ebp - 0x70]
test edi, edi
sete dl
cmp edi, 8
setg al
or eax, edx
test al, 1
jne 0x418a5b
test cl, cl
je 0x4192f1
inc dword [ebp - 0x280]
mov dword [ebp - 0x70], 0
mov edi, dword [ebp - 0x280]
mov dword [ebp - 0x74], 0
movzx eax, byte [edi]
test al, al
je 0x4192f1
movsx esi, al
mov dword [esp], esi
call sub.msvcrt.dll_tolower
cmp eax, 0x6a
jne 0x418a5b
mov esi, dword [ebp - 0x280]
lea edx, [ebp - 0x70]
mov ecx, 0x463ab5
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
inc esi
mov dword [esp], esi
call sub.msvcrt.dll_sscanf
dec eax
jne 0x418a5b
mov dword [ebp - 0x280], esi
jmp 0x418f51
mov dword [esp], edx
mov eax, 4
mov dword [esp + 4], eax
call sub.msvcrt.dll__isctype
test eax, eax
je 0x418e8d
inc dword [ebp - 0x280]
mov eax, dword [ebp - 0x280]
movzx ecx, byte [eax]
test cl, cl
je 0x418e96
mov edi, dword [sym.imp.msvcrt.dll___mb_cur_max]
movsx edx, cl
cmp dword [edi], 1
jne 0x418f32
mov ecx, dword [sym.imp.msvcrt.dll__pctype]
mov esi, dword [ecx]
movzx eax, word [esi + edx*2]
and eax, 4
jmp 0x418f43
mov edi, dword [ebp - 0x170]
mov dword [esp], edi
call fcn.00429600
mov eax, dword [ebp - 0x174]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, dword [ebp - 0x170]
mov dword [edx], eax
jmp 0x418d9d
mov edi, dword [ebp - 0x110]
mov dword [esp], edi
call fcn.00429600
mov eax, dword [ebp - 0x114]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, dword [ebp - 0x110]
mov dword [edx], eax
jmp 0x418b71
mov edi, dword [ebp - 0x128]
mov dword [esp], edi
call fcn.00429600
mov eax, dword [ebp - 0x12c]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, dword [ebp - 0x128]
mov dword [edx], eax
jmp 0x418bfc
mov edi, dword [ebp - 0x140]
mov dword [esp], edi
call fcn.00429600
mov eax, dword [ebp - 0x144]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, dword [ebp - 0x140]
mov dword [edx], eax
jmp 0x418c87
mov edi, dword [ebp - 0x158]
mov dword [esp], edi
call fcn.00429600
mov eax, dword [ebp - 0x15c]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, dword [ebp - 0x158]
mov dword [edx], eax
jmp 0x418d12
mov edi, dword [ebp - 0xf8]
mov dword [esp], edi
call fcn.00429600
mov eax, dword [ebp - 0xfc]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov edx, dword [ebp - 0xf8]
mov dword [edx], eax
jmp 0x418ae6
fstp st(0)
jmp 0x417edf
fstp st(0)
jmp 0x4186ce
fstp st(0)
jmp 0x418699
fstp st(0)
jmp 0x418647
fstp st(0)
jmp 0x41860e
fstp st(0)
jmp 0x4185d5
fstp st(0)
jmp 0x41859c
fstp st(0)
jmp 0x418563
fstp st(0)
jmp 0x41852a
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jle 0x4180a0
mov eax, dword [ebp - 0x10]
test eax, eax
jle 0x4180a0
mov edi, dword [ebp - 0x8c]
mov dword [esp], edi
call fcn.00429600
mov edx, dword [ebp - 0x90]
mov dword [esp], edx
call sub.msvcrt.dll__strdup
mov dword [ebx + 0xc4], eax
jmp 0x4180a0
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
jle 0x4181c8
mov eax, dword [ebp - 0x28]
test eax, eax
jle 0x4181c8
mov edi, dword [ebp - 0xa4]
mov dword [esp], edi
call fcn.00429600
mov edx, dword [ebp - 0xa8]
mov dword [esp], edx
call sub.msvcrt.dll__strdup
mov dword [ebx + 0xd4], eax
jmp 0x4181c8
mov ecx, dword [ebp - 0x44]
test ecx, ecx
jle 0x4182f0
mov eax, dword [ebp - 0x40]
test eax, eax
jle 0x4182f0
mov edi, dword [ebp - 0xbc]
mov dword [esp], edi
call fcn.00429600
mov edx, dword [ebp - 0xc0]
mov dword [esp], edx
call sub.msvcrt.dll__strdup
mov dword [ebx + 0xe4], eax
jmp 0x4182f0
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
jle 0x418418
mov eax, dword [ebp - 0x58]
test eax, eax
jle 0x418418
mov edi, dword [ebp - 0xd4]
mov dword [esp], edi
call fcn.00429600
mov edx, dword [ebp - 0xd8]
mov dword [esp], edx
call sub.msvcrt.dll__strdup
mov dword [ebx + 0xf4], eax
jmp 0x418418
mov dword [esp], str.ui_lines
xor ecx, ecx
mov dword [esp + 4], ecx
call dword [sym.imp.mameplib.dll_options_get_int]
test eax, eax
lea edi, [eax - 0x10]
sete dl
cmp edi, 0x30
mov ecx, eax
setbe al
or eax, edx
test al, 1
je 0x417c40
mov dword [ebx + 0x28], ecx
jmp 0x417c40
mov dword [esp], esi
mov eax, 0x463ab8
mov dword [esp + 4], eax
call sub.msvcrt.dll__stricmp
test eax, eax
jne 0x419200
mov dword [ebx + 0x1c], 2
jmp 0x417bc6
mov dword [esp], str.m68k_core
xor esi, esi
mov dword [esp + 4], esi
call dword [sym.imp.mameplib.dll_options_get_int]
cmp eax, 2
ja 0x417bc6
mov dword [ebx + 0x1c], eax
jmp 0x417bc6
mov edi, dword [ebp - 0x70]
test edi, edi
sete dl
cmp edi, 8
setg al
or eax, edx
test al, 1
jne 0x418a5b
cmp dword [ebp - 0x74], 7
jg 0x418a5b
mov esi, dword [ebp - 0x280]
movzx ecx, byte [esi]
test cl, cl
je 0x418ed1
cmp cl, 0x2c
je 0x418ecb
movsx esi, cl
mov dword [esp], esi
call sub.msvcrt.dll_tolower
cmp eax, 0x61
jne 0x418a5b
mov esi, dword [ebp - 0x280]
lea eax, [ebp - 0x74]
mov ecx, 0x463ab5
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
inc esi
mov dword [esp], esi
call sub.msvcrt.dll_sscanf
dec eax
jne 0x418a5b
mov dword [ebp - 0x280], esi
jmp 0x4192c1
mov dword [esp], edx
mov eax, 4
mov dword [esp + 4], eax
call sub.msvcrt.dll__isctype
test eax, eax
je 0x419224
inc dword [ebp - 0x280]
mov edx, dword [ebp - 0x280]
movzx eax, byte [edx]
test al, al
je 0x419224
mov edi, dword [sym.imp.msvcrt.dll___mb_cur_max]
movsx edx, al
cmp dword [edi], 1
jne 0x4192a2
mov ecx, dword [sym.imp.msvcrt.dll__pctype]
mov esi, dword [ecx]
movzx eax, word [esi + edx*2]
and eax, 4
jmp 0x4192b3
mov edx, dword [ebp - 0xec]
mov dword [esp], edx
call fcn.00429600
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call sub.msvcrt.dll__strdup
mov ecx, dword [ebp - 0xec]
mov dword [ecx], eax
jmp 0x418a5b