Function at 0x49ed30
Capabilities:
Query environment variable

Disassembly:
push ebp
mov eax, 0x383c
push edi
push esi
push ebx
call fcn.004f11c8
sub esp, eax
movzx eax, byte [0x5034d9]
cmp byte [0xde8384], 0
movzx ebx, byte [0x5034db]
movzx esi, byte [0x5034d8]
mov byte [esp + 0x2c], al
movzx eax, byte [0x5034da]
mov byte [esp + 0x2d], al
jne 0x49f63f
mov ecx, dword [0xdc8468]
test ecx, ecx
je 0x49f5f7
lea eax, [esp + 0x30]
mov dword [esp + 0xc], str.sound.cfg
mov dword [esp + 8], 0x1165500
mov dword [esp + 4], 0x400
mov dword [esp], eax
call fcn.00404e10
lea eax, [esp + 0x30]
mov dword [esp + 4], 0x521935
mov dword [esp], eax
call fcn.00445e10
test eax, eax
je 0x49f6e8
mov dword [esp], eax
call sub.msvcrt.dll_fclose
call fcn.00409190
mov eax, esi
mov byte [esp + 0x2e], bl
mov byte [esp + 0x2f], al
lea esi, [esi]
lea esi, [esi]
mov eax, dword [0xdfda20]
mov dword [esp + 4], 0x52202d
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x49f3a4
mov dword [esp + 0x10], 0x521d58
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00408cb0
mov dword [esp + 0x10], 0x521e30
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.00408cb0
mov eax, dword [0x1165910]
lea edi, [eax - 0xa]
jmp 0x49e762
lea edx, [edi + 0xd]
mov dword [esp + 0x10], 0x521e5c
lea esi, [edi + 1]
sub edx, eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edx
mov dword [esp], 0xa
call fcn.00408cb0
mov eax, dword [0x1165910]
mov edi, esi
lea edx, [eax + 0xa]
cmp edx, esi
jl 0x49e950
test edi, edi
js 0x49e720
cmp dword [0xdc8468], edi
jle 0x49e720
xor ebx, ebx
mov edx, 0xffffffff
jmp 0x49e78f
add ebx, 1
cmp ebx, 0x190
je 0x49f390
imul ecx, ebx, 0x330
cmp byte [ecx + 0x11923ad], 0
je 0x49e780
add edx, 1
cmp edx, edi
jne 0x49e780
lea eax, [esp + 0x830]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.return_get_sound_name__d_
mov dword [esp], eax
call fcn.00498d50
lea eax, [esp + 0x830]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.004a3160
mov ebp, eax
mov eax, dword [0x1165910]
cmp edi, eax
jne 0x49e7e8
mov dword [0x116590c], ebx
imul eax, ebx, 0x330
lea esi, [edi + 1]
add edi, 0xd
cmp byte [eax + 0x11923ac], 0
je 0x49ea58
mov dword [esp + 4], esi
mov dword [esp], str.___3d
call fcn.00402550
mov dword [esp + 0xc], 7
mov dword [esp + 0x10], eax
mov eax, edi
sub eax, dword [0x1165910]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], 0xa
call fcn.00408cb0
mov eax, edi
sub eax, dword [0x1165910]
mov dword [esp + 0x10], 0x522038
mov dword [esp + 0xc], 8
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], 0x11
call fcn.00408cb0
mov eax, edi
sub eax, dword [0x1165910]
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], 8
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], 0x11
call fcn.00408cb0
cmp dword [0x5034f4], ebx
je 0x49f39a
mov eax, dword [0x1165910]
mov ecx, 8
cmp dword [0x5034e4], ebx
je 0x49e9e3
mov dword [esp + 0xc], ecx
mov ecx, edi
sub ecx, eax
mov dword [esp + 0x10], ebp
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], ecx
mov dword [esp], 0x11
call fcn.00408cb0
imul ebx, ebx, 0x330
movzx eax, byte [ebx + 0x11923ae]
test al, al
je 0x49e750
cmp al, 0x64
je 0x49e750
mov dword [esp + 4], eax
sbb ebx, ebx
mov dword [esp], str._2d__
and ebx, 0xfffffff8
add ebx, 0xf
call fcn.00402550
sub edi, dword [0x1165910]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edi
mov edi, esi
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp], 0x37
call fcn.00408cb0
mov eax, dword [0x1165910]
lea edx, [eax + 0xa]
cmp edx, esi
jge 0x49e762
lea esi, [esi]
mov dword [esp + 0x10], 0x521eb0
mov dword [esp + 0xc], 0x3b
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xd
mov dword [esp], 6
call fcn.00408cb0
mov dword [esp + 0x10], 0x521eb4
mov dword [esp + 0xc], 0x3b
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xd
mov dword [esp], 0x45
call fcn.00408cb0
mov edx, dword [0x54b7c4]
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x24]
mov byte [eax], 1
mov dword [eax + 4], edx
mov byte [0xdfdfd6], 0
call fcn.0040dac0
movsx ebx, al
lea eax, [ebx - 8]
cmp al, 0x71
ja case.0x49e9d7.1
movzx eax, al
jmp dword [eax*4 + 0x52206c]
mov ecx, 0xd
mov eax, edi
sub eax, dword [0x1165910]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0x521e97
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], 0xa
mov dword [esp + 0x28], ecx
call fcn.00408cb0
mov dword [esp + 4], ebp
mov dword [esp], str.__40s___playing_
call fcn.00402550
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 0x10], eax
mov eax, edi
sub eax, dword [0x1165910]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov dword [esp], 0x11
call fcn.00408cb0
jmp 0x49e8df
mov dword [esp + 4], esi
mov dword [esp], str.___3d
call fcn.00402550
mov dword [esp + 0xc], 0xb
mov dword [esp + 0x10], eax
mov eax, edi
sub eax, dword [0x1165910]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], 0xa
call fcn.00408cb0
mov eax, edi
sub eax, dword [0x1165910]
mov dword [esp + 0x10], 0x522038
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], 0x11
call fcn.00408cb0
mov eax, edi
sub eax, dword [0x1165910]
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], 0x11
call fcn.00408cb0
cmp dword [0x5034f4], ebx
je 0x49e9de
mov eax, dword [0x1165910]
mov ecx, 0xd
cmp dword [0x5034e4], ebx
je 0x49e9e3
mov ecx, 1
jmp 0x49e8bb
call fcn.0040e990
jmp 0x49e6a0
mov eax, dword [0x116590c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 9
mov dword [esp], eax
call fcn.00416830
mov ecx, dword [0xdc8468]
mov eax, dword [0x1165910]
lea eax, [ecx + eax - 0xa]
cdq
idiv ecx
mov dword [0x1165910], edx
jmp 0x49e6a0
mov eax, dword [0x116590c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 9
mov dword [esp], eax
call fcn.00416830
movzx eax, byte [ebx + 0xdfd920]
mov ecx, dword [0xdc8468]
movsx eax, word [eax + eax + 0x5025f8]
add eax, dword [0x1165910]
add eax, ecx
cdq
idiv ecx
mov dword [0x1165910], edx
jmp 0x49e6a0
mov eax, dword [0x116590c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 9
mov dword [esp], eax
call fcn.00416830
mov ecx, dword [0xdc8468]
mov eax, dword [0x1165910]
lea eax, [ecx + eax + 0xa]
cdq
idiv ecx
mov dword [0x1165910], edx
jmp 0x49e6a0
mov eax, dword [0xdc8468]
mov dword [esp], str.Enter_index_number:
mov dword [esp + 4], eax
call fcn.00414be0
sub eax, 1
mov ebx, eax
je 0x49e6a0
mov eax, dword [0x116590c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 9
mov dword [esp], eax
call fcn.00416830
mov edx, ebx
test ebx, ebx
jns 0x49ec8d
xor edx, edx
xor ebx, ebx
mov ecx, dword [0xdc8468]
lea eax, [ecx - 1]
cmp ecx, ebx
cmovg eax, edx
mov dword [0x1165910], eax
jmp 0x49e6a0
mov eax, dword [0x116590c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 9
mov dword [esp], eax
call fcn.00416830
mov dword [0x1165910], 0
jmp 0x49e6a0
mov eax, dword [0x116590c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 9
mov dword [esp], eax
call fcn.00416830
mov eax, dword [0xdc8468]
sub eax, 1
mov dword [0x1165910], eax
jmp 0x49e6a0
movzx eax, byte [esp + 0x2c]
movzx esi, byte [esp + 0x2f]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
movzx ebx, byte [esp + 0x2e]
mov byte [0x5034d9], al
movzx eax, byte [esp + 0x2d]
mov dword [esp + 0xc], 0
mov byte [0x5034da], al
mov eax, esi
mov byte [0x5034d8], al
mov eax, dword [0x116590c]
mov dword [esp + 8], 0x64
mov dword [esp + 4], 9
mov dword [esp], eax
mov byte [0x5034db], bl
call fcn.00416830
lea eax, [esp + 0x30]
mov dword [esp + 0xc], str.sound.cfg
mov dword [esp + 8], 0x1165500
mov dword [esp + 4], 0x400
mov dword [esp], eax
call fcn.00404e10
cmp byte [0xd67a86], 0
jne 0x49ee4a
mov dword [esp], str.HOMEDRIVE
call sub.msvcrt.dll_getenv
test eax, eax
je 0x49ee4a
mov dword [esp], str.HOMEPATH
call sub.msvcrt.dll_getenv
test eax, eax
je 0x49ee4a
mov dword [esp], str.HOMEDRIVE
lea esi, [esp + 0x430]
call sub.msvcrt.dll_getenv
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
mov dword [esp], str.HOMEPATH
call sub.msvcrt.dll_getenv
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcat
mov dword [esp], esi
call sub.msvcrt.dll_strlen
add eax, esi
mov dword [eax], 0x6d6f545c
mov dword [eax + 4], 0x54454e65
mov dword [eax + 8], 0x736f6e2d
mov dword [eax + 0xc], 0x646e756f
mov dword [eax + 0x10], 0x6766632e
mov byte [eax + 0x14], 0
jmp 0x49ee71
lea esi, [esp + 0x430]
mov dword [esp + 0xc], str.TomeNET_nosound.cfg
mov dword [esp + 8], 0x1165500
mov dword [esp + 4], 0x400
mov dword [esp], esi
call fcn.00404e10
lea eax, [esp + 0x30]
mov dword [esp + 4], 0x521935
mov dword [esp], eax
call fcn.00445e10
mov dword [esp + 4], 0x52197d
mov dword [esp], esi
mov ebx, eax
call fcn.00445e10
mov dword [esp + 0x28], eax
test ebx, ebx
je 0x49f6e8
lea ebp, [esp + 0x830]
test eax, eax
je 0x49f7e5
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x1000
mov dword [esp], ebp
call sub.msvcrt.dll_fgets
test eax, eax
je 0x49f3da
movsx eax, byte [esp + 0x830]
cmp al, 0x3b
je 0x49f3b1
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_tolower]
sub eax, 0x61
cmp eax, 0x19
ja 0x49eeb2
mov eax, ebp
lea edi, [esp + 0x2830]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], 0x20
mov dword [esp], edi
call sub.msvcrt.dll_strchr
mov byte [eax], 0
mov dword [esp + 4], edi
mov dword [esp], str.return_get_sound_index___s__
call fcn.00402550
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.004a30d0
cmp eax, 0xffffffff
je 0x49eeb2
imul eax, eax, 0x330
cmp byte [eax + 0x11923ad], 0
je 0x49eeb2
cmp byte [eax + 0x11923ac], 0
je 0x49eeb2
mov dword [esp + 4], edi
lea edi, [esp + 0x1830]
mov dword [esp], edi
call sub.msvcrt.dll_strcpy
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov edx, 0xa
mov word [esp + eax + 0x1830], dx
mov eax, dword [esp + 0x28]
mov dword [esp], edi
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
jmp 0x49eeb2
mov dword [esp + 4], 2
mov dword [esp], str.screenshot____
call fcn.004478c0
jmp 0x49e6a0
cmp byte [0x5034db], 0
jne 0x49efd4
mov byte [0x5034db], 1
mov byte [0x5034da], 0
mov byte [0x5034d8], 0
mov edx, dword [0x116590c]
mov byte [0x5034d9], 1
imul eax, edx, 0x330
movzx ebx, byte [eax + 0x11923ac]
mov byte [eax + 0x11923ac], 0
add eax, 0x1192080
cmp byte [0xdfdfd6], 1
je 0x49f72a
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 2
mov dword [esp], edx
call fcn.00416830
mov eax, dword [0x116590c]
imul eax, eax, 0x330
mov byte [eax + 0x11923ac], bl
jmp 0x49e6a0
mov eax, dword [0x116590c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 9
mov dword [esp], eax
call fcn.00416830
mov ecx, dword [0xdc8468]
mov eax, dword [0x1165910]
lea eax, [ecx + eax - 1]
cdq
idiv ecx
mov dword [0x1165910], edx
jmp 0x49e6a0
mov eax, dword [0x116590c]
imul edx, eax, 0x330
mov byte [edx + 0x11923ac], 1
cmp eax, dword [0x5034f4]
je 0x49f253
cmp dword [0x5034e4], eax
je 0x49f283
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 9
mov dword [esp], eax
call fcn.00416830
mov ecx, dword [0xdc8468]
mov eax, dword [0x1165910]
lea eax, [ecx + eax + 1]
cdq
idiv ecx
mov dword [0x1165910], edx
jmp 0x49e6a0
call fcn.0042d3f0
mov byte [0xdfdfd8], 1
jmp 0x49e6a0
mov eax, dword [0x116590c]
imul edx, eax, 0x330
mov byte [edx + 0x11923ac], 0
cmp eax, dword [0x5034f4]
je 0x49f616
cmp dword [0x5034e4], eax
jne 0x49f0c9
mov dword [esp], eax
mov dword [0x5034e4], 0xffffffff
call fcn.0049b880
mov eax, dword [0x116590c]
jmp 0x49f0c9
mov dword [esp + 0x10], 0x521f54
movzx edi, byte [0xdfdfd8]
lea ebx, [esp + 0x2830]
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 1
mov dword [esp], 0
mov byte [0xdfdfd8], 1
call fcn.00408cb0
mov dword [esp + 0x10], str.__Enter_volume____1..200__other_values_will_reset_to_100__:
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.00408cb0
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], ebx
mov dword [esp + 0x2830], 0x303031
call fcn.0040f0c0
test al, al
mov eax, edi
mov byte [0xdfdfd8], al
jne 0x49f780
imul eax, dword [0x116590c], 0x330
mov byte [eax + 0x11923ae], 0
jmp 0x49e6a0
mov eax, dword [0x116590c]
imul ecx, eax, 0x330
movzx edx, byte [ecx + 0x11923ac]
xor edx, 1
mov byte [ecx + 0x11923ac], dl
mov ecx, dword [0x5034f4]
test dl, dl
je 0x49f60e
cmp eax, ecx
jne 0x49f0bd
mov edx, dword [0x5034f8]
cmp edx, 0xffffffff
je 0x49f0bd
mov dword [esp], edx
call sub.SDL2_mixer.dll_Mix_Playing
test eax, eax
jne 0x49f807
mov eax, dword [0x116590c]
cmp dword [0x5034e4], eax
jne 0x49f0c9
mov edx, dword [0x5034e8]
cmp edx, 0xffffffff
je 0x49f0c9
mov dword [esp], edx
call sub.SDL2_mixer.dll_Mix_Playing
test eax, eax
je 0x49f163
mov eax, dword [0x5034e8]
mov dword [esp], eax
call sub.SDL2_mixer.dll_Mix_HaltChannel
jmp 0x49f163
xor eax, eax
lea edi, [esp + 0x2830]
mov ecx, 0x14
rep stosd dword es:[edi], eax
mov dword [esp + 0x10], str.__Enter__partial__sound_event_name:
lea edi, [esp + 0x2830]
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00408cb0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4f
mov dword [esp], edi
call fcn.0040f0c0
cmp byte [esp + 0x2830], 0
je 0x49e6a0
mov ecx, 0x11923ad
xor ebx, ebx
mov ebp, 0xffffffff
mov esi, ecx
cmp byte [esi], 0
je 0x49f7b0
lea eax, [esp + 0x830]
mov dword [esp + 8], ebx
add ebp, 1
mov dword [esp + 4], str.return_get_sound_name__d_
mov dword [esp], eax
call fcn.00498d50
lea eax, [esp + 0x830]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.004a3160
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x49f7b0
mov dword [0x1165910], ebp
jmp 0x49e6a0
mov ebp, str._nothing_
jmp 0x49e7de
mov ecx, 8
jmp 0x49e9e3
mov dword [esp + 0x10], str.____
jmp 0x49e6c5
movsx eax, byte [esp + 0x831]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_tolower]
sub eax, 0x61
cmp eax, 0x19
ja 0x49eeb2
lea eax, [esp + 0x831]
jmp 0x49eef1
mov dword [esp], ebx
call sub.msvcrt.dll_ferror
test eax, eax
jne 0x49f7d0
mov dword [esp], ebx
call sub.msvcrt.dll_fclose
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
lea eax, [esp + 0x30]
mov dword [esp + 0xc], str.sound.cfg
mov dword [esp + 8], 0x1165500
mov dword [esp + 4], 0x400
mov dword [esp], eax
call fcn.00404e10
cmp byte [0xd67a86], 0
je 0x49f656
mov dword [esp + 0xc], str.TomeNET_soundvol.cfg
mov dword [esp + 8], 0x1165500
mov dword [esp + 4], 0x400
mov dword [esp], esi
call fcn.00404e10
lea eax, [esp + 0x30]
mov dword [esp + 4], 0x521935
mov dword [esp], eax
call fcn.00445e10
mov dword [esp], esi
mov dword [esp + 4], 0x52197d
mov ebx, eax
call fcn.00445e10
mov esi, eax
test ebx, ebx
je 0x49f6e8
test eax, eax
je 0x49f7f6
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x1000
mov dword [esp], ebp
call sub.msvcrt.dll_fgets
test eax, eax
je 0x49f5cc
movsx eax, byte [esp + 0x830]
cmp al, 0x3b
je 0x49f5a3
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_tolower]
sub eax, 0x61
cmp eax, 0x19
ja 0x49f487
mov eax, ebp
lea edi, [esp + 0x2830]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], 0x20
mov dword [esp], edi
call sub.msvcrt.dll_strchr
mov byte [eax], 0
mov dword [esp + 4], edi
mov dword [esp], str.return_get_sound_index___s__
call fcn.00402550
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.004a30d0
cmp eax, 0xffffffff
je 0x49f487
imul eax, eax, 0x330
cmp byte [eax + 0x11923ad], 0
lea edx, [eax + 0x1192080]
je 0x49f487
cmp byte [eax + 0x11923ae], 0
je 0x49f487
mov dword [esp + 4], edi
lea edi, [esp + 0x1830]
mov dword [esp], edi
mov dword [esp + 0x28], edx
call sub.msvcrt.dll_strcpy
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov edx, 0xa
mov word [esp + eax + 0x1830], dx
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.msvcrt.dll_fputs
mov edx, dword [esp + 0x28]
movzx eax, byte [edx + 0x32e]
mov dword [esp + 4], 0x521f4d
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.00498b60
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.msvcrt.dll_fputs
jmp 0x49f487
movsx eax, byte [esp + 0x831]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_tolower]
sub eax, 0x61
cmp eax, 0x19
ja 0x49f487
lea eax, [esp + 0x831]
jmp 0x49f4c6
mov dword [esp], ebx
call sub.msvcrt.dll_ferror
test eax, eax
jne 0x49f719
mov dword [esp], ebx
call sub.msvcrt.dll_fclose
mov dword [esp], esi
call sub.msvcrt.dll_fclose
add esp, 0x383c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], str.No_sound_effects_available.
call fcn.00413da0
add esp, 0x383c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, ecx
jne 0x49f145
cmp dword [0x5034f0], 0xffffffff
mov dword [0x5034f4], 0xffffffff
je 0x49f6ff
mov dword [esp], eax
call fcn.0049c690
mov eax, dword [0x116590c]
jmp 0x49f145
mov dword [esp], str.Client_is_running_in_quiet_mode__sounds_are_not_available.
call fcn.00413da0
add esp, 0x383c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], str.HOMEDRIVE
call sub.msvcrt.dll_getenv
test eax, eax
je 0x49f42f
mov dword [esp], str.HOMEPATH
call sub.msvcrt.dll_getenv
test eax, eax
je 0x49f42f
mov dword [esp], str.HOMEDRIVE
call sub.msvcrt.dll_getenv
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
mov dword [esp], str.HOMEPATH
call sub.msvcrt.dll_getenv
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcat
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov ecx, 0x67
add eax, esi
mov dword [eax], 0x6d6f545c
mov dword [eax + 4], 0x54454e65
mov dword [eax + 8], 0x756f732d
mov dword [eax + 0xc], 0x6f76646e
mov dword [eax + 0x10], 0x66632e6c
mov word [eax + 0x14], cx
jmp 0x49f44f
mov dword [esp], str.Error:_File_sound.cfg_not_found.
call fcn.00413da0
add esp, 0x383c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call fcn.0049bea0
mov eax, dword [0x116590c]
jmp 0x49f145
mov dword [esp], str.Error:_Failed_to_read_from_file_sound.cfg.
call fcn.00413da0
jmp 0x49f5dc
movzx edi, byte [eax + 0x32e]
mov byte [eax + 0x32e], 0xc8
mov dword [esp], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x64
mov dword [esp + 4], 2
call fcn.00416830
mov eax, dword [0x116590c]
mov ecx, edi
imul edx, eax, 0x330
mov byte [edx + 0x11923ae], cl
jmp 0x49f03c
mov dword [esp], ebx
call sub.msvcrt.dll_atoi
test eax, eax
jle 0x49f7e1
cmp eax, 0x64
je 0x49f7e1
mov edx, 0xc8
cmp eax, edx
cmovg eax, edx
imul edx, dword [0x116590c], 0x330
mov byte [edx + 0x11923ae], al
jmp 0x49e6a0
add ebx, 1
add esi, 0x330
cmp ebx, 0x190
jne 0x49f32f
jmp 0x49e6a0
mov dword [esp], str.Error:_Failed_to_read_from_file_sound.cfg.
call fcn.00413da0
jmp 0x49f3ea
xor eax, eax
jmp 0x49f79b
mov dword [esp], str.Error:_Cannot_write_to_disabled_sound_config_file.
call fcn.00413da0
jmp 0x49f5ec
mov dword [esp], str.Error:_Cannot_write_to_sound_volume_config_file.
call fcn.00413da0
jmp 0x49f5ec
mov eax, dword [0x5034f8]
mov dword [esp], eax
call sub.SDL2_mixer.dll_Mix_HaltChannel
jmp 0x49f272