Function at 0x40451a
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
cmp dword [ebp + 8], 0x71
je 0x40452c
cmp dword [ebp + 8], 0x51
jne 0x404542
call sub.cygncursesw_10.dll_endwin
call fcn.004063b7
mov dword [esp], 0
call sub.cygwin1.dll_exit
cmp dword [ebp + 8], 0x199
jne 0x4045ab
lea eax, [ebp - 0x20]
mov dword [esp], eax
call sub.cygncursesw_10.dll_getmouse
test eax, eax
jne 0x4045ab
mov eax, dword [ebp - 0x10]
and eax, 4
test eax, eax
jne 0x404578
mov eax, dword [ebp - 0x10]
and eax, 8
test eax, eax
jne 0x404578
mov eax, dword [ebp - 0x10]
and eax, 2
test eax, eax
je 0x4045ab
mov eax, dword [0x40b228]
mov dword [esp], eax
call fcn.00404e14
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00403736
mov eax, dword [0x40b228]
mov dword [esp], eax
call fcn.00404d03
mov dword [ebp + 8], 0x20
call fcn.00402674
test al, al
je 0x4047bc
mov eax, dword [ebp + 8]
cmp eax, 0x6c
jg 0x4045d4
cmp eax, 0x6a
jge 0x4045f6
cmp eax, 0x20
je 0x404633
cmp eax, 0x68
je 0x4045f6
jmp 0x4047cd
cmp eax, 0x102
jl 0x4047cd
cmp eax, 0x105
jle 0x4045f6
cmp eax, 0x19a
je 0x4047b4
jmp 0x4047cd
mov eax, dword [0x40b228]
mov dword [esp], eax
call fcn.00404e14
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00403503
mov edx, eax
mov eax, dword [0x40b228]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004030f4
mov eax, dword [0x40b228]
mov dword [esp], eax
call fcn.00404d03
jmp 0x4047cd
mov eax, dword [0x40b228]
mov dword [esp], eax
call fcn.004036bb
test al, al
je 0x404756
mov eax, dword [0x40b218]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00402b66
test al, al
je 0x4046d5
mov eax, dword [0x40b224]
test eax, eax
jle 0x4047cc
jmp 0x404699
mov eax, dword [0x40b218]
lea edx, [eax + 4]
mov eax, dword [0x40b218]
add eax, 8
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00405713
mov eax, dword [0x40b218]
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.00402941
mov eax, dword [0x40b218]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00402b66
xor eax, 1
test al, al
jne 0x40466b
mov eax, dword [0x40b218]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00404abc
mov eax, dword [0x40b218]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00404abc
jmp 0x4047cc
mov eax, dword [0x40b218]
lea edx, [eax + 8]
mov eax, dword [0x40b218]
add eax, 4
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00405713
mov eax, dword [0x40b218]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00402b66
test al, al
je 0x404712
mov eax, dword [0x40b224]
sub eax, 1
mov dword [0x40b224], eax
mov eax, dword [0x40b218]
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.00402931
mov eax, dword [0x40b218]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00404dcf
mov eax, dword [0x40b218]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00404abc
mov eax, dword [0x40b218]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00404abc
jmp 0x4047cc
mov eax, dword [0x40b228]
mov dword [esp], eax
call fcn.0040359a
test eax, eax
je 0x40479d
mov eax, dword [0x40b228]
mov dword [esp], eax
call fcn.0040359a
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x40479d
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call fcn.00402931
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call fcn.00404a81
jmp 0x4047cc
mov eax, dword [0x40b228]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00403a38
jmp 0x4047cc
call fcn.00403900
nop
jmp 0x4047cd
cmp dword [ebp + 8], 0x19a
jne 0x4047cd
call fcn.00403900
jmp 0x4047cd
nop
nop
leave
ret