Function at 0x404b4d
Capabilities:
Manipulate console buffer
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
mov word [ebp - 0x2a], 0x24
mov word [ebp - 0x28], 0xb
mov word [ebp - 0x26], 0xd4
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [esp + 4], 0x8000
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._open
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x404bbb
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0x8100
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._open
mov dword [ebp - 0x10], eax
mov dword [esp + 8], 4
lea eax, [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._read
mov dword [esp + 8], 4
lea eax, [ebp - 0x38]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._read
mov dword [esp + 8], 4
lea eax, [ebp - 0x3c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._read
mov dword [ebp - 0x14], 1
jmp 0x404c5d
mov dword [esp], 0x94
call sym._malloc
mov dword [ebp - 0x20], eax
mov dword [esp + 8], 0x94
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._read
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x8c], 0
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x90], edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x14], eax
jbe 0x404c12
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x24]
mov dword [eax], edx
mov dword [ebp - 0x14], 1
jmp 0x404d10
mov dword [esp], 0x40
call sym._malloc
mov dword [ebp - 0x1c], eax
mov dword [esp + 8], 0x40
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._read
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x38], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
jmp 0x404cc0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x404cdf
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 0x17]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x404cb4
cmp dword [ebp - 0x20], 0
je 0x404d02
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x8c]
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [eax + 0x8c], edx
jmp 0x404d0d
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym._free
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x14], eax
jbe 0x404c79
mov dword [ebp - 0x14], 1
jmp 0x404de8
mov dword [esp], 0x50
call sym._malloc
mov dword [ebp - 0x18], eax
mov dword [esp + 8], 0x50
mov eax, dword [ebp - 0x18]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._read
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xc], 0
jmp 0x404db1
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x1c], eax
jmp 0x404d99
mov eax, dword [ebp - 0x18]
lea edx, [eax + 0x23]
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x404d90
mov dword [ebp - 0xc], 1
jmp 0x404da5
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x404da5
cmp dword [ebp - 0xc], 0
je 0x404d6e
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x404dbd
cmp dword [ebp - 0xc], 0
je 0x404d60
cmp dword [ebp - 0xc], 0
je 0x404dda
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x4c], edx
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov dword [eax + 0x38], edx
jmp 0x404de5
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sym._free
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x14], eax
jbe 0x404d28
call dbg.DrawFrame
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x2a]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d4ff
call sym._printf
movzx edx, word [ebp - 0x26]
mov eax, dword [0x40f070]
lea ecx, [ebp - 0x30]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x2a]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._FillConsoleOutputAttribute_20
sub esp, 0x14
mov word [ebp - 0x2a], 0x22
mov word [ebp - 0x28], 0xf
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x2a]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d4e4
call sym._printf
call sym._getch
call dbg.ClearWorkArea
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._close
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call dbg.SaveSysData
mov eax, 1
leave
ret