Function at 0x408280
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x10c
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push esi
mov esi, dword [esp + 0x118]
push edi
push esi
push 0x104
lea eax, [esp + 0x1c]
push eax
push 0x4eb920
push 0x4ba3ec
push str.Rio_Shiina_v2.50
call ebx
cmp eax, 0x104
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jae 0x4082d3
mov al, byte [esp + 0x14]
test al, al
je 0x4082d3
lea ecx, [esp + 0x14]
push ecx
push 0xd09e80
call edi
push esi
push 0x104
lea edx, [esp + 0x1c]
push edx
push 0x4eb920
push 0x4ba3e8
push str.Rio_Shiina_v2.50
call ebx
cmp eax, 0x104
jae 0x40831f
mov al, byte [esp + 0x14]
test al, al
je 0x40831f
mov eax, dword [0xd0abd0]
mov ecx, eax
shl ecx, 6
add ecx, eax
lea edx, [esp + 0x14]
lea ecx, [ecx*4 + 0x8d3704]
push edx
inc eax
push ecx
mov dword [0xd0abd0], eax
call edi
push esi
push 0x104
lea eax, [esp + 0x1c]
push eax
push 0x4eb920
push 0x4ba3e4
push str.Rio_Shiina_v2.50
call ebx
cmp eax, 0x104
jae 0x408356
mov al, byte [esp + 0x14]
test al, al
je 0x408356
lea ecx, [esp + 0x14]
push ecx
push str.autoexec.scn
call edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push esi
push 0xffffffffffffffff
push str.Vram
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x40837e
test eax, eax
jne 0x408379
mov eax, 1
mov dword [0x4c234c], eax
push esi
push 0xffffffffffffffff
push str.FreeWindow
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408397
mov dword [0xd09e48], eax
push esi
push 0xffffffffffffffff
push str.WindowWidth
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x4083b0
mov dword [0x4c21f4], eax
push esi
push 0xffffffffffffffff
push str.WindowHeight
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x4083c9
mov dword [0x4c21f8], eax
push esi
push 0xffffffffffffffff
push 0x4ba3b0
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x4083e2
mov dword [0x4c2204], eax
push esi
push 0xffffffffffffffff
push str.Frequency
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x4083fb
mov dword [0x4c2208], eax
push esi
push 0xffffffffffffffff
push str.Joypad
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408414
mov dword [0xd09e64], eax
push esi
push 0xffffffffffffffff
push str.Joystick
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x40842d
mov dword [0xd09e64], eax
push esi
push 0xffffffffffffffff
push 0x4ba38c
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408446
mov dword [0x4c25e4], eax
push esi
push 0xffffffffffffffff
push 0x4ba388
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x40845f
mov dword [0x4c25e8], eax
push esi
push 0xffffffffffffffff
push str.WaveRate
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408478
mov dword [0x4c25e0], eax
push esi
push 0xffffffffffffffff
push str.DirectShow
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408491
mov dword [0x4c23b0], eax
push esi
push 0xffffffffffffffff
push str.DirectDrawVideo
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x4084af
and eax, 0xff
mov dword [0x4c23bc], eax
push esi
push 0xffffffffffffffff
push str.MPEG1Filter
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x4084c8
mov dword [0x4c23c0], eax
push esi
push 0xffffffffffffffff
push str.SkipFade
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x4084e1
mov dword [0xd0ad88], eax
push esi
push 0xffffffffffffffff
push str.DirectSoundHard
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408512
mov edx, dword [0xd0ad74]
and edx, 0xfffffff7
test eax, eax
mov dword [0xd0ad74], edx
jne 0x408512
mov eax, edx
or eax, 8
mov dword [0xd0ad74], eax
push esi
push 0xffffffffffffffff
push str.PcmDecodeType
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x40852b
mov dword [0xd0ad68], eax
push esi
push 0xffffffffffffffff
push str.DirectSoundPrimaryBuffer
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408544
mov dword [0x4c25dc], eax
push esi
push 0xffffffffffffffff
push str.SynthiaPCMPriority
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x40855d
mov dword [0xd0ad78], eax
push esi
push 0xffffffffffffffff
push str.SynthiaPCMBuffer
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408576
mov dword [0x4e719c], eax
push esi
push 0xffffffffffffffff
push str.SynthiaPCMNotify
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408599
cmp eax, 2
jae 0x408594
mov eax, 2
mov dword [0x4e7198], eax
push esi
push 0xffffffffffffffff
push str.SynthiaPCMDecodeMode
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x4085b2
mov dword [0xd0ad80], eax
push esi
push 0xffffffffffffffff
push str.UseDirectSoundNotify
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x4085cb
mov dword [0xd0ad7c], eax
push esi
push 0xffffffffffffffff
push str.DirectSoundNotify
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x4085e4
mov dword [0xd0ad7c], eax
push ebp
push esi
push 0x104
lea edx, [esp + 0x20]
push edx
push 0x4eb920
push str.SearchPath
push str.Rio_Shiina_v2.50
call ebx
cmp eax, 0x104
jae 0x40868f
mov al, byte [esp + 0x18]
test al, al
je 0x40868f
lea eax, [esp + 0x18]
cmp eax, 1
lea ebp, [esp + 0x18]
je 0x40868f
cmp dword [0xd0a7a8], 0x10
jae 0x40868f
push 0x3b
push ebp
call fcn.0044f470
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x40863e
mov byte [ebx], 0
mov eax, dword [0xd0a7a8]
mov ecx, eax
shl ecx, 6
add ecx, eax
push ebp
lea edx, [ecx*4 + 0x8eea50]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [0xd0a7a8]
mov ecx, eax
shl ecx, 6
add ecx, eax
lea edx, [ecx*4 + 0x8eea50]
push 0x4eb920
push edx
call fcn.00414c70
mov ecx, dword [0xd0a7a8]
add esp, 8
inc ecx
lea ebp, [ebx + 1]
cmp ebp, 1
mov dword [0xd0a7a8], ecx
jne 0x408621
push esi
push 0xffffffffffffffff
push str.RioThreadPriority
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x4086b1
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push esi
push 0xffffffffffffffff
push str.Background
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x4086d4
mov dword [0xd09e10], eax
mov dword [0xd09e0c], 1
push esi
push 0xffffffffffffffff
push str.ForceVersion
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x4086ed
mov dword [0x4c21e4], eax
push esi
push 0xffffffffffffffff
push str.MaxTask
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408727
test eax, eax
je 0x408718
cmp eax, 0x3e8
jbe 0x408711
mov eax, 0x3e8
mov dword [0x4c2350], eax
jmp 0x408722
mov dword [0x4c2350], 1
mov dword [0xd0abe4], eax
push esi
push 0xffffffffffffffff
push str.MaxMovie
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408740
mov dword [0xd0ad50], eax
push esi
push 0xffffffffffffffff
push str.QueryPerformanceCounter
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408759
mov dword [0x4c25f0], eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push esi
push 0x104
lea eax, [esp + 0x20]
push eax
push 0x4eb920
push str.CPUSleepFor
push str.Rio_Shiina_v2.50
call ebx
cmp eax, 0x104
jae 0x4087b3
mov al, byte [esp + 0x18]
test al, al
je 0x4087b3
lea edx, [esp + 0x10]
lea ecx, [esp + 0x18]
push edx
mov dword [esp + 0x14], ecx
call fcn.00440bd0
mov dword [0x4c238c], eax
lea eax, [esp + 0x14]
push eax
call fcn.00440bd0
add esp, 8
mov dword [0x4c2390], eax
push esi
push 0x104
lea ecx, [esp + 0x20]
push ecx
push 0x4eb920
push str.CPUSleepPM
push str.Rio_Shiina_v2.50
call ebx
cmp eax, 0x104
jae 0x4087f8
mov al, byte [esp + 0x18]
test al, al
je 0x4087f8
lea eax, [esp + 0x10]
lea edx, [esp + 0x18]
push eax
mov dword [esp + 0x14], edx
call fcn.00440bd0
add esp, 4
mov dword [0x4c2394], eax
push esi
push 0xffffffffffffffff
push str.MovieMasterVolumeLevel
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408811
mov dword [0x4c23c4], eax
push esi
push 0xffffffffffffffff
push str.KeyRepeatDelay
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x40882a
mov dword [0x4c2230], eax
push esi
push 0xffffffffffffffff
push str.KeyRepeatSpeed
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408843
mov dword [0x4c2234], eax
push esi
push 0xffffffffffffffff
push str.Turbo
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408865
test eax, eax
jne 0x408860
mov eax, 1
mov dword [0x4c2398], eax
push esi
push 0xffffffffffffffff
push str.ShowWindow
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x40887e
mov dword [0x4c2000], eax
push esi
push 0x104
lea ecx, [esp + 0x20]
push ecx
push 0x4eb920
push str.Render
push str.Rio_Shiina_v2.50
call ebx
cmp eax, 0x104
jae 0x408934
mov al, byte [esp + 0x18]
test al, al
je 0x408934
lea eax, [esp + 0x10]
lea edx, [esp + 0x18]
push eax
mov dword [esp + 0x14], edx
call fcn.00440bd0
mov ecx, dword [esp + 0x14]
mov dword [0xd09e24], eax
mov al, byte [ecx]
add esp, 4
test al, al
je 0x408934
lea edx, [esp + 0x10]
push edx
call fcn.00440bd0
mov ebp, eax
lea eax, [esp + 0x14]
push eax
call fcn.00440bd0
lea ecx, [esp + 0x18]
push ecx
mov ebx, eax
call fcn.00440bd0
mov eax, dword [0xd09e24]
add esp, 0xc
sub eax, 0
je 0x408928
sub eax, 2
je 0x40891a
dec eax
jne 0x408934
mov dword [0x4ba618], ebp
mov dword [0x4ba61c], ebx
jmp 0x408934
mov dword [0x4ba628], ebp
mov dword [0x4ba62c], ebx
jmp 0x408934
mov dword [0x4ba630], ebp
mov dword [0x4ba634], ebx
push esi
push 0xffffffffffffffff
push str.EmulateFullScreen
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
pop ebp
je 0x408953
mov dword [0xd09e20], eax
mov dword [0xd0ad38], eax
push esi
push 0xffffffffffffffff
push str.AdjustMousePos
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x40896c
mov dword [0xd0ad38], eax
push esi
push 0x104
lea edx, [esp + 0x1c]
push edx
push 0x4eb920
push str.ScriptThread
push str.Rio_Shiina_v2.50
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp eax, 0x104
jae 0x4089d1
mov al, byte [esp + 0x14]
test al, al
je 0x4089d1
lea ecx, [esp + 0xc]
lea eax, [esp + 0x14]
push ecx
mov dword [esp + 0x10], eax
call fcn.00440bd0
mov edx, dword [esp + 0x10]
mov dword [0x4ffc34], eax
mov al, byte [edx]
add esp, 4
test al, al
je 0x4089d1
lea eax, [esp + 0xc]
push eax
call fcn.00440bd0
add esp, 4
mov dword [0x4ffc38], eax
push esi
push 0xffffffffffffffff
push str.PaintMode
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x4089ea
mov dword [0xd0ad9c], eax
push esi
push 0xffffffffffffffff
push str.BackBuffer
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
mov ebx, 1
je 0x408a0e
mov dword [0xd0ada4], ebx
mov dword [0xd0ada8], eax
push esi
push 0xffffffffffffffff
push str.GetKeyboardState
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408a27
mov dword [0xd09e68], eax
push esi
push 0xffffffffffffffff
push str.ZoomWindow
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408a7b
cmp eax, 0x32
jae 0x408a47
mov eax, 0x32
jmp 0x408a53
cmp eax, 0xc8
jbe 0x408a53
mov eax, 0xc8
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
fild qword [esp + 0xc]
mov dword [0xd0ad38], ebx
fmul dword [0x4a1560]
fst dword [0x4c221c]
fstp dword [0x4c2220]
push esi
push 0xffffffffffffffff
push str.FontMode
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408ac9
sub eax, 0
mov ecx, 4
mov dword [0xd09e44], ebx
mov dword [0x4c2224], ecx
je 0x408abf
dec eax
je 0x408ab3
dec eax
jne 0x408ac9
mov dword [0x4c2224], ecx
jmp 0x408ac9
mov dword [0x4c2224], 2
jmp 0x408ac9
mov dword [0xd09e44], 0
push esi
push 0xffffffffffffffff
push str.MouseWheel
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408ae2
mov dword [0x4c222c], eax
push esi
push 0xffffffffffffffff
push str.MaxLocalVar
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408afb
mov dword [0x4c2354], eax
push esi
push 0xffffffffffffffff
push str.FileBufferSize
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408b17
shl eax, 0x14
mov dword [0xd09e7c], eax
push esi
push 0xffffffffffffffff
push str.AllocMemory
push str.Rio_Shiina_v2.50
call edi
cmp eax, 0xffffffff
je 0x408b33
shl eax, 0x14
mov dword [0xd09e04], eax
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x10c
ret