Function at 0x4048a1
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov word [ebp - 0x1e], 0x24
mov word [ebp - 0x1c], 0xb
mov word [ebp - 0x1a], 0xd4
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
jmp 0x40492e
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x14], eax
jmp 0x40491c
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x10], eax
jmp 0x40490d
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4048fd
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x4048eb
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x4048d6
mov dword [esp + 4], 0x8001
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._open
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
jne 0x40496e
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp + 4], 0x8100
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._open
mov dword [ebp - 0xc], eax
mov dword [esp + 8], 4
lea eax, [ebp - 0x28]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._write
mov dword [esp + 8], 4
lea eax, [ebp - 0x2c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._write
mov dword [esp + 8], 4
lea eax, [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._write
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
jmp 0x4049ea
mov dword [esp + 8], 4
mov eax, dword [ebp - 0x18]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._write
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x4049c4
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
jmp 0x404a3b
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x14], eax
jmp 0x404a29
mov dword [esp + 8], 4
mov eax, dword [ebp - 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._write
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x404a06
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x4049f8
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
jmp 0x404aa6
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x14], eax
jmp 0x404a94
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x10], eax
jmp 0x404a85
mov dword [esp + 8], 4
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._write
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x404a62
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x404a57
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x404a49
call dbg.DrawFrame
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x1e]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d4f4
call sym._printf
movzx edx, word [ebp - 0x1a]
mov eax, dword [0x40f070]
lea ecx, [ebp - 0x24]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x1e]
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 - 0x1e], 0x22
mov word [ebp - 0x1c], 0xf
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x1e]
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 - 0xc]
mov dword [esp], eax
call sym._close
mov eax, 1
leave
ret