Function at 0x40a09b
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x7c
mov word [ebp - 0x28], 0xdb
mov word [ebp - 0x26], 0xa0
lea edx, [ebp - 0x50]
mov ebx, 0x40e7c0
mov eax, 0xa
mov edi, edx
mov esi, ebx
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x20], 1
mov word [ebp - 0x54], 1
mov word [ebp - 0x52], 2
mov word [ebp - 0x58], 0x13
mov word [ebp - 0x56], 0x17
mov word [ebp - 0x64], 1
mov word [ebp - 0x62], 2
mov word [ebp - 0x60], 0x13
mov word [ebp - 0x5e], 0x18
mov dword [esp], 0x6d4
call sym._malloc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x40a135
mov eax, dword [ebp - 0x24]
shl eax, 2
mov edx, eax
add edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov word [edx + 2], ax
mov eax, dword [ebp - 0x24]
shl eax, 2
add eax, dword [ebp - 0x1c]
mov byte [eax], 0x2a
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x1b4
jle 0x40a114
mov eax, dword [0x40f070]
lea edx, [ebp - 0x64]
mov dword [esp + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x58]
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._WriteConsoleOutputA_20
sub esp, 0x14
mov word [ebp - 0x54], 9
mov word [ebp - 0x52], 7
mov dword [ebp - 0x24], 0
jmp 0x40a1ea
movzx edx, word [ebp - 0x26]
mov eax, dword [0x40f070]
lea ecx, [ebp - 0x5c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x54]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._FillConsoleOutputAttribute_20
sub esp, 0x14
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp + eax*4 - 0x50]
mov eax, dword [0x40f070]
lea ecx, [ebp - 0x5c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x54]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._WriteConsoleOutputCharacterA_20
sub esp, 0x14
mov ax, word [ebp - 0x52]
inc eax
mov word [ebp - 0x52], ax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 9
jle 0x40a17f
mov word [ebp - 0x54], 0x15
mov word [ebp - 0x52], 2
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x54]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40e5b7
call sym._printf
mov word [ebp - 0x52], 3
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x54]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], str.Electricity_coal_supply_information_management_system
call sym._printf
mov word [ebp - 0x52], 4
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x54]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40e608
call sym._printf
mov word [ebp - 0x52], 6
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x54]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], str.Electricity_coal_supply_information_management_system_
call sym._printf
mov word [ebp - 0x52], 7
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x54]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40e678
call sym._printf
mov word [ebp - 0x52], 8
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x54]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40e6b4
call sym._printf
mov word [ebp - 0x52], 9
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x54]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40e6ef
call sym._printf
mov word [ebp - 0x52], 0xd
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x54]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40e709
call sym._printf
mov byte [ebp - 0x67], 0x2b
mov byte [ebp - 0x66], 0x2d
mov byte [ebp - 0x65], 0x7c
mov word [ebp - 0x52], 0xe
mov eax, dword [0x40f070]
lea edx, [ebp - 0x5c]
mov dword [esp + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
lea edx, [ebp - 0x67]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._WriteConsoleOutputCharacterA_20
sub esp, 0x14
mov word [ebp - 0x54], 0x16
mov al, byte [ebp - 0x66]
movsx edx, al
mov eax, dword [0x40f070]
lea ecx, [ebp - 0x5c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x54]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0x38
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._FillConsoleOutputCharacterA_20
sub esp, 0x14
mov word [ebp - 0x54], 0x4e
mov eax, dword [0x40f070]
lea edx, [ebp - 0x5c]
mov dword [esp + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
lea edx, [ebp - 0x67]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._WriteConsoleOutputCharacterA_20
sub esp, 0x14
mov word [ebp - 0x52], 0xf
jmp 0x40a463
mov word [ebp - 0x54], 0x15
mov eax, dword [0x40f070]
lea edx, [ebp - 0x5c]
mov dword [esp + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
lea edx, [ebp - 0x67]
add edx, 2
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._WriteConsoleOutputCharacterA_20
sub esp, 0x14
mov word [ebp - 0x54], 0x4e
mov eax, dword [0x40f070]
lea edx, [ebp - 0x5c]
mov dword [esp + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
lea edx, [ebp - 0x67]
add edx, 2
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._WriteConsoleOutputCharacterA_20
sub esp, 0x14
mov ax, word [ebp - 0x52]
inc eax
mov word [ebp - 0x52], ax
mov ax, word [ebp - 0x52]
cmp ax, 0x11
jle 0x40a3ee
mov word [ebp - 0x54], 0x15
mov eax, dword [0x40f070]
lea edx, [ebp - 0x5c]
mov dword [esp + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
lea edx, [ebp - 0x67]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._WriteConsoleOutputCharacterA_20
sub esp, 0x14
mov word [ebp - 0x54], 0x4e
mov eax, dword [0x40f070]
lea edx, [ebp - 0x5c]
mov dword [esp + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
lea edx, [ebp - 0x67]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._WriteConsoleOutputCharacterA_20
sub esp, 0x14
mov word [ebp - 0x54], 0x16
mov al, byte [ebp - 0x66]
movsx edx, al
mov eax, dword [0x40f070]
lea ecx, [ebp - 0x5c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x54]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0x38
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._FillConsoleOutputCharacterA_20
sub esp, 0x14
mov word [ebp - 0x54], 0x17
mov word [ebp - 0x52], 0xf
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x54]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], str.feishen
call sym._printf
mov word [ebp - 0x52], 0x11
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x54]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], str.Product_ID:_D10_611
call sym._printf
call dbg.ClearData
mov eax, dword [ebp - 0x20]
lea esp, [ebp - 0xc]
add esp, 0
pop ebx
pop esi
pop edi
leave
ret