Function at 0x1400032b0
Capabilities:
Manipulate console buffer

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x14003d0f8]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov ebx, ecx
mov r15, r9
mov ecx, edx
mov esi, r8d
mov r12d, edx
xor r14d, r14d
call fcn.140013578
test eax, eax
je 0x1400033d1
mov ecx, r12d
call qword [sym.imp.msvcrt.dll__get_osfhandle]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rbp - 0x40]
mov rdi, rax
call qword [sym.imp.api_ms_win_core_console_l2_1_0.dll_GetConsoleScreenBufferInfo]
nop dword [rax + rax]
test eax, eax
je 0x1400033d1
movsx eax, word [rbp - 0x34]
movsx r14d, word [rbp - 0x30]
sub r14d, eax
dec r14d
and dword [rbp - 0x50], 0
mov r9, r15
mov r8d, esi
mov ecx, ebx
call fcn.140003410
lea rsi, [0x140050150]
mov r15d, eax
mov ebx, eax
test eax, eax
je 0x140003405
mov ecx, 0xa0
test rdi, rdi
je 0x1400033d8
cmp byte [0x140058707], 0
jne 0x140021048
cmp r15d, ecx
mov ebx, r15d
cmova ebx, ecx
and qword [rsp + 0x20], 0
lea r9, [rbp - 0x50]
mov r8d, ebx
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_console_l1_1_0.dll_WriteConsoleW]
nop dword [rax + rax]
test eax, eax
je 0x1400211cc
xor ecx, ecx
mov eax, ebx
mov dword [rbp - 0x50], ecx
lea rsi, [rsi + rax*2]
sub r15d, ebx
jne 0x140003351
test ecx, ecx
jne 0x1400211f5
mov eax, ecx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140018f80
add rsp, 0x80
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor edi, edi
jmp 0x14000332c
lea r8d, [rbx + rbx]
mov rdx, rsi
lea r9, [rbp - 0x48]
mov ecx, r12d
call fcn.1400136ec
test eax, eax
je 0x1400211df
mov eax, dword [rbp - 0x48]
mov ecx, ebx
add rcx, rcx
cmp rax, rcx
je 0x140003398
jmp 0x1400211df
mov ecx, dword [rbp - 0x50]
jmp 0x1400033a8
mov ecx, dword [0x140058c10]
cmp ecx, r14d
jb 0x140021193
and dword [0x140058c10], 0
lea rdx, [rbp - 0x40]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_console_l2_1_0.dll_GetConsoleScreenBufferInfo]
nop dword [rax + rax]
test eax, eax
je 0x14002118d
mov r8d, dword [0x140058c04]
lea r9, [rbp - 0x50]
mov rdx, qword [0x140058c08]
mov rcx, rdi
and qword [rsp + 0x20], 0
call qword [sym.imp.api_ms_win_core_console_l1_1_0.dll_WriteConsoleW]
nop dword [rax + rax]
test eax, eax
je 0x14002118d
mov ecx, 0xfffffff6
call qword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetStdHandle]
nop dword [rax + rax]
mov rcx, rax
call qword [sym.imp.api_ms_win_core_console_l2_1_0.dll_FlushConsoleInputBuffer]
nop dword [rax + rax]
lea rdx, [rbp - 0x4c]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_console_l1_1_0.dll_GetConsoleMode]
nop dword [rax + rax]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_console_l1_1_0.dll_SetConsoleMode]
nop dword [rax + rax]
call qword [sym.imp.msvcrt.dll__getch]
nop dword [rax + rax]
mov edx, dword [rbp - 0x4c]
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.api_ms_win_core_console_l1_1_0.dll_SetConsoleMode]
nop dword [rax + rax]
lea rdx, [rbp - 0x28]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_console_l2_1_0.dll_GetConsoleScreenBufferInfo]
nop dword [rax + rax]
movsx ecx, word [rbp - 0x3a]
movsx edx, word [rbp - 0x40]
movsx r8d, word [rbp - 0x28]
mov r9d, dword [rbp - 0x3c]
imul edx, ecx
movsx ecx, word [rbp - 0x22]
imul r8d, ecx
mov rcx, rdi
movsx eax, r9w
sub r8d, edx
mov edx, 0x20
add r8d, eax
movsx eax, word [rbp - 0x24]
add r8d, eax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
call qword [sym.imp.api_ms_win_core_console_l2_1_0.dll_FillConsoleOutputCharacterW]
nop dword [rax + rax]
mov edx, dword [rbp - 0x3c]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_console_l2_1_0.dll_SetConsoleCursorPosition]
nop dword [rax + rax]
cmp bx, 3
jne 0x14002118d
call fcn.14002bde4
xor eax, eax
jmp 0x1400033b2
mov ecx, dword [0x140058c10]
mov eax, r15d
mov rbx, rsi
lea rdx, [rsi + rax*2]
cmp rsi, rdx
jae 0x1400211c1
cmp ecx, r14d
jae 0x1400211bb
movzx eax, word [rbx]
add rbx, 2
cmp ax, 0xa
jne 0x1400211b6
inc ecx
cmp rbx, rdx
jb 0x1400211a2
mov dword [0x140058c10], ecx
sub rbx, rsi
sar rbx, 1
jmp 0x140003371
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ecx, eax
jmp 0x14000339a
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ecx, eax
mov dword [rbp - 0x50], eax
jmp 0x1400033a8
cmp r12d, 2
jne 0x1400033b0
lea ecx, [r12 - 1]
call fcn.140014c1c
int3