Function at 0x401318
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1c0
call sym.___main
mov dword [esp + 0x1a0], 1
jmp 0x401c7e
cmp dword [esp + 0x1a0], 1
jne 0x4013b4
mov dword [esp + 0x1a4], 0
jmp 0x401363
mov eax, dword [esp + 0x1a4]
mov byte [esp + eax + 0x10], 0
inc dword [esp + 0x1a4]
cmp dword [esp + 0x1a4], 0x18f
setle al
test al, al
jne 0x401350
mov dword [esp + 0x1b0], 2
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1bc], 0
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1a0], 2
jmp 0x401c7e
mov dword [esp], 0x404024
call sub.msvcrt.dll_system
mov dword [esp + 0x1a4], 0
jmp 0x4015c0
mov edx, dword [esp + 0x1bc]
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
add eax, dword [esp + 0x1b8]
cmp eax, dword [esp + 0x1a4]
jne 0x401442
mov eax, dword [esp + 0x1a4]
mov al, byte [esp + eax + 0x10]
cmp al, 1
jne 0x401411
mov dword [esp], 0x404028
call sym._printf
jmp 0x401595
mov eax, dword [esp + 0x1a4]
mov al, byte [esp + eax + 0x10]
cmp al, 2
jne 0x401431
mov dword [esp], 0x40402c
call sym._printf
jmp 0x401595
mov dword [esp], 0x404030
call sym._printf
jmp 0x401595
mov eax, dword [esp + 0x1a4]
mov al, byte [esp + eax + 0x10]
cmp al, 1
jne 0x401462
mov dword [esp], 0x404034
call sym._printf
jmp 0x401595
mov eax, dword [esp + 0x1a4]
mov al, byte [esp + eax + 0x10]
cmp al, 2
jne 0x401482
mov dword [esp], 0x404038
call sym._printf
jmp 0x401595
cmp dword [esp + 0x1a4], 0
jne 0x40149d
mov dword [esp], 0x40403c
call sym._printf
jmp 0x401595
cmp dword [esp + 0x1a4], 0x13
jne 0x4014b8
mov dword [esp], 0x404040
call sym._printf
jmp 0x401595
cmp dword [esp + 0x1a4], 0x17c
jne 0x4014d6
mov dword [esp], 0x404044
call sym._printf
jmp 0x401595
cmp dword [esp + 0x1a4], 0x18f
jne 0x4014f4
mov dword [esp], 0x404048
call sym._printf
jmp 0x401595
cmp dword [esp + 0x1a4], 0
jle 0x401516
cmp dword [esp + 0x1a4], 0x12
jg 0x401516
mov dword [esp], 0x40404c
call sym._printf
jmp 0x401595
mov eax, dword [esp + 0x1a4]
mov edx, 0x14
mov ecx, edx
cdq
idiv ecx
mov eax, edx
test eax, eax
jne 0x40153b
mov dword [esp], 0x404050
call sym._printf
jmp 0x401595
mov eax, dword [esp + 0x1a4]
mov edx, 0x14
mov ecx, edx
cdq
idiv ecx
mov eax, edx
cmp eax, 0x13
jne 0x401561
mov dword [esp], 0x404054
call sym._printf
jmp 0x401595
cmp dword [esp + 0x1a4], 0x17c
jle 0x401589
cmp dword [esp + 0x1a4], 0x18e
jg 0x401589
mov dword [esp], 0x404058
call sym._printf
jmp 0x401595
mov dword [esp], 0x40405c
call sym._printf
mov eax, dword [esp + 0x1a4]
mov edx, 0x14
mov ecx, edx
cdq
idiv ecx
mov eax, edx
cmp eax, 0x13
jne 0x4015b9
mov dword [esp], 0xa
call sym._putchar
inc dword [esp + 0x1a4]
cmp dword [esp + 0x1a4], 0x18f
setle al
test al, al
jne 0x4013d0
call sym.__getch
mov dword [esp + 0x1a8], eax
cmp dword [esp + 0x1bc], 0
jle 0x401607
cmp dword [esp + 0x1a8], 0x77
je 0x401600
cmp dword [esp + 0x1a8], 0x57
jne 0x401607
dec dword [esp + 0x1bc]
cmp dword [esp + 0x1bc], 0x12
jg 0x40162c
cmp dword [esp + 0x1a8], 0x73
je 0x401625
cmp dword [esp + 0x1a8], 0x53
jne 0x40162c
inc dword [esp + 0x1bc]
cmp dword [esp + 0x1b8], 0
jle 0x401651
cmp dword [esp + 0x1a8], 0x61
je 0x40164a
cmp dword [esp + 0x1a8], 0x41
jne 0x401651
dec dword [esp + 0x1b8]
cmp dword [esp + 0x1b8], 0x12
jg 0x401676
cmp dword [esp + 0x1a8], 0x64
je 0x40166f
cmp dword [esp + 0x1a8], 0x44
jne 0x401676
inc dword [esp + 0x1b8]
cmp dword [esp + 0x1a8], 0x20
jne 0x401bd6
mov edx, dword [esp + 0x1bc]
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
add eax, dword [esp + 0x1b8]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x1ac]
mov al, byte [esp + eax + 0x10]
test al, al
jne 0x4016e1
mov edx, dword [esp + 0x1ac]
cmp dword [esp + 0x1b0], 2
jne 0x4016ca
mov eax, 1
jmp 0x4016cf
mov eax, 2
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x1b0]
mov byte [esp + edx + 0x10], al
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1a4], 0xfffffffc
jmp 0x4017ec
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1b8]
lea eax, [edx + eax]
test eax, eax
js 0x4017e1
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1b8]
lea eax, [edx + eax]
add eax, 4
cmp eax, 0x13
jg 0x4017e4
mov edx, dword [esp + 0x1bc]
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
add eax, dword [esp + 0x1b8]
add eax, dword [esp + 0x1a4]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x1ac]
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
inc eax
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x4017e5
mov eax, dword [esp + 0x1ac]
inc eax
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
add eax, 2
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x4017e5
mov eax, dword [esp + 0x1ac]
add eax, 2
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
add eax, 3
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x4017e5
mov eax, dword [esp + 0x1ac]
add eax, 3
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
add eax, 4
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x4017e5
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x1b4], eax
jmp 0x4017ff
nop
jmp 0x4017e5
nop
inc dword [esp + 0x1a4]
cmp dword [esp + 0x1a4], 0
setle al
test al, al
jne 0x4016fc
mov dword [esp + 0x1a4], 0xfffffffc
jmp 0x401905
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1bc]
lea eax, [edx + eax]
test eax, eax
js 0x4018fa
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1bc]
lea eax, [edx + eax]
add eax, 4
cmp eax, 0x13
jg 0x4018fd
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1bc]
add edx, eax
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
add eax, dword [esp + 0x1b8]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x1ac]
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
add eax, 0x14
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x4018fe
mov eax, dword [esp + 0x1ac]
add eax, 0x14
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
add eax, 0x28
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x4018fe
mov eax, dword [esp + 0x1ac]
add eax, 0x28
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
add eax, 0x3c
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x4018fe
mov eax, dword [esp + 0x1ac]
add eax, 0x3c
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
add eax, 0x50
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x4018fe
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x1b4], eax
jmp 0x401918
nop
jmp 0x4018fe
nop
inc dword [esp + 0x1a4]
cmp dword [esp + 0x1a4], 0
setle al
test al, al
jne 0x40180f
mov dword [esp + 0x1a4], 0xfffffffc
jmp 0x401a61
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1b8]
lea eax, [edx + eax]
test eax, eax
js 0x401a50
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1b8]
lea eax, [edx + eax]
add eax, 4
cmp eax, 0x13
jg 0x401a53
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1bc]
lea eax, [edx + eax]
test eax, eax
js 0x401a56
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1bc]
lea eax, [edx + eax]
add eax, 4
cmp eax, 0x13
jg 0x401a59
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1bc]
add edx, eax
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
add eax, dword [esp + 0x1b8]
add eax, dword [esp + 0x1a4]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x1ac]
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
add eax, 0x15
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x401a5a
mov eax, dword [esp + 0x1ac]
add eax, 0x15
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
add eax, 0x2a
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x401a5a
mov eax, dword [esp + 0x1ac]
add eax, 0x2a
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
add eax, 0x3f
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x401a5a
mov eax, dword [esp + 0x1ac]
add eax, 0x3f
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
add eax, 0x54
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x401a5a
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x1b4], eax
jmp 0x401a74
nop
jmp 0x401a5a
nop
jmp 0x401a5a
nop
jmp 0x401a5a
nop
inc dword [esp + 0x1a4]
cmp dword [esp + 0x1a4], 0
setle al
test al, al
jne 0x401928
mov dword [esp + 0x1a4], 0xfffffffc
jmp 0x401bc3
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1b8]
lea eax, [edx + eax]
test eax, eax
js 0x401bb2
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1b8]
lea eax, [edx + eax]
add eax, 4
cmp eax, 0x13
jg 0x401bb5
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1bc]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x13
jg 0x401bb8
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1bc]
mov ecx, edx
sub ecx, eax
mov eax, ecx
sub eax, 4
test eax, eax
js 0x401bbb
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x1bc]
sub edx, eax
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 2
add eax, dword [esp + 0x1b8]
add eax, dword [esp + 0x1a4]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x1ac]
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
sub eax, 0x13
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x401bbc
mov eax, dword [esp + 0x1ac]
sub eax, 0x13
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
sub eax, 0x26
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x401bbc
mov eax, dword [esp + 0x1ac]
sub eax, 0x26
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
sub eax, 0x39
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x401bbc
mov eax, dword [esp + 0x1ac]
sub eax, 0x39
mov dl, byte [esp + eax + 0x10]
mov eax, dword [esp + 0x1ac]
sub eax, 0x4c
mov al, byte [esp + eax + 0x10]
cmp dl, al
jne 0x401bbc
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x1b4], eax
jmp 0x401bd6
nop
jmp 0x401bbc
nop
jmp 0x401bbc
nop
jmp 0x401bbc
nop
inc dword [esp + 0x1a4]
cmp dword [esp + 0x1a4], 0
setle al
test al, al
jne 0x401a84
cmp dword [esp + 0x1b4], 0
je 0x401c7e
cmp dword [esp + 0x1b4], 1
jne 0x401bfc
mov dword [esp], 0x404060
call sym._puts
jmp 0x401c08
mov dword [esp], str._
call sym._puts
mov dword [esp], str.Y_N:
call sym._puts
call sym.__getch
mov dword [esp + 0x1a8], eax
cmp dword [esp + 0x1a8], 0x79
je 0x401c4c
cmp dword [esp + 0x1a8], 0x59
je 0x401c4c
cmp dword [esp + 0x1a8], 0x6e
je 0x401c4c
cmp dword [esp + 0x1a8], 0x4e
je 0x401c4c
mov al, 1
jmp 0x401c4e
mov al, 0
test al, al
jne 0x401c08
cmp dword [esp + 0x1a8], 0x79
je 0x401c66
cmp dword [esp + 0x1a8], 0x59
jne 0x401c73
mov dword [esp + 0x1a0], 1
jmp 0x401c7e
mov dword [esp + 0x1a0], 0
cmp dword [esp + 0x1a0], 0
setne al
test al, al
jne 0x401339
mov eax, 0
leave
ret