Function at 0x140098c00
Capabilities:
Manipulate console buffer

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x90
mov rax, qword [0x14031d040]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov eax, dword [0x14032ff90]
test eax, eax
je 0x140098c58
cmp eax, 0xffffffff
jne 0x140098c7b
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rsi, rax
inc rax
cmp rax, 2
jae 0x140098dda
xor esi, esi
movzx eax, sil
mov dword [0x14032ff90], eax
jmp 0x140098c5a
xor esi, esi
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1401f08b0
mov eax, esi
add rsp, 0x90
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
cmp eax, 1
je 0x140098cc6
cmp qword [0x14031f9c0], 0
je 0x140098cc6
lea rax, str.shouldnt_be_called_if_not_initialized
mov qword [rsp + 0x20], rax
lea rcx, str.....update_notifier_thirdpartywxWidgets_srcmsw_app.cpp
lea r8, str._anonymous_namespace_::wxConsoleStderr::IsHistoryUnchanged
lea r9, str.m_ok__1
mov edx, 0x20d
call fcn.1400d8690
cmp byte [0x140331ad8], 1
jne 0x140098cc6
mov byte [0x140331ad8], 0
int3
call fcn.1400ab720
call fcn.1400ab720
mov qword [rsp + 0x50], rax
mov rax, qword [0x14032ffd0]
lea rcx, str.cmd.exe
call qword [0x14030c820]
mov esi, eax
test eax, eax
je 0x140098d65
movsxd rdx, esi
lea rdi, [rsp + 0x50]
mov rcx, rdi
call fcn.14009a4d0
mov rax, qword [0x14032ffc8]
mov rcx, qword [rdi]
mov rcx, qword [rcx]
lea r8, str.cmd.exe
mov edx, esi
call qword [0x14030c820]
cmp eax, esi
je 0x140098d65
cmp qword [0x14031f9c0], 0
je 0x140098d65
lea rax, str.failed_getting_history_
mov qword [rsp + 0x20], rax
lea rcx, str.....update_notifier_thirdpartywxWidgets_srcmsw_app.cpp
lea r8, str._anonymous_namespace_::wxConsoleStderr::GetCommandHistory
lea r9, str._Assert_failure_
mov edx, 0x204
call fcn.1400d8690
cmp byte [0x140331ad8], 1
jne 0x140098d65
mov byte [0x140331ad8], 0
int3
mov rdi, qword [rsp + 0x50]
cmp esi, dword [0x14032ffb0]
jne 0x140098d94
mov rdx, qword [rdi]
test rdx, rdx
je 0x140098d94
movsxd r8, esi
mov rax, qword [0x14032ffa8]
mov rcx, qword [rax]
call fcn.1402356f0
test eax, eax
sete sil
jmp 0x140098d96
xor esi, esi
call fcn.1400ab720
cmp rdi, rax
je 0x140098c5a
mov rdi, qword [rsp + 0x50]
dec word [rdi + 0x10]
setne al
test rdi, rdi
sete cl
or cl, al
jne 0x140098dd0
cmp byte [rdi + 0x12], 1
jne 0x140098dc8
mov rcx, qword [rdi]
call fcn.140071eb0
mov rcx, rdi
call fcn.1401ef41c
call fcn.1400ab720
jmp 0x140098c5a
mov ecx, 0x20
call fcn.1401ef3e0
mov qword [rsp + 0x50], rax
movabs rcx, 0x8000000000000010
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], SafeArrayGetDim
lea rcx, [rax + 0x18]
lea rdx, str.kernel32.dll
cmp rax, rdx
seta r8b
cmp rcx, rdx
setbe cl
or cl, r8b
je 0x14009914f
mov rcx, qword [0x1402a0888]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [str.kernel32.dll]
movups xmmword [rax], xmm0
mov word [rax + 0x18], 0
xorps xmm0, xmm0
lea rdi, [rsp + 0x50]
movups xmmword [rdi + 0x18], xmm0
lea rcx, [0x14032ff98]
mov rdx, rdi
mov r8d, 2
call fcn.14010d230
mov ebx, eax
mov rcx, qword [rdi + 0x18]
call fcn.140071eb0
cmp byte [rdi + 0x17], 0
jns 0x140098e79
mov rcx, qword [rsp + 0x50]
call fcn.1401ef41c
test bl, bl
je 0x140098c4a
mov ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_AttachConsole]
test eax, eax
je 0x140098c4a
mov qword [0x14032ffa0], rsi
lea rdx, str.GetConsoleCommandHistory
lea rsi, [rsp + 0x28]
mov rcx, rsi
call fcn.1400343a0
mov rdi, qword [0x14032ff98]
lea rbx, [rsp + 0x50]
mov rcx, rbx
mov rdx, rsi
mov r8d, 0x57
call fcn.1400abe40
mov rcx, rdi
mov rdx, rbx
call fcn.14010de80
mov rsi, rax
mov rcx, qword [rbx + 0x18]
call fcn.140071eb0
cmp byte [rbx + 0x17], 0
jns 0x140098ef3
mov rcx, qword [rsp + 0x50]
call fcn.1401ef41c
mov qword [0x14032ffc8], rsi
mov rcx, qword [rsp + 0x40]
call fcn.140071eb0
cmp byte [rsp + 0x3f], 0
jns 0x140098f15
mov rcx, qword [rsp + 0x28]
call fcn.1401ef41c
cmp qword [0x14032ffc8], 0
je 0x140098c4a
lea rdx, str.GetConsoleCommandHistoryLength
lea rsi, [rsp + 0x28]
mov rcx, rsi
call fcn.1400343a0
mov rdi, qword [0x14032ff98]
lea rbx, [rsp + 0x50]
mov rcx, rbx
mov rdx, rsi
mov r8d, 0x57
call fcn.1400abe40
mov rcx, rdi
mov rdx, rbx
call fcn.14010de80
mov rdi, rax
mov rcx, qword [rbx + 0x18]
call fcn.140071eb0
cmp byte [rbx + 0x17], 0
jns 0x140098f7b
mov rcx, qword [rsp + 0x50]
call fcn.1401ef41c
mov qword [0x14032ffd0], rdi
mov rcx, qword [rsp + 0x40]
call fcn.140071eb0
cmp byte [rsp + 0x3f], 0
jns 0x140098f9d
mov rcx, qword [rsp + 0x28]
call fcn.1401ef41c
mov rax, qword [0x14032ffd0]
test rax, rax
je 0x140098c4a
lea rcx, str.cmd.exe
call qword [0x14030c820]
mov edi, eax
test eax, eax
je 0x140099039
movsxd rdx, edi
lea rcx, [0x14032ffa8]
call fcn.14009a4d0
mov rax, qword [0x14032ffc8]
mov rcx, qword [0x14032ffa8]
mov rcx, qword [rcx]
lea r8, str.cmd.exe
mov edx, edi
call qword [0x14030c820]
cmp eax, edi
je 0x140099039
cmp qword [0x14031f9c0], 0
je 0x140099039
lea rax, str.failed_getting_history_
mov qword [rsp + 0x20], rax
lea rcx, str.....update_notifier_thirdpartywxWidgets_srcmsw_app.cpp
lea r8, str._anonymous_namespace_::wxConsoleStderr::GetCommandHistory
lea r9, str._Assert_failure_
mov edx, 0x204
call fcn.1400d8690
cmp byte [0x140331ad8], 1
jne 0x140099039
mov byte [0x140331ad8], 0
int3
mov dword [0x14032ffb0], edi
mov rax, qword [0x14032ffa8]
cmp qword [rax], 0
je 0x140098c4a
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdx, [rsp + 0x50]
mov qword [rdx + 0xe], rax
movaps xmm0, xmmword [0x1402825c0]
movaps xmmword [rdx], xmm0
mov rcx, qword [0x14032ffa0]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
je 0x140098c4a
movzx eax, word [rsp + 0x56]
mov ecx, 0xaaaaaaaa
mov dword [rsp + 0x28], ecx
lea rbx, [rsp + 0x84]
mov dword [rbx], ecx
mov r14, qword [sym.imp.KERNEL32.dll_ReadConsoleOutputCharacterA]
mov r15d, eax
mov edi, r15d
shl edi, 0x10
mov rcx, qword [0x14032ffa0]
mov qword [rsp + 0x20], rsi
mov rdx, rbx
mov r8d, 4
mov r9d, edi
call r14
test eax, eax
je 0x140098c4a
mov ecx, dword [0x14029f060]
lea eax, [r15 - 1]
cmp ecx, dword [rsp + 0x84]
jne 0x1400990a1
movsx eax, word [rsp + 0x56]
movsx ecx, r15w
sub eax, ecx
mov dword [0x14032ffc4], eax
movsx ecx, word [rsp + 0x62]
imul ecx, eax
movsx eax, word [rsp + 0x54]
add eax, ecx
mov dword [0x14032ffc0], eax
jle 0x140099147
mov edx, eax
lea rcx, [0x14032ffb8]
call fcn.14009a3b0
mov r8d, dword [0x14032ffc0]
mov rax, qword [0x14032ffb8]
mov rdx, qword [rax]
mov rcx, qword [0x14032ffa0]
mov qword [rsp + 0x20], rsi
mov r9d, edi
call qword [sym.imp.KERNEL32.dll_ReadConsoleOutputCharacterA]
test eax, eax
setne sil
jmp 0x140098c4c
mov sil, 1
jmp 0x140098c4c
ud2