Function at 0x140013f30
Capabilities:
Hide graphical window
Manipulate console buffer

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf78]
mov eax, 0x1078
call fcn.140063520
sub rsp, rax
mov rax, qword [0x14009b3f8]
xor rax, rsp
mov qword [rbp + 0xf60], rax
lea r15, [rcx + 0x18]
mov dword [rsp + 0x30], r9d
mov rsi, rcx
mov dword [rsp + 0x34], r8d
mov rcx, r15
mov r12d, r9d
mov r14d, r8d
mov r13d, edx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor ebx, ebx
lea rcx, [rbp + 0x360]
xor edx, edx
mov qword [rsp + 0x38], rbx
mov r8d, 0x400
call fcn.140035c20
mov rdx, qword [rbp + 0xfe0]
lea rcx, [rsp + 0x38]
lea rdi, [rbp + 0xfe8]
call fcn.140002040
call fcn.140001140
mov r9, qword [rsp + 0x38]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x28], rdi
mov r8d, 0x200
mov qword [rsp + 0x20], rbx
mov rcx, qword [rax]
call fcn.14003de40
mov rcx, qword [rsp + 0x38]
lea edx, [rbx + 2]
call fcn.1400302b8
cmp byte [rsi + 0x10], bl
jne 0x140014018
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x14001400f
mov rax, qword [rsi]
lea rdx, [rsi + 0x458]
mov rcx, rsi
call qword [rax + 0x40]
cmp byte [rsi + 0x10], bl
je 0x140014155
mov rax, qword [rsi]
lea rcx, vtable.cThrdLog.0
mov rdi, qword [rbp + 0xfe0]
mov r8, qword [rax + 0x60]
cmp rax, rcx
jne 0x1400142b5
mov r8, 0xffffffffffffffff
mov rcx, r8
inc rcx
cmp word [rdi + rcx*2], bx
jne 0x140014040
add rcx, 2
mov eax, 2
mul rcx
cmovo rax, r8
mov rcx, rax
call fcn.140030420
mov r15, rax
test rax, rax
jne 0x14001406e
mov r15, rbx
jmp 0x1400140d1
mov rbx, r15
xor r14d, r14d
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rdi + rax*2], r14w
jne 0x140014080
test rax, rax
je 0x1400140c7
mov r12, rdi
sub r12, r15
movzx ecx, word [r12 + rbx]
call fcn.14004add4
mov word [rbx], ax
add rbx, 2
inc r14d
mov rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], 0
jne 0x1400140b0
mov ecx, r14d
cmp rcx, rax
jb 0x140014095
mov r12d, dword [rsp + 0x30]
mov r14d, dword [rsp + 0x34]
xor eax, eax
mov word [rbx], ax
lea rdx, str.FAIL
mov rcx, r15
call fcn.140035db0
lea rcx, [rbp + 0x360]
mov edx, 0x200
test rax, rax
je 0x140014104
lea r9, [rsp + 0x60]
lea r8, str.ERROR_s
call fcn.140001150
jmp 0x14001411d
lea rax, [rsp + 0x60]
mov r9d, r12d
lea r8, str.STATUS_d__s
mov qword [rsp + 0x20], rax
call fcn.140001150
mov rcx, r15
call fcn.14004acf4
lea rcx, [rsi + 0x40]
lea rdx, [rbp + 0x360]
call fcn.140027470
test eax, eax
je 0x140014151
mov byte [rsi + 0x10], 0
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
mov edx, 1
call qword [sym.imp.USER32.dll_ShowWindow]
lea r15, [rsi + 0x18]
mov rdi, qword [rsi + 8]
lea rcx, vtable.cLog.0
mov rax, qword [rdi]
mov r10, qword [rax + 0x30]
cmp rax, rcx
jne 0x1400142c6
cmp byte [rdi + 0x1c], 0
jne 0x140014289
cmp dword [rdi + 0xc28], 0
je 0x140014289
xor edx, edx
lea rcx, [rbp + 0x760]
mov r8d, 0x800
call fcn.140035c20
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
lea rdx, [rsp + 0x40]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
je 0x140014289
movzx ecx, word [rsp + 0x60]
lea rdx, [rsp + 0x60]
mov esi, 0x20
test cx, cx
je 0x1400141e9
cmp cx, 0xa
jne 0x1400141dc
mov word [rdx], si
movzx ecx, word [rdx + 2]
add rdx, 2
test cx, cx
jne 0x1400141d3
mov rax, qword [rdi]
mov r8d, 0x3d
mov edx, 0x1a
mov word [rsp + 0x20], r8w
mov ecx, 0x4c
cmp r13d, 0x32
mov r9d, r12d
mov r8d, r14d
cmovg edx, ecx
mov rcx, rdi
call qword [rax + 0x20]
lea r9, [rsp + 0x60]
mov edx, 0x400
lea r8, [0x14007a2f0]
lea rcx, [rbp + 0x760]
call fcn.140001150
mov ecx, 0x28
sub ecx, eax
test ecx, ecx
jle 0x140014250
cdqe
lea rdi, [rbp + 0x760]
lea rdi, [rdi + rax*2]
movzx eax, si
rep stosw word [rdi], ax
mov word [rsp + 0x30], r13w
mov rcx, rbx
mov word [rsp + 0x32], r14w
mov edx, dword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
xor eax, eax
lea r9, [rsp + 0x34]
lea rdx, [rbp + 0x760]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea r8d, [rax + 0x12]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbp + 0xf60]
xor rcx, rsp
call fcn.1400303d0
add rsp, 0x1078
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, rdi
mov rcx, rsi
call r8
mov r15, rax
jmp 0x1400140d1
lea rax, [rsp + 0x60]
mov r9d, r12d
mov r8d, r14d
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, rdi
call r10
jmp 0x140014289