Function at 0x180007380
Capabilities:
Manipulate console buffer

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2f8]
sub rsp, 0x3c0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
mov rax, qword [0x180143ae0]
xor rax, rsp
mov qword [rbp + 0x260], rax
mov r12, qword [rbp + 0x320]
lea r14d, [rcx + 0x85]
movss xmm9, dword [rsp + 0x50]
mov r11, r9
movss xmm8, dword [rsp + 0x50]
mov rsi, rdx
mov edx, dword [rsp + 0x50]
cmp ecx, r14d
mov qword [rbp - 0x30], r9
mov r10d, ecx
mov r9, qword [rbp + 0x328]
mov edi, ecx
mov qword [rbp - 0x38], r8
xorps xmm10, xmm10
mov r8d, dword [rsp + 0x50]
mov dword [rsp + 0x5c], ecx
mov ecx, dword [rsp + 0x50]
mov qword [rsp + 0x78], r9
mov qword [rbp - 0x58], r12
mov dword [rsp + 0x54], edx
mov dword [rsp + 0x58], r8d
jae 0x180007751
mov eax, dword [rsp + 0x50]
movzx ebx, byte [rsp + 0x44]
mov r10, qword [rbp - 0x40]
mov r13d, dword [rsp + 0x70]
mov r15, qword [rbp - 0x58]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x48], eax
mov byte [rsp + 0x44], bl
mov qword [rbp - 0x68], r10
mov dword [rsp + 0x40], ecx
jmp 0x180007474
mov r11, qword [rbp - 0x30]
cmp edi, 0x126
ja case.0x1800074af.18
je 0x1800076e7
lea eax, [rdi - 0x11]
cmp eax, 0xd2
ja case.0x1800074af.18
lea r10, [0x180000000]
movzx eax, byte [r10 + rax + 0x7bfc]
mov ecx, dword [r10 + rax*4 + 0x7bb0]
add rcx, r10
jmp rcx
cvttss2si edx, dword [r12]
lea r11d, [r13 - 1]
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x54], edx
jmp 0x180007732
xor edx, edx
mov byte [rsp + 0x44], 1
mov r8d, 0x280
lea rcx, [rbp - 0x20]
call sub.VCRUNTIME140.dll_memset
jmp 0x18000771f
xor r9d, r9d
mov qword [rsp + 0x70], 0x10
mov r8d, 0x90
lea rdx, [rsp + 0x70]
xor ecx, ecx
call fcn.18005d4a0
mov r15, rax
jmp 0x18000771f
xor eax, eax
mov qword [rbp - 0x60], rax
jmp case.0x1800074af.18
mov rax, qword [rbp - 0x38]
lea rdx, [rbp - 0x40]
mov qword [rsp + 0x30], r9
mov r8, rsi
lea r9, [rsp + 0x68]
mov ecx, 0xc6
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
mov rax, qword [r12]
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r11
call fcn.1800be6b0
cmp eax, 1
je 0x1800075ab
mov ebx, PathMakeUniqueName
nop dword [rax]
mov eax, ebx
sub eax, 0x2c
je 0x180007580
sub eax, 1
je 0x180007577
cmp eax, 1
je case.0x1800074af.227
jmp 0x1800075a4
mov dword [rbp - 0x70], 0xffffffff
jmp 0x1800075a4
mov rax, qword [0x1801953c0]
lea r9, str.DWORD_ID3DXBaseMesh::GetNumBytesPerVertex__
mov edx, 0x72
mov qword [rsp + 0x20], rax
mov rcx, rsi
lea r8d, [rdx - 0x69]
call fcn.1800c8a10
inc ebx
cmp ebx, 0x2f
jb 0x180007560
mov dword [rbp - 0x70], 1
jmp 0x18000771f
xor eax, eax
mov dword [rbp - 0x78], eax
jmp case.0x1800074af.18
xor r9d, r9d
mov qword [rsp + 0x68], 0x20
mov r8d, 0x90
lea rdx, [rsp + 0x68]
xor ecx, ecx
call fcn.18005d4a0
mov qword [r15], rax
jmp 0x18000771f
cvttss2si r8d, dword [r11]
movss xmm9, dword [r12]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov dword [rsp + 0x58], r8d
subss xmm9, xmm0
jmp case.0x1800074af.18
lea rax, str.AcceleratedVideoDecoderHostMsg_ResetDone
mov qword [0x1801953c0], rax
xor eax, eax
mov qword [rbp - 0x40], rax
jmp case.0x1800074af.18
movss xmm8, dword [r11]
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
subss xmm8, xmm0
jmp case.0x1800074af.18
mov rax, qword [r9]
mov r11d, dword [rsp + 0x4c]
mov qword [rbp - 0x68], rax
mov eax, dword [r9 + 0xc]
mov dword [rsp + 0x40], eax
jmp 0x180007736
comiss xmm9, xmm10
mov ecx, dword [rsp + 0x48]
mov r11d, dword [rsp + 0x4c]
mov eax, dword [rsp + 0x40]
ja 0x18000773a
movaps xmm9, xmm10
jmp 0x18000773a
mov qword [rbp - 0x70], r15
jmp case.0x1800074af.18
xor eax, eax
mov dword [rsp + 0x50], eax
jmp case.0x1800074af.18
xor r9d, r9d
mov qword [rsp + 0x68], 0x70
mov r8d, 0x90
lea rdx, [rsp + 0x68]
xor ecx, ecx
call fcn.18005d4a0
mov qword [r15 + 8], rax
lea r8, [rsp + 0x68]
lea rax, str.WDExpress_
mov edx, StrCmpNICA
mov rcx, r15
mov qword [rsp + 0x68], rax
call fcn.18001ab80
jmp 0x18000771f
mov r13d, dword [r9 + 0x10]
jmp case.0x1800074af.18
mov eax, dword [r9 + 0x14]
mov r11d, dword [rsp + 0x4c]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x40]
lea ecx, [rax - 1]
mov dword [rsp + 0x48], ecx
jmp 0x18000773a
mov r9, qword [r9]
xor ebx, ebx
mov qword [rsp + 0x28], rbx
xor r8d, r8d
xor ecx, ecx
mov qword [rsp + 0x20], rbx
lea edx, [rbx + 0x34]
call fcn.1800691c0
mov r9, qword [rsp + 0x78]
lea edx, [rbx + 0x34]
xor r8d, r8d
mov qword [rsp + 0x28], rbx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call fcn.1800691c0
mov r9, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x58]
mov edx, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x4c]
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x48]
add edi, 7
cmp edi, r14d
jb 0x180007470
mov r10d, dword [rsp + 0x5c]
mov edi, dword [rsp + 0x60]
jmp 0x180007780
movzx eax, byte [rsp + 0x44]
mov edi, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x50]
mov byte [rsp + 0x44], al
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x68], rax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x48], ecx
imul r12d, r10d, 0x603
mov ebx, r10d
cmp r10d, r12d
ja case.0x1800074af.227
mov esi, dword [rsp + 0x70]
mov r14d, dword [rsp + 0x70]
mov r15, qword [rbp - 0x58]
movss xmm6, dword [rsp + 0x70]
movss xmm7, dword [rsp + 0x70]
mov r13, qword [rbp - 0x58]
cmp ebx, 0x23e0
ja 0x180007909
je 0x1800078fa
cmp ebx, 0xad3
ja 0x18000785b
je 0x180007833
cmp ebx, 0x11
je 0x180007820
cmp ebx, 0x32
je case.0x1800074af.227
cmp ebx, 0x70
je 0x180007811
cmp ebx, 0x572
jne 0x180007b87
cmp edx, ecx
jle 0x1800077fe
mov edx, ecx
mov dword [rsp + 0x54], ecx
jmp 0x180007b87
test edx, edx
mov ecx, 0
cmovs edx, ecx
mov dword [rsp + 0x54], edx
jmp 0x180007b87
mov ecx, 2
mov word [rsp + 0x52], cx
jmp 0x180007b87
comiss xmm8, xmm10
ja 0x180007b87
movaps xmm8, xmm10
jmp 0x180007b87
cmp r8d, r11d
jle 0x180007845
mov r8d, r11d
mov dword [rsp + 0x58], r11d
jmp 0x180007b87
test r8d, r8d
mov ecx, 0
cmovs r8d, ecx
mov dword [rsp + 0x58], r8d
jmp 0x180007b87
cmp ebx, 0x1034
je 0x1800078f2
cmp ebx, 0x1595
je 0x1800078e0
cmp ebx, 0x1af6
je 0x1800078b7
cmp ebx, 0x2057
jne 0x180007b87
mov r9, qword [rbp - 0x68]
imul eax, r8d
add eax, esi
imul eax, edi
cdqe
lea rax, [r9 + rax*4]
mov qword [rsp + 0x68], rax
mov eax, r14d
imul eax, dword [rsp + 0x40]
add eax, edx
imul eax, edi
cdqe
lea rax, [r9 + rax*4]
mov qword [rbp - 0x48], rax
jmp 0x180007b83
mov rcx, qword [rbp - 0x68]
cmp r14d, r11d
mov eax, r11d
cmovl eax, r14d
mov r14d, eax
mov eax, dword [rsp + 0x40]
imul eax, r8d
add eax, edx
imul eax, edi
cdqe
lea r13, [rcx + rax*4]
jmp 0x180007b83
cmp esi, ecx
lea r14d, [r8 + 1]
mov eax, ecx
cmovl eax, esi
mov esi, eax
jmp 0x180007b83
lea esi, [rdx + 1]
jmp 0x180007b87
mov ecx, 0x50
mov word [rsp + 0x50], cx
jmp 0x180007b87
cmp ebx, 0xb1a0
ja 0x180007aac
je 0x180007a98
cmp ebx, 0x25b8
je 0x1800079d9
cmp ebx, 0x4750
je 0x1800079ce
cmp ebx, 0x6ac0
je 0x180007955
cmp ebx, 0x8e30
jne 0x180007b87
mov ecx, 0xa
mov word [rbp - 0x5e], cx
jmp 0x180007b87
mov rcx, qword [rbp - 0x58]
xor eax, eax
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov word [rbp - 0x76], ax
xor r8d, r8d
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
lea edx, [r9 + 0x47]
call fcn.180078d20
test al, al
jne 0x180007b75
mov byte [rbp - 0x70], al
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.1800c9c10
lea r11, [rsp + 0x3c0]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor ecx, ecx
mov word [rbp - 0x78], cx
jmp 0x180007b87
mov rcx, qword [rbp - 0x68]
mov eax, r14d
imul eax, dword [rsp + 0x40]
add eax, esi
imul eax, edi
cdqe
lea rdx, [rcx + rax*4]
test edi, edi
jle 0x180007b7f
mov r8, qword [rbp - 0x38]
mov r11, r13
mov r9, qword [rsp + 0x68]
sub r8, rdx
mov r10, qword [rbp - 0x48]
sub r9, rdx
sub r10, rdx
sub r11, rdx
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x106
mov eax, ecx
sub eax, 0x106
je 0x180007a67
sub eax, 0x29
je 0x180007a50
cmp eax, 0x29
jne 0x180007a7e
movaps xmm0, xmm7
subss xmm0, xmm6
mulss xmm0, xmm9
addss xmm0, xmm6
movss dword [r8 + rdx], xmm0
jmp 0x180007a7e
movss xmm7, dword [rdx]
subss xmm7, dword [r9 + rdx]
mulss xmm7, xmm8
addss xmm7, dword [r9 + rdx]
jmp 0x180007a7e
movss xmm6, dword [r10 + rdx]
subss xmm6, dword [r11 + rdx]
mulss xmm6, xmm8
addss xmm6, dword [r11 + rdx]
add ecx, 0x29
cmp ecx, 0x181
jb 0x180007a25
add rdx, 4
sub rdi, 1
jne 0x180007a20
jmp 0x180007b75
xor ecx, ecx
mov word [rbp - 0x60], cx
mov ecx, 0xb
mov word [rbp - 0x5a], cx
jmp 0x180007b87
cmp ebx, 0xd510
je 0x180007b4d
cmp ebx, 0xf880
je 0x180007b0b
cmp ebx, 0x11bf0
je 0x180007ad9
cmp ebx, 0x13f60
je case.0x1800074af.227
jmp 0x180007b87
mov rax, qword [rbp - 0x30]
lea rdx, [rsp + 0x70]
xor r8d, r8d
mov ecx, 0x104
movzx eax, word [rax]
mov word [rbp - 0x80], ax
mov eax, dword [rbp - 0x50]
mov dword [rsp + 0x70], eax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
call fcn.18005ae80
mov byte [rbp - 0x70], al
jmp 0x180007b75
xor eax, eax
mov ecx, eax
cmp r15, 0xffffffffffffffff
movzx eax, byte [rsp + 0x44]
cmovne ecx, eax
mov byte [rsp + 0x44], cl
test cl, cl
je 0x180007b83
mov r9d, dword [rbp - 0x78]
lea rax, [rbp - 0x60]
mov r8d, dword [rsp + 0x50]
lea rdx, [rbp - 0x20]
mov rcx, r15
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteConsoleOutputA]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x180007b75
mov eax, 0x4f
xor r8d, r8d
mov word [rbp - 0x5c], ax
mov ecx, 0xc0000000
xor eax, eax
mov qword [rsp + 0x20], rax
lea r9d, [rax + 1]
lea edx, [rax + 3]
call qword [sym.imp.KERNEL32.dll_CreateConsoleScreenBuffer]
mov r15, rax
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x40]
imul ecx, r10d, 0x51
add ebx, ecx
cmp ebx, r12d
ja case.0x1800074af.227
mov r9, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x48]
mov edi, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x4c]
jmp 0x1800077b0