Function at 0x140001070
Capabilities:
Manipulate console buffer

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
sub rsp, 0x20
xor esi, esi
mov ecx, 0x18
mov dword [0x140023cb4], esi
mov eax, esi
mov word [rsp + 0x32], si
mov word [rsp + 0x3a], cx
nop dword [rax]
nop word [rax + rax]
mov ecx, 0xfffffff5
mov word [rsp + 0x30], ax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, dword [rsp + 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
lea rcx, [0x14001f7e0]
call fcn.140001010
movzx eax, word [0x140023cb4]
mov ecx, 0xfffffff5
mov word [rsp + 0x38], ax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, dword [rsp + 0x38]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
lea rcx, [0x14001f7e0]
call fcn.140001010
mov eax, dword [0x140023cb4]
add eax, 2
mov dword [0x140023cb4], eax
cmp eax, 0x4e
jle 0x1400010a0
mov ebx, 1
mov word [rsp + 0x30], si
mov ecx, 0x4e
mov dword [0x140023cb4], ebx
mov eax, ebx
mov word [rsp + 0x38], cx
nop dword [rax]
mov ecx, 0xfffffff5
mov word [rsp + 0x32], ax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, dword [rsp + 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
lea rcx, [0x14001f7e0]
call fcn.140001010
movzx eax, word [0x140023cb4]
mov ecx, 0xfffffff5
mov word [rsp + 0x3a], ax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, dword [rsp + 0x38]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
lea rcx, [0x14001f7e0]
call fcn.140001010
mov eax, dword [0x140023cb4]
inc eax
mov dword [0x140023cb4], eax
cmp eax, 0x18
jl 0x140001130
nop dword [rax]
xor ecx, ecx
call fcn.140008324
mov rcx, rax
call fcn.140005724
call fcn.1400056f8
mov r8d, eax
mov eax, 0xdd67c8a7
imul r8d
add edx, r8d
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x4a
sub r8d, ecx
add r8d, 2
mov dword [0x140023cc0], r8d
call fcn.1400056f8
mov r8d, eax
mov eax, 0x2e8ba2e9
imul r8d
mov eax, dword [0x140023cc0]
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x16
sub r8d, ecx
inc r8d
mov dword [0x140023cc4], r8d
and eax, 0x80000001
jge 0x14000121b
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x1400011a0
movzx eax, word [0x140023cc0]
mov ecx, 0xfffffff5
mov word [rsp + 0x30], ax
movzx eax, word [0x140023cc4]
mov word [rsp + 0x32], ax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, dword [rsp + 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
lea rcx, [0x14001f7e4]
call fcn.140001010
mov ecx, 0xc
mov dword [0x140023cd4], 3
mov dword [0x140023e68], ecx
mov eax, 0x28
mov ecx, 0xfffffff5
mov dword [0x140023cd0], 0xc8
mov dword [0x140023cd8], eax
mov dword [rsp + 0x30], 0xc0028
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, dword [rsp + 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
lea rcx, [0x14001f7e0]
call fcn.140001010
cmp dword [0x140023cd4], ebx
mov dword [0x140023cb4], ebx
jle 0x14000134a
mov qword [rsp + 0x40], rdi
lea rdi, [0x140023cd0]
nop
movsxd rax, ebx
lea rdx, [rax*4]
lea rcx, [rax*4 - 4]
mov eax, dword [rcx + rdi + 8]
add eax, 2
mov dword [rdx + rdi + 8], eax
mov ecx, dword [rcx + rdi + 0x198]
mov dword [rdx + rdi + 0x198], ecx
movzx eax, word [rdx + rdi + 8]
mov word [rsp + 0x32], cx
mov ecx, 0xfffffff5
mov word [rsp + 0x30], ax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, dword [rsp + 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
lea rcx, [0x14001f7e0]
call fcn.140001010
mov ebx, dword [0x140023cb4]
inc ebx
cmp ebx, dword [0x140023cd4]
mov dword [0x140023cb4], ebx
jl 0x1400012d0
mov rdi, qword [rsp + 0x40]
mov ecx, 0xfffffff5
mov dword [rsp + 0x30], 0x4c
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, dword [rsp + 0x30]
mov rcx, rax
mov rbx, qword [rsp + 0x48]
add rsp, 0x20
pop rsi
jmp qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]