Function at 0x1800226c0
Capabilities:
Manipulate console buffer

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
imul ebx, edx, 0xe8
mov rax, r9
mov r12, r8
mov r13d, edx
mov r14, rcx
mov r15d, edx
mov dword [rsp + 0x48], ebx
cmp edx, ebx
ja 0x1800229e4
mov ebp, dword [rsp + 0x98]
lea rsi, [0x18007b308]
xor edi, edi
nop
cmp r15d, 0x10
je 0x180022975
cmp r15d, 0xd3
je 0x18002286f
cmp r15d, 0x30a1
je 0x180022751
cmp r15d, 0x606f
jne 0x1800229c4
xor edx, edx
xor ecx, ecx
mov r8d, 0xb9
call fcn.18001a9b0
jmp 0x1800229c4
mov edx, 0x3d
xor ecx, ecx
call fcn.180003ae0
mov dword [0x18007b244], eax
xor r13d, r13d
mov edi, 0x103
nop dword [rax + rax]
cmp edi, 0x7f7a
ja 0x180022834
je 0x18002281f
mov eax, edi
sub eax, 0xa2
je 0x18002283c
sub eax, 0x61
je 0x180022816
cmp eax, 0x4eb9
jne 0x18002283c
imul ecx, ebp, 7
mov esi, r13d
mov eax, 0x6bca1af3
mov ebx, 7
inc ecx
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x13
sub ecx, eax
cmp ecx, 7
setl sil
add esi, 0xc
lea rax, [rsp + 0x30]
mov dword [rsp + 0x38], ebp
mov r9d, 0x7f
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x38]
mov dword [rsp + 0x30], ebx
xor edx, edx
xor ecx, ecx
call fcn.18001f380
inc ebx
cmp ebx, esi
jle 0x1800227d0
mov r9d, 0xc7
mov dword [rsp + 0x40], ebp
lea r8, [rsp + 0x40]
xor edx, edx
xor ecx, ecx
call fcn.1800190f0
jmp 0x18002283c
mov dword [0x18007b2b0], r13d
jmp 0x18002283c
mov edx, dword [0x18007b2b0]
mov rcx, qword [0x18007b2a8]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
jmp 0x18002283c
cmp edi, 0xedf0
je 0x18002284e
add edi, 0x7e77
cmp edi, 0x2f6ca
jbe 0x180022770
mov ebx, dword [rsp + 0x48]
lea rsi, [0x18007b308]
mov dword [0x18007b294], r13d
xor edi, edi
mov r13d, dword [rsp + 0x98]
jmp 0x1800229c4
xor edx, edx
mov ecx, 0xbb
call fcn.1800222f0
cmp eax, 1
je 0x1800229dd
movsxd rcx, dword [0x18007b244]
lea edx, [rcx - 3]
cmp ecx, edx
jl 0x1800229c4
lea rax, [rcx + rcx*2]
shl rax, 4
add rax, rsi
sub ecx, edx
lea edx, [rcx + 1]
cmp dword [rax - 0x38], 1
jne 0x1800228b6
mov dword [rax - 8], 1
mov dword [rax - 0x38], edi
cmp dword [rax - 0x34], 1
jne 0x1800228c6
mov dword [rax - 4], 1
mov dword [rax - 0x34], edi
cmp dword [rax - 0x30], 1
jne 0x1800228d5
mov dword [rax], 1
mov dword [rax - 0x30], edi
cmp dword [rax - 0x2c], 1
jne 0x1800228e5
mov dword [rax + 4], 1
mov dword [rax - 0x2c], edi
cmp dword [rax - 0x28], 1
jne 0x1800228f5
mov dword [rax + 8], 1
mov dword [rax - 0x28], edi
cmp dword [rax - 0x24], 1
jne 0x180022905
mov dword [rax + 0xc], 1
mov dword [rax - 0x24], edi
cmp dword [rax - 0x20], 1
jne 0x180022915
mov dword [rax + 0x10], 1
mov dword [rax - 0x20], edi
cmp dword [rax - 0x1c], 1
jne 0x180022925
mov dword [rax + 0x14], 1
mov dword [rax - 0x1c], edi
cmp dword [rax - 0x18], 1
jne 0x180022935
mov dword [rax + 0x18], 1
mov dword [rax - 0x18], edi
cmp dword [rax - 0x14], 1
jne 0x180022945
mov dword [rax + 0x1c], 1
mov dword [rax - 0x14], edi
cmp dword [rax - 0x10], 1
jne 0x180022955
mov dword [rax + 0x20], 1
mov dword [rax - 0x10], edi
cmp dword [rax - 0xc], 1
jne 0x180022965
mov dword [rax + 0x24], 1
mov dword [rax - 0xc], edi
add rax, 0xffffffffffffffd0
sub rdx, 1
jne 0x1800228a6
jmp 0x1800229c4
mov ecx, dword [rax]
mov r8d, 1
shl r8d, cl
shr r8d, 1
je 0x1800229bb
nop word [rax + rax]
mov ecx, dword [r14]
mov eax, edi
lea edx, [rcx + rcx]
mov dword [r14], edx
test dword [r12], r8d
sete al
shr ecx, 7
not ecx
and ecx, 1
cmp eax, ecx
je 0x1800229b4
xor edx, 0x1d
mov dword [r14], edx
shr r8d, 1
jne 0x180022990
jmp 0x1800229be
mov edx, dword [r14]
movzx eax, dl
mov dword [r14], eax
imul eax, r13d, 0x3a
add r15d, eax
cmp r15d, ebx
ja 0x1800229e4
mov rax, qword [rsp + 0xa8]
jmp 0x180022710
mov eax, 1
jmp 0x1800229eb
mov eax, dword [rsp + 0x98]
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret