Function at 0x406787
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x78
mov word [ebp - 0x28], 0
mov word [ebp - 0x26], 0
mov word [ebp - 0x24], 0x34
mov word [ebp - 0x22], 0xbc
mov word [ebp - 0x20], 0x54
mov word [ebp - 0x1e], 0xdc
mov word [ebp - 0x1c], 0x64
mov word [ebp - 0x1a], 0xec
mov dword [ebp - 0x18], 1
call dbg.CreatButton
jmp 0x4067cc
nop
mov eax, dword [0x40f080]
lea edx, [ebp - 0x4c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
lea edx, [ebp - 0x44]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._ReadConsoleInputA_16
sub esp, 0x10
mov eax, dword [ebp - 0x44]
cmp ax, 2
jne 0x4067cb
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
cmp ax, 1
jle 0x406e03
mov eax, dword [ebp - 0x48]
cmp ax, 0xb
jg 0x406e03
mov ax, word [ebp - 0x46]
cmp ax, 2
jle 0x406e03
mov ax, word [ebp - 0x46]
cmp ax, 7
jg 0x406e03
mov word [ebp - 0x28], 2
mov word [ebp - 0x26], 3
jmp 0x40687c
movzx edx, word [ebp - 0x22]
mov eax, dword [0x40f070]
lea ecx, [ebp - 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x28]
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 ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov ax, word [ebp - 0x26]
cmp ax, 7
jle 0x406845
mov eax, dword [ebp - 0x3c]
cmp eax, 1
jne 0x406e54
mov dword [esp], 0x94
call sym._malloc
mov dword [ebp - 0x14], eax
mov word [ebp - 0x28], 0xe
mov word [ebp - 0x26], 1
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40da48
call sym._printf
mov word [ebp - 0x26], 2
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d526
call sym._printf
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sym._gets
mov word [ebp - 0x26], 3
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d53f
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 7
mov dword [esp], eax
call sym._gets
mov word [ebp - 0x26], 4
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d558
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x1b
mov dword [esp], eax
call sym._gets
mov word [ebp - 0x26], 5
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d569
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x43
mov dword [esp], eax
call sym._gets
mov word [ebp - 0x26], 6
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d580
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x45
mov dword [esp], eax
call sym._gets
mov word [ebp - 0x26], 7
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d597
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x4f
mov dword [esp], eax
call sym._gets
mov word [ebp - 0x26], 8
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d5a8
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x54
mov dword [esp], eax
call sym._gets
mov word [ebp - 0x26], 9
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d5b9
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x60
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 0xa
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d5d1
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x64
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 0xb
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d5e6
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x68
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 0xc
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d5f9
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x6c
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 0xd
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d60e
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x70
mov dword [esp + 4], eax
mov dword [esp], 0x40d621
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 0xe
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d624
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x74
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 0xf
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d631
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x78
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 0x10
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d63e
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x7c
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 0x11
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d64b
call sym._printf
mov eax, dword [ebp - 0x14]
sub eax, 0xffffff80
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 0x12
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d658
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x84
mov dword [esp + 4], eax
mov dword [esp], 0x40d621
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 0x13
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d669
call sym._printf
mov eax, dword [ebp - 0x14]
add eax, 0x88
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x8c], 0
mov eax, dword [ebp - 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dbg.InsertCoalNode
mov dword [ebp - 0x18], eax
mov word [ebp - 0x26], 0x14
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
cmp dword [ebp - 0x18], 0
je 0x406d91
mov dword [esp], 0x40da71
call sym._printf
jmp 0x406d9d
mov dword [esp], 0x40da8a
call sym._printf
mov word [ebp - 0x26], 0x15
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40daa4
call sym._printf
lea eax, [ebp - 0x2d]
mov dword [esp + 4], eax
mov dword [esp], 0x40d6ab
call sym._scanf
call sym._getchar
mov al, byte [ebp - 0x2d]
cmp al, 0x59
je 0x406dec
mov al, byte [ebp - 0x2d]
cmp al, 0x4e
jne 0x406dc6
mov al, byte [ebp - 0x2d]
cmp al, 0x59
jne 0x407737
call dbg.ClearWorkArea
call dbg.CreatButton
jmp 0x406e55
mov word [ebp - 0x28], 2
mov word [ebp - 0x26], 3
jmp 0x406e48
movzx edx, word [ebp - 0x24]
mov eax, dword [0x40f070]
lea ecx, [ebp - 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x28]
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 ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov ax, word [ebp - 0x26]
cmp ax, 7
jle 0x406e11
jmp 0x406e55
nop
mov eax, dword [ebp - 0x48]
cmp ax, 1
jle 0x40722c
mov eax, dword [ebp - 0x48]
cmp ax, 0xb
jg 0x40722c
mov ax, word [ebp - 0x46]
cmp ax, 9
jle 0x40722c
mov ax, word [ebp - 0x46]
cmp ax, 0xe
jg 0x40722c
mov word [ebp - 0x28], 2
mov word [ebp - 0x26], 0xa
jmp 0x406ed0
movzx edx, word [ebp - 0x1e]
mov eax, dword [0x40f070]
lea ecx, [ebp - 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x28]
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 ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov ax, word [ebp - 0x26]
cmp ax, 0xe
jle 0x406e99
mov eax, dword [ebp - 0x3c]
cmp eax, 1
jne 0x40727d
mov dword [esp], 0x40
call sym._malloc
mov dword [ebp - 0x10], eax
mov word [ebp - 0x28], 0xe
mov word [ebp - 0x26], 1
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40dadc
call sym._printf
mov word [ebp - 0x26], 2
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40db0d
call sym._printf
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._gets
mov word [ebp - 0x26], 3
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d73c
call sym._printf
mov eax, dword [ebp - 0x10]
add eax, 3
mov dword [esp], eax
call sym._gets
mov word [ebp - 0x26], 4
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d526
call sym._printf
mov eax, dword [ebp - 0x10]
add eax, 0x17
mov dword [esp], eax
call sym._gets
mov word [ebp - 0x26], 5
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d74d
call sym._printf
mov eax, dword [ebp - 0x10]
add eax, 0x20
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 6
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d764
call sym._printf
mov eax, dword [ebp - 0x10]
add eax, 0x24
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 7
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d77b
call sym._printf
mov eax, dword [ebp - 0x10]
add eax, 0x28
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 8
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d790
call sym._printf
mov eax, dword [ebp - 0x10]
add eax, 0x2c
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 9
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d7ab
call sym._printf
mov eax, dword [ebp - 0x10]
add eax, 0x30
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov word [ebp - 0x26], 0xa
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d7c6
call sym._printf
mov eax, dword [ebp - 0x10]
add eax, 0x34
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x3c], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x38], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
mov dword [esp + 4], edx
mov dword [esp], eax
call dbg.InsertProvNode
mov dword [ebp - 0x18], eax
mov word [ebp - 0x26], 0xb
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
cmp dword [ebp - 0x18], 0
je 0x4071ba
mov dword [esp], 0x40da71
call sym._printf
jmp 0x4071c6
mov dword [esp], 0x40da8a
call sym._printf
mov word [ebp - 0x26], 0xc
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40daa4
call sym._printf
lea eax, [ebp - 0x2d]
mov dword [esp + 4], eax
mov dword [esp], 0x40d6ab
call sym._scanf
call sym._getchar
mov al, byte [ebp - 0x2d]
cmp al, 0x59
je 0x407215
mov al, byte [ebp - 0x2d]
cmp al, 0x4e
jne 0x4071ef
mov al, byte [ebp - 0x2d]
cmp al, 0x59
jne 0x40773a
call dbg.ClearWorkArea
call dbg.CreatButton
jmp 0x40727e
mov word [ebp - 0x28], 2
mov word [ebp - 0x26], 0xa
jmp 0x407271
movzx edx, word [ebp - 0x20]
mov eax, dword [0x40f070]
lea ecx, [ebp - 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x28]
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 ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov ax, word [ebp - 0x26]
cmp ax, 0xe
jle 0x40723a
jmp 0x40727e
nop
mov eax, dword [ebp - 0x48]
cmp ax, 1
jle 0x4076e3
mov eax, dword [ebp - 0x48]
cmp ax, 0xb
jg 0x4076e3
mov ax, word [ebp - 0x46]
cmp ax, 0x10
jle 0x4076e3
mov ax, word [ebp - 0x46]
cmp ax, 0x15
jg 0x4076e3
mov word [ebp - 0x28], 2
mov word [ebp - 0x26], 0x11
jmp 0x4072f9
movzx edx, word [ebp - 0x1a]
mov eax, dword [0x40f070]
lea ecx, [ebp - 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x28]
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 ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov ax, word [ebp - 0x26]
cmp ax, 0x15
jle 0x4072c2
mov eax, dword [ebp - 0x3c]
cmp eax, 1
jne 0x4076dd
mov dword [esp], 0x50
call sym._malloc
mov dword [ebp - 0xc], eax
mov word [ebp - 0x28], 0xe
mov word [ebp - 0x26], 1
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40db20
call sym._printf
mov ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40da28
call sym._printf
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._gets
mov ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d874
call sym._printf
mov eax, dword [ebp - 0xc]
add eax, 5
mov dword [esp], eax
call sym._gets
mov ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40db49
call sym._printf
mov eax, dword [ebp - 0xc]
add eax, 0x23
mov dword [esp], eax
call sym._gets
mov ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d526
call sym._printf
mov eax, dword [ebp - 0xc]
add eax, 0x26
mov dword [esp], eax
call sym._gets
mov ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d889
call sym._printf
mov eax, dword [ebp - 0xc]
add eax, 0x30
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d8a2
call sym._printf
mov eax, dword [ebp - 0xc]
add eax, 0x34
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d77b
call sym._printf
mov eax, dword [ebp - 0xc]
add eax, 0x38
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d8bb
call sym._printf
mov eax, dword [ebp - 0xc]
add eax, 0x3c
mov dword [esp + 4], eax
mov dword [esp], 0x40d621
call sym._scanf
call sym._getchar
mov ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d8d0
call sym._printf
mov eax, dword [ebp - 0xc]
add eax, 0x40
mov dword [esp + 4], eax
mov dword [esp], 0x40d621
call sym._scanf
call sym._getchar
mov ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d8e5
call sym._printf
mov eax, dword [ebp - 0xc]
add eax, 0x44
mov dword [esp + 4], eax
mov dword [esp], 0x40d621
call sym._scanf
call sym._getchar
mov ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40d8fc
call sym._printf
mov eax, dword [ebp - 0xc]
add eax, 0x48
mov dword [esp + 4], eax
mov dword [esp], 0x40d5ce
call sym._scanf
call sym._getchar
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
mov dword [esp + 4], edx
mov dword [esp], eax
call dbg.InsertGnrtNode
mov dword [ebp - 0x18], eax
mov ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
cmp dword [ebp - 0x18], 0
je 0x40766e
mov dword [esp], 0x40da71
call sym._printf
jmp 0x40767a
mov dword [esp], 0x40da8a
call sym._printf
mov ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov eax, dword [0x40f070]
mov edx, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._SetConsoleCursorPosition_8
sub esp, 8
mov dword [esp], 0x40daa4
call sym._printf
lea eax, [ebp - 0x2d]
mov dword [esp + 4], eax
mov dword [esp], 0x40d6ab
call sym._scanf
call sym._getchar
mov al, byte [ebp - 0x2d]
cmp al, 0x59
je 0x4076cc
mov al, byte [ebp - 0x2d]
cmp al, 0x4e
jne 0x4076a6
mov al, byte [ebp - 0x2d]
cmp al, 0x59
jne 0x40773d
call dbg.ClearWorkArea
call dbg.CreatButton
nop
jmp 0x4067cc
mov word [ebp - 0x28], 2
mov word [ebp - 0x26], 0x11
jmp 0x407728
movzx edx, word [ebp - 0x1c]
mov eax, dword [0x40f070]
lea ecx, [ebp - 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x28]
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 ax, word [ebp - 0x26]
inc eax
mov word [ebp - 0x26], ax
mov ax, word [ebp - 0x26]
cmp ax, 0x15
jle 0x4076f1
jmp 0x4067cc
nop
jmp 0x40773e
nop
jmp 0x40773e
nop
mov eax, 1
leave
ret