Function at 0x4cfce0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
lea r12, [rsp - 0x38]
cmp r12, qword [r14 + 0x10]
jbe 0x4d03d2
push rbp
mov rbp, rsp
sub rsp, 0xb0
mov qword [rsp + 0xc0], rax
lea rax, [0x004e98a0]
call sym.runtime.newobject
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rcx + 0x10]
mov qword [rax], rdx
mov rdx, qword [rcx]
mov qword [rax + 8], rdx
mov qword [rsp + 0x88], rax
lea rax, [0x004ea2c0]
call sym.runtime.newobject
mov qword [rax], 2
mov rcx, qword [rsp + 0x88]
mov qword [rax + 8], rcx
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xffffffffffffffff
mov rcx, qword [0x005d2058]
mov rbx, rax
mov edi, 4
mov rax, rcx
mov rcx, rdi
call sym.syscall._LazyProc_.Call
test rax, rax
je 0x4d0202
nop
cmp rax, 1
jne 0x4d01f3
lea rax, [0x004f6860]
call sym.runtime.newobject
mov qword [rsp + 0x70], rax
lea rax, [0x004e7d00]
call sym.runtime.newobject
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x78], rax
lea rax, [0x004ea2c0]
call sym.runtime.newobject
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rax + 8], rdx
mov qword [rax + 0x10], 1
mov rdx, qword [rsp + 0x78]
mov qword [rax + 0x18], rdx
mov rdx, qword [0x005d2050]
mov rbx, rax
mov edi, 4
mov rax, rdx
mov rcx, rdi
call sym.syscall._LazyProc_.Call
test rax, rax
je 0x4d01e4
mov rdx, qword [rsp + 0xa8]
cmp dword [rdx], 1
jne 0x4d01d7
mov rdx, qword [rsp + 0x70]
movzx esi, word [rdx]
cmp si, 1
jne 0x4cff31
movups xmmword [rsp + 0x40], xmm15
movzx esi, byte [rdx + 4]
movzx edi, byte [rdx + 5]
shl edi, 8
add esi, edi
movzx edi, byte [rdx + 6]
shl edi, 0x10
add esi, edi
movzx edi, byte [rdx + 7]
shl edi, 0x18
add esi, edi
nop
mov dword [rsp + 0x40], esi
movzx esi, byte [rdx + 8]
movzx edi, byte [rdx + 9]
shl edi, 8
add esi, edi
mov word [rsp + 0x44], si
movzx esi, byte [rdx + 0xa]
movzx edi, byte [rdx + 0xb]
shl edi, 8
add esi, edi
mov word [rsp + 0x46], si
movzx esi, byte [rdx + 0xc]
movzx edi, byte [rdx + 0xd]
shl edi, 8
add esi, edi
mov word [rsp + 0x48], si
movzx esi, byte [rdx + 0xe]
movzx edi, byte [rdx + 0xf]
shl edi, 8
add esi, edi
mov word [rsp + 0x4a], si
movzx esi, byte [rdx + 0x10]
movzx edi, byte [rdx + 0x11]
shl edi, 8
add esi, edi
movzx edi, byte [rdx + 0x12]
shl edi, 0x10
add esi, edi
movzx edx, byte [rdx + 0x13]
shl edx, 0x18
add edx, esi
mov dword [rsp + 0x4c], edx
cmp dword [rsp + 0x40], 0
je 0x4cff24
cmp word [rsp + 0x44], 0
je 0x4cff24
cmp word [rsp + 0x4a], 0
jne 0x4d02e6
mov rbx, qword [0x005d9f80]
lea rax, [0x004ed080]
lea rcx, [rsp + 0x46]
call sym.runtime.mapaccess2
test bl, bl
je 0x4cff17
movzx eax, word [rax]
mov word [rsp + 0x20], ax
jmp 0x4d02c9
xor eax, eax
xor ebx, ebx
add rsp, 0xb0
pop rbp
ret
xor eax, eax
xor ebx, ebx
add rsp, 0xb0
pop rbp
ret
cmp si, 2
je 0x4d0033
nop dword [rax + rax]
cmp si, 4
jne 0x4d0233
movzx eax, byte [rdx + 4]
mov word [rsp + 0x2a], ax
movzx ecx, byte [rdx + 5]
shl ecx, 8
mov word [rsp + 0x28], cx
movzx ebx, byte [rdx + 6]
mov word [rsp + 0x26], bx
movzx edx, byte [rdx + 7]
shl edx, 8
mov word [rsp + 0x24], dx
nop
nop
nop
nop
call sym.time.Now
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x90], rcx
lea rax, [0x004f66e0]
call sym.runtime.newobject
mov rcx, qword [rsp + 0x68]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rax + 8], rcx
movzx ecx, word [rsp + 0x28]
movzx edx, word [rsp + 0x2a]
add ecx, edx
movzx edx, word [rsp + 0x24]
movzx ebx, word [rsp + 0x26]
add edx, ebx
cmp dword [0x0065f270], 0
jne 0x4cffd7
mov rsi, qword [rsp + 0x90]
jmp 0x4cffe7
call sym.runtime.gcWriteBarrier1
mov rsi, qword [rsp + 0x90]
mov qword [r11], rsi
mov qword [rax + 0x10], rsi
movsx rcx, cx
mov qword [rax + 0x18], rcx
movsx rcx, dx
mov qword [rax + 0x20], rcx
mov rcx, qword [rsp + 0xc0]
mov rcx, qword [rcx + 0x20]
lea rdx, [0x00532de8]
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], rax
mov rax, rcx
lea rbx, [rsp + 0x98]
call sym.runtime.selectnbsend
jmp 0x4d0233
movups xmmword [rsp + 0x2c], xmm15
movzx ecx, byte [rdx + 4]
movzx esi, byte [rdx + 5]
shl esi, 8
add ecx, esi
nop
mov word [rsp + 0x2c], cx
movzx ecx, byte [rdx + 6]
movzx esi, byte [rdx + 7]
shl esi, 8
add ecx, esi
nop
mov word [rsp + 0x2e], cx
movzx ecx, byte [rdx + 8]
movzx esi, byte [rdx + 9]
shl esi, 8
add ecx, esi
movzx esi, byte [rdx + 0xa]
shl esi, 0x10
add ecx, esi
movzx esi, byte [rdx + 0xb]
shl esi, 0x18
lea eax, [rsi + rcx]
mov dword [rsp + 0x30], eax
movzx ecx, byte [rdx + 0xc]
movzx esi, byte [rdx + 0xd]
shl esi, 8
add ecx, esi
movzx esi, byte [rdx + 0xe]
shl esi, 0x10
add ecx, esi
movzx esi, byte [rdx + 0xf]
shl esi, 0x18
add ecx, esi
mov dword [rsp + 0x34], ecx
movzx ecx, byte [rdx + 0x10]
movzx esi, byte [rdx + 0x11]
shl esi, 8
add ecx, esi
movzx esi, byte [rdx + 0x12]
shl esi, 0x10
add ecx, esi
movzx edx, byte [rdx + 0x13]
shl edx, 0x18
lea ebx, [rcx + rdx]
mov dword [rsp + 0x38], ebx
call sym.github.com_gdamore_tcell.mrec2btns
mov word [rsp + 0x22], ax
mov ecx, dword [rsp + 0x34]
mov dword [rsp + 0x3c], ecx
movsx rdx, word [rsp + 0x2c]
mov qword [rsp + 0x58], rdx
movsx rsi, word [rsp + 0x2e]
mov qword [rsp + 0x50], rsi
call sym.time.Now
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x90], rcx
lea rax, [0x004fb980]
call sym.runtime.newobject
mov rcx, qword [rsp + 0x68]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0x3c]
test ecx, 0xc
mov edx, 0
mov esi, 2
cmovne dx, si
mov esi, edx
or edx, 4
test ecx, 3
cmovne si, dx
mov edx, esi
or esi, 1
test ecx, 0x10
cmovne dx, si
cmp dword [0x0065f270], 0
jne 0x4d016f
mov rcx, qword [rsp + 0x90]
jmp 0x4d017f
call sym.runtime.gcWriteBarrier1
mov rcx, qword [rsp + 0x90]
mov qword [r11], rcx
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x20], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x28], rcx
movzx ecx, word [rsp + 0x22]
mov word [rax + 0x18], cx
mov word [rax + 0x1a], dx
mov rcx, qword [rsp + 0xc0]
mov rcx, qword [rcx + 0x20]
lea rdx, [0x00532dc8]
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], rax
mov rax, rcx
lea rbx, [rsp + 0x98]
call sym.runtime.selectnbsend
jmp 0x4d0233
xor eax, eax
xor ebx, ebx
add rsp, 0xb0
pop rbp
ret
mov rax, rcx
mov rbx, rdi
add rsp, 0xb0
pop rbp
ret
mov rax, rcx
mov rbx, rdi
add rsp, 0xb0
pop rbp
ret
lea rax, [0x004f0340]
call sym.runtime.newobject
mov qword [rax + 8], 9
lea rcx, [0x00508747]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x00532ce8]
add rsp, 0xb0
pop rbp
ret
xor eax, eax
xor ebx, ebx
add rsp, 0xb0
pop rbp
nop
ret
movzx ebx, word [rsp + 0x4a]
mov edx, dword [rsp + 0x4c]
test edx, 0xc
mov ecx, 0
mov esi, 2
cmovne cx, si
mov edi, ecx
or edi, 4
test edx, 3
cmovne cx, di
mov edi, ecx
or edi, 1
test edx, 0x10
cmovne cx, di
nop dword [rax]
call sym.github.com_gdamore_tcell.NewEventKey
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rdx + 0x20]
lea rdi, [0x00532c88]
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], rax
mov rax, rsi
lea rbx, [rsp + 0x98]
call sym.runtime.selectnbsend
movzx edx, word [rsp + 0x44]
dec edx
mov word [rsp + 0x44], dx
movzx eax, word [rsp + 0x20]
cmp word [rsp + 0x44], 0
ja 0x4d0241
jmp 0x4d0233
movzx edx, word [rsp + 0x44]
dec edx
mov word [rsp + 0x44], dx
cmp word [rsp + 0x44], 0
jbe 0x4d03c5
mov edx, dword [rsp + 0x4c]
test edx, 0xc
mov ecx, 0
mov esi, 2
cmovne cx, si
mov edi, ecx
or edi, 4
test edx, 3
cmovne cx, di
mov edi, ecx
or edi, 1
test edx, 0x10
cmovne cx, di
cmp cx, 1
jne 0x4d037d
cmp word [rsp + 0x4a], 9
jne 0x4d037d
mov eax, 0x116
xor ebx, ebx
xor ecx, ecx
nop
call sym.github.com_gdamore_tcell.NewEventKey
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rdx + 0x20]
lea rdi, [0x00532c88]
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], rax
mov rax, rsi
lea rbx, [rsp + 0x98]
call sym.runtime.selectnbsend
jmp 0x4d02da
movzx ebx, word [rsp + 0x4a]
mov eax, 0x100
call sym.github.com_gdamore_tcell.NewEventKey
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rdx + 0x20]
lea rdi, [0x00532c88]
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], rax
mov rax, rsi
lea rbx, [rsp + 0x98]
call sym.runtime.selectnbsend
nop
jmp 0x4d02da
xor eax, eax
xor ebx, ebx
add rsp, 0xb0
pop rbp
ret
mov qword [rsp + 8], rax
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
jmp sym.github.com_gdamore_tcell._cScreen_.getConsoleInput