Function at 0x4e5fb0
Capabilities:
Get memory capacity
Hide graphical window

Disassembly:
mov eax, dword fs:[0]
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e6730
push eax
mov dword fs:[0], esp
sub esp, 0x3c4
push ebx
push esi
push edi
mov esi, ecx
call dword [sym.imp.WINMM.dll_timeGetTime]
push eax
call fcn.00535180
add esp, 4
mov ecx, dword [esi + 0x1ac]
push str.Screen_Size
push 1
call fcn.004254d0
cmp eax, 0x320
jg 0x4e6006
je 0x4e6032
cmp eax, 0x280
je 0x4e6016
jmp 0x4e6084
cmp eax, 0x400
je 0x4e604e
cmp eax, 0x500
je 0x4e606a
jmp 0x4e6084
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e0], 0x280
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e4], 0x1e0
jmp 0x4e6084
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e0], 0x320
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e4], 0x258
jmp 0x4e6084
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e0], 0x400
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e4], 0x300
jmp 0x4e6084
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e0], 0x500
mov eax, dword [esi + 0xc]
mov dword [eax + 0x8e4], 0x400
push str.Rollover_Text
mov ecx, dword [esi + 0x1ac]
push 1
call fcn.004254d0
mov dword [esi + 0xa08], 0
cmp eax, 2
je 0x4e60af
mov dword [esi + 0xa08], 1
push str.Mouse_Style
mov ecx, dword [esi + 0x1ac]
push 1
call fcn.004254d0
cmp eax, 2
jne 0x4e60d4
mov eax, dword [esi + 0xc]
mov word [eax + 0x8dc], 2
jmp 0x4e60e5
cmp eax, 1
jne 0x4e60e5
mov eax, dword [esi + 0xc]
mov word [eax + 0x8dc], 1
push str.Game_Speed
mov ecx, dword [esi + 0x1ac]
push 1
call fcn.004254d0
cmp eax, 0xffffffff
je 0x4e610e
mov dword [ebp - 0x30], eax
fild dword [ebp - 0x30]
fmul dword [0x553b70]
fstp dword [esi + 0xa0c]
push str.Difficulty
mov ecx, dword [esi + 0x1ac]
push 1
call fcn.004254d0
cmp eax, 0xffffffff
je 0x4e612b
mov dword [esi + 0xa10], eax
push str.Path_Finding
mov ecx, dword [esi + 0x1ac]
push 1
call fcn.004254d0
cmp eax, 1
jl 0x4e6151
cmp eax, 3
jg 0x4e6151
dec al
mov ecx, esi
push eax
call fcn.004eb690
push str.MP_Path_Finding
mov ecx, dword [esi + 0x1ac]
push 1
call fcn.004254d0
cmp eax, 1
jl 0x4e6177
cmp eax, 3
jg 0x4e6177
dec al
mov ecx, esi
push eax
call fcn.004eb6a0
push str.Scroll_Speed
mov ecx, dword [esi + 0x1ac]
push 1
call fcn.004254d0
cmp eax, 0xffffffff
je 0x4e61ac
cmp eax, 0xa
jl 0x4e61ac
cmp eax, 0xc8
jg 0x4e61ac
mov ecx, dword [esi + 0xc]
mov dword [ecx + 0x8c8], eax
mov ecx, dword [esi + 0xc]
mov dword [ecx + 0x8d0], eax
mov ebx, dword [esi]
mov ecx, esi
call dword [ebx + 0x60]
test eax, eax
jne 0x4e61d1
mov dword [esi + 0x40], 2
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esi + 0x2ed]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x7ddf84], eax
test eax, eax
jne 0x4e61f0
mov dword [esi + 0x40], 1
jmp 0x4e61be
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov eax, dword [ebp - 0x20]
cmp eax, 0x1400000
jb 0x4e620e
mov eax, dword [ebp - 0x18]
cmp eax, 0xa00000
jae 0x4e6235
mov eax, dword [ebp - 0x20]
cmp eax, 0xa00000
jb 0x4e6222
mov eax, dword [ebp - 0x18]
cmp eax, 0x1400000
jae 0x4e6235
mov eax, dword [ebp - 0x18]
cmp eax, 0x1e00000
jae 0x4e6235
mov dword [esi + 0x40], 0x16
jmp 0x4e61be
mov ecx, esi
call dword [ebx + 0x13c]
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x87c]
test ecx, ecx
je 0x4e6261
mov ecx, esi
call fcn.004e90e0
test eax, eax
jne 0x4e6261
mov dword [esi + 0x40], 3
jmp 0x4e61be
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x88c]
test ecx, ecx
je 0x4e6285
mov ecx, esi
call fcn.004e9150
test eax, eax
jne 0x4e6285
mov dword [esi + 0x40], 4
jmp 0x4e61be
lea eax, [ebp - 0x1bc]
lea ecx, [ebp - 0x30]
push eax
push ecx
call fcn.00457610
add esp, 8
mov ecx, dword [ebp - 0x30]
cmp ecx, 0x501
jae 0x4e62af
mov dword [esi + 0x40], 0x14
jmp 0x4e61be
push 0
lea eax, [esi + 0x38]
push eax
mov edi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 0
push 0x10
call edi
mov eax, dword [esi + 0x38]
test eax, eax
je 0x4e62d2
push 2
push 0
push 0
push 0x11
call edi
push 0
lea eax, [esi + 0x3c]
push eax
push 0
push 0x53
call edi
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x4e62ef
push 2
push 0
push 0
push 0x55
call edi
push 0
mov ecx, esi
call fcn.004e8fc0
mov ecx, esi
mov dword [esi + 0x9ac], eax
call dword [ebx + 0x64]
test eax, eax
jne 0x4e6313
mov dword [esi + 0x40], 5
jmp 0x4e61be
mov ecx, esi
call dword [ebx + 0x68]
test eax, eax
jne 0x4e6328
mov dword [esi + 0x40], 6
jmp 0x4e61be
mov ecx, esi
call dword [ebx + 0x6c]
test eax, eax
jne 0x4e6348
mov eax, dword [esi + 0x40]
test eax, eax
jne 0x4e61be
mov dword [esi + 0x40], 7
jmp 0x4e61be
mov ecx, esi
call dword [ebx + 0x70]
test eax, eax
jne 0x4e635d
mov dword [esi + 0x40], 0x11
jmp 0x4e61be
mov ecx, esi
call dword [ebx + 0x94]
test eax, eax
jne 0x4e6375
mov dword [esi + 0x40], 7
jmp 0x4e61be
mov ecx, esi
call dword [ebx + 0x138]
test eax, eax
jne 0x4e638d
mov dword [esi + 0x40], 7
jmp 0x4e61be
mov ecx, esi
call dword [ebx + 0x74]
test eax, eax
jne 0x4e63a2
mov dword [esi + 0x40], 8
jmp 0x4e61be
mov ecx, esi
call dword [ebx + 0x88]
test eax, eax
jne 0x4e63ba
mov dword [esi + 0x40], 0xa
jmp 0x4e61be
mov ecx, esi
call dword [ebx + pe_nt_image_headers32]
test eax, eax
jne 0x4e63d2
mov dword [esi + 0x40], 0x10
jmp 0x4e61be
mov ecx, esi
call dword [ebx + 0x84]
test eax, eax
jne 0x4e63ea
mov dword [esi + 0x40], 9
jmp 0x4e61be
mov ecx, esi
call dword [ebx + 0x8c]
test eax, eax
jne 0x4e6402
mov dword [esi + 0x40], 0xb
jmp 0x4e61be
mov ecx, esi
call dword [ebx + 0x90]
test eax, eax
jne 0x4e641a
mov dword [esi + 0x40], 0xc
jmp 0x4e61be
push 0x274
call fcn.0052f700
mov dword [ebp - 0x30], eax
add esp, 4
mov dword [ebp - 4], 0
mov edi, eax
mov eax, 0
test edi, edi
je 0x4e6443
mov ecx, edi
call fcn.004471a0
mov dword [ebp - 4], 0xffffffff
mov dword [0x7ddf64], eax
test eax, eax
je 0x4e61be
mov ecx, esi
call dword [ebx + 0x98]
test eax, eax
jne 0x4e646f
mov dword [esi + 0x40], 0xd
jmp 0x4e61be
push 0
mov ecx, esi
call dword [ebx + 0xc]
mov ecx, esi
call dword [ebx + 0x9c]
push 0
mov eax, dword [esi + 0x10]
push 0
mov ecx, esi
push 0
push eax
call dword [ebx + 0xe0]
mov ebx, 1
push 5
mov dword [esi + 0x14], ebx
mov eax, dword [esi + 0x10]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esi + 0x10]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, esi
call fcn.004e9690
push 0
mov ecx, dword [esi + 0x10]
push 0x32
push ebx
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
push str.Game_File_Number
mov dword [esi + 0x44], eax
push 0
mov ecx, dword [esi + 0x1ac]
call fcn.004254d0
test eax, eax
jl 0x4e659c
push str.Game_File_Number
mov ecx, dword [esi + 0x1ac]
push 0
call fcn.004254d0
push eax
push str.game_d.nfo
lea eax, [ebp - 0x1b8]
push eax
call fcn.00535470
add esp, 0xc
push 0x118
call fcn.0052f700
mov dword [ebp - 0x30], eax
add esp, 4
mov edi, eax
mov dword [ebp - 4], ebx
mov eax, 0
test edi, edi
je 0x4e6534
lea eax, [ebp - 0x1b8]
mov ecx, edi
push eax
call fcn.004d7db0
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 4], eax
mov eax, dword [esi + 0xc]
lea ecx, [ebp - 0x1b8]
add eax, 0xc17
push eax
push str._sscenario.inf
push ecx
call fcn.00535470
add esp, 0xc
push 0x10c
call fcn.0052f700
mov dword [ebp - 0x30], eax
add esp, 4
mov dword [ebp - 4], 3
mov edi, eax
test edi, edi
je 0x4e6628
lea eax, [ebp - 0x1b8]
mov ecx, edi
push eax
call fcn.00420d80
jmp 0x4e662a
xor edi, edi
push edi
lea eax, [ebp - 0x1b8]
push str.game_d.nfo
push eax
call fcn.00535470
add esp, 0xc
lea eax, [ebp - 0x3d0]
lea ecx, [ebp - 0x1b8]
nop
push eax
push ecx
call fcn.00536370
add esp, 8
cmp eax, 0xffffffff
je 0x4e65dd
inc edi
cmp edi, 0x270f
jl 0x4e659e
jmp 0x4e653e
push edi
mov ecx, dword [esi + 0x1ac]
push str.Game_File_Number
push 0
call fcn.004253f0
push 0x118
call fcn.0052f700
mov dword [ebp - 0x30], eax
add esp, 4
mov dword [ebp - 4], 2
mov edi, eax
mov eax, 0
test edi, edi
je 0x4e6534
jmp 0x4e6526
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 8], eax
mov eax, dword [0x7ddf7c]
test eax, eax
je 0x4e66eb
mov al, byte [0x7be870]
test al, al
jne 0x4e66d4
xor edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_OpenFile]
push edi
lea eax, [ebp - 0x2b8]
push str.drawlog_d.txt
push eax
call fcn.00535470
add esp, 0xc
lea eax, [ebp - 0xb4]
lea ecx, [ebp - 0x2b8]
nop
push 0x4000
push eax
push ecx
call esi
cmp eax, 0xffffffff
je 0x4e6691
inc edi
cmp edi, 0x3e8
jl 0x4e6656
jmp 0x4e66eb
push 0x564f9c
lea eax, [ebp - 0x2b8]
push eax
lea edi, [ebp - 0x2b8]
call fcn.00535860
add esp, 8
mov ecx, 0xffffffff
mov dword [0x7ddf68], eax
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
mov edi, 0x7be870
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4e66eb
push 0x564f9c
push 0x7be870
call fcn.00535860
add esp, 8
mov dword [0x7ddf68], eax
mov eax, dword [0x56818c]
test eax, eax
je 0x4e6719
push 0x564f9c
push str.c:_fps.txt
call fcn.00535860
add esp, 8
mov dword [0x568190], eax
test eax, eax
jne 0x4e6719
mov dword [0x56818c], 0
mov eax, 1
jmp 0x4e61c0