Function at 0x4029c3
Capabilities:
Query environment variable

Disassembly:
sub esp, 0x90c
push ebx
push ebp
push esi
push edi
mov ebp, ecx
push str.HOME
mov byte [esp + 0x1b], 1
call dword [sym.imp.MSVCRT.dll_getenv]
test eax, eax
pop ecx
jne 0x4029e9
mov eax, 0x440990
push str..chromium
push eax
lea eax, [esp + 0x24]
push str._s__s
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea eax, [esp + 0x2c]
push eax
call fcn.00414bfe
lea eax, [esp + 0x30]
push 0x440974
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x402cc5
mov esi, dword [sym.imp.MSVCRT.dll_fgets]
push edi
lea eax, [esp + 0x120]
push 0x40
push eax
xor ebx, ebx
call esi
add esp, 0xc
test eax, eax
je 0x402a63
lea eax, [esp + 0x11c]
mov dword [esp + 0x18], eax
add dword [esp + 0x18], 0x40
push edi
push 0x40
inc ebx
push dword [esp + 0x20]
call esi
add esp, 0xc
test eax, eax
jne 0x402a4d
test ebx, ebx
jle 0x402ce6
mov edi, dword [sym.imp.MSVCRT.dll_sscanf]
mov dword [esp + 0x18], ebx
mov ebx, dword [sym.imp.MSVCRT.dll_strncmp]
lea esi, [esp + 0x11c]
push 8
push str.screenSi
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402aa2
lea eax, [ebp + 0x1c]
push eax
push str.screenSize__d_n
push esi
call edi
add esp, 0xc
push 8
push str.mouseSpe
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402ac2
lea eax, [ebp + 0x3c]
push eax
push str.mouseSpeed__f_n
push esi
call edi
add esp, 0xc
push 8
push str.gameSkil
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402ae2
lea eax, [ebp + 0x40]
push eax
push str.gameSkillBase__f_n
push esi
call edi
add esp, 0xc
push 8
push str.gfxLevel
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402b02
lea eax, [ebp + 0x34]
push eax
push str.gfxLevel__d_n
push esi
call edi
add esp, 0xc
push 8
push str.volSound
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402b22
lea eax, [ebp + 0x48]
push eax
push str.volSound__f_n
push esi
call edi
add esp, 0xc
push 8
push str.volMusic
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402b42
lea eax, [ebp + 0x4c]
push eax
push str.volMusic__f_n
push esi
call edi
add esp, 0xc
push 8
push str.full_scr
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402b6e
lea eax, [esp + 0x10]
push eax
push str.full_screen__d_n
push esi
call edi
add esp, 0xc
cmp dword [esp + 0x10], 0
setne al
mov byte [ebp + 0x18], al
push 8
push str.true_col
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402b9a
lea eax, [esp + 0x10]
push eax
push str.true_color__d_n
push esi
call edi
add esp, 0xc
cmp dword [esp + 0x10], 0
setne al
mov byte [ebp + 0x31], al
push 8
push str.swap_ste
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402bc6
lea eax, [esp + 0x10]
push eax
push str.swap_stereo__d_n
push esi
call edi
add esp, 0xc
cmp dword [esp + 0x10], 0
setne al
mov byte [ebp + 0x2e], al
push 8
push str.auto_spe
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402bf2
lea eax, [esp + 0x10]
push eax
push str.auto_speed__d_n
push esi
call edi
add esp, 0xc
cmp dword [esp + 0x10], 0
setne al
mov byte [ebp + 0x2f], al
push 8
push str.show_fps
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402c1e
lea eax, [esp + 0x10]
push eax
push str.show_fps__d_n
push esi
call edi
add esp, 0xc
cmp dword [esp + 0x10], 0
setne al
mov byte [ebp + 0x30], al
push 8
push str.use_play
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402c4a
lea eax, [esp + 0x10]
push eax
push str.use_playList__d_n
push esi
call edi
add esp, 0xc
cmp dword [esp + 0x10], 0
setne al
mov byte [ebp + 0x32], al
push 8
push str.use_cdro
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402c76
lea eax, [esp + 0x10]
push eax
push str.use_cdrom__d_n
push esi
call edi
add esp, 0xc
cmp dword [esp + 0x10], 0
setne al
mov byte [ebp + 0x33], al
push 8
push str.maxLevel
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402c96
lea eax, [ebp + 0x38]
push eax
push str.maxLevel__d_n
push esi
call edi
add esp, 0xc
push 8
push str.viewGamm
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x402cb6
lea eax, [ebp + 0x44]
push eax
push str.viewGamma__f_n
push esi
call edi
add esp, 0xc
add esi, 0x40
dec dword [esp + 0x18]
jne 0x402a82
jmp 0x402ce6
lea eax, [esp + 0x1c]
push eax
mov eax, dword [sym.imp.MSVCRT.dll__iob]
add eax, 0x40
push str.WARNING:_could_not_read_config_file___s__n
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0xc
and byte [esp + 0x17], 0
push dword [ebp + 0x1c]
mov ecx, ebp
call fcn.00402e89
mov al, byte [esp + 0x17]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90c
ret