Function at 0x1401d58e0
Capabilities:
Manipulate console buffer
Set console window title

Disassembly:
push rbp
push rsi
push r12
push r15
lea rbp, [rsp - 0x3f]
sub rsp, 0xc8
mov rax, qword [0x14041f010]
xor rax, rsp
mov qword [rbp + 0x17], rax
cmp dword [0x14045b94c], 0
mov rsi, rcx
movsxd r15, edx
lea r12, [rcx + r15]
jne 0x1401d5929
mov rdx, rcx
mov r8d, r15d
mov ecx, 1
call fcn.14001f20c
jmp 0x1401d690d
test edx, edx
je 0x1401d690d
mov qword [rsp + 0x100], rbx
lea r8, [0x140000000]
mov qword [rsp + 0xc0], rdi
mov r9d, 0xff
mov qword [rsp + 0xb8], r13
mov edx, 0x8002580
mov qword [rsp + 0xb0], r14
xor r13d, r13d
lea r10d, [r9 - 0x77]
nop word [rax + rax]
mov r14d, r15d
sub r15d, 1
js 0x1401d6881
mov ebx, r13d
cmp rsi, r12
jae 0x1401d59a4
mov rcx, rsi
movzx eax, byte [rcx]
cmp al, 0x1b
ja 0x1401d5994
bt edx, eax
jb 0x1401d59a4
inc ebx
inc rcx
movsxd rax, ebx
add rax, rsi
cmp rax, r12
jb 0x1401d5988
mov ecx, dword [0x140469244]
test ecx, ecx
je 0x1401d5a41
xor edx, edx
call fcn.1401db8b0
test ebx, ebx
je 0x1401d59c9
mov ebx, 1
mov edx, ebx
jmp 0x1401d6849
mov r9d, 0xff
lea r8, [0x140000000]
lea r10d, [r9 - 0x77]
movzx eax, byte [rsi]
cmp al, 0xa
jne 0x1401d5a6a
movzx eax, word [0x140461fbe]
cmp word [0x140461fda], ax
movsx ecx, word [0x140461fb8]
jne 0x1401d5a4c
movsx edx, word [0x140461fba]
inc ecx
mov ebx, dword [0x140461fd8]
inc edx
call fcn.1401d7540
mov ecx, 1
call fcn.1401d7640
movsx edx, word [0x140461fbe]
movsx ecx, word [0x140461fb8]
inc edx
inc ecx
mov dword [0x140461fd8], ebx
call fcn.1401d7540
inc rsi
jmp case.0x1401d5b45.64
test ebx, ebx
je 0x1401d59da
mov edx, ebx
jmp 0x1401d6849
mov eax, dword [0x140461fd8]
shr eax, 0x10
movsx edx, ax
add edx, 2
inc ecx
call fcn.1401d7540
inc rsi
jmp case.0x1401d5b45.64
cmp al, 0xd
jne 0x1401d5a8d
movsx edx, word [0x140461fda]
movsx ecx, word [0x140461fb8]
inc edx
inc ecx
call fcn.1401d7540
inc rsi
jmp case.0x1401d5b45.64
cmp al, 8
jne 0x1401d5ae5
movzx eax, word [0x140461fd8]
cmp ax, word [0x140461fb8]
movzx ecx, word [0x140461fda]
jle 0x1401d5aad
dec ax
jmp 0x1401d5ac7
cmp cx, word [0x140461fba]
jle 0x1401d5ace
movzx eax, word [0x140461fbc]
dec cx
mov word [0x140461fda], cx
mov word [0x140461fd8], ax
movsx edx, cx
movsx ecx, ax
inc edx
inc ecx
call fcn.1401d7540
inc rsi
jmp case.0x1401d5b45.64
cmp al, 7
jne 0x1401d5afc
mov ecx, 0xffffffff
call qword [sym.imp.USER32.dll_MessageBeep]
inc rsi
jmp case.0x1401d5b45.64
cmp al, 0x1b
jne 0x1401d6844
cmp r15d, 2
jl 0x1401d6844
cmp byte [rsi + 1], 0x7c
lea rbx, [rsi + 1]
jne 0x1401d67e0
movzx eax, byte [rsi + 2]
mov edi, r13d
add eax, 0xffffffd0
cmp eax, 0x46
ja case.0x1401d5b45.64
cdqe
movzx eax, byte [r8 + rax + 0x1d696c]
mov ecx, dword [r8 + rax*4 + 0x1d6928]
add rcx, r8
jmp rcx
cmp byte [rsi], 0x1b
jne 0x1401d5ba8
nop dword [rax]
inc rbx
mov rcx, rbx
call fcn.14000b638
movzx ecx, byte [rbx]
mov edx, eax
cmp cl, 0x2d
jne 0x1401d5b6c
movzx ecx, byte [rbx + 1]
inc rbx
movzx ecx, cl
sub ecx, 0x30
cmp ecx, 0xa
jae 0x1401d5b8f
nop word [rax + rax]
movzx eax, byte [rbx + 1]
inc rbx
sub eax, 0x30
cmp eax, 0xa
jb 0x1401d5b80
movsxd rax, edi
cmp edi, 0xf
mov dword [rbp + rax*4 - 0x29], edx
mov eax, r13d
setl al
add edi, eax
cmp byte [rbx], 0x3b
je 0x1401d5b50
jmp 0x1401d5bab
mov rbx, r13
cmp byte [rbx], 0x6d
jne 0x1401d5deb
mov rcx, rsi
call fcn.1401d6a70
mov rcx, rax
mov edx, 0x26
call fcn.1401d6b50
mov edx, 0x30
mov rcx, rax
call fcn.1401d6b50
test rax, rax
je 0x1401d5bea
cmp byte [rax], 0xa
jne 0x1401d5bea
cmp byte [rax + 1], 0x1b
lea rcx, [rax + 1]
je 0x1401d5bed
mov rcx, r13
mov edx, 0x30
call fcn.1401d6b50
mov rcx, rax
mov edx, 0x26
call fcn.1401d6b50
mov rcx, rsi
test rax, rax
je 0x1401d5c3c
call fcn.1401d6a70
mov rcx, rax
mov edx, 0x26
call fcn.1401d6b50
mov rcx, rax
mov edx, 0x30
call fcn.1401d6b50
mov r15d, esi
mov rsi, rax
sub r15d, eax
add r15d, r14d
jmp case.0x1401d5b45.64
mov edx, 0x26
call fcn.1401d6b50
mov edx, 0x30
mov rcx, rax
mov rbx, rax
call fcn.1401d6b50
mov r8, rax
test rax, rax
je 0x1401d5c8f
movzx ecx, byte [rax]
test cl, cl
je 0x1401d5c8f
movabs rdx, 0x100002600
nop
cmp cl, 0x20
ja 0x1401d5c85
bt rdx, rcx
jae 0x1401d5c85
movzx ecx, byte [r8 + 1]
inc r8
jmp 0x1401d5c70
test r8, r8
je 0x1401d5c8f
cmp cl, 0x1b
je 0x1401d5c92
mov r8, r13
mov edx, 0x30
mov rcx, r8
call fcn.1401d6b50
mov rcx, rax
mov edx, 0x26
call fcn.1401d6b50
test rax, rax
mov r14, rsi
mov edx, 0x26
cmovne r14, rbx
mov rcx, r14
call fcn.1401d6b50
mov edx, 0x30
mov rcx, rax
mov rbx, rax
call fcn.1401d6b50
mov r8, rax
test rax, rax
je 0x1401d5d0f
movzx ecx, byte [rax]
test cl, cl
je 0x1401d5d0f
movabs rdx, 0x100002600
nop dword [rax]
cmp cl, 0x20
ja 0x1401d5d05
bt rdx, rcx
jae 0x1401d5d05
movzx ecx, byte [r8 + 1]
inc r8
jmp 0x1401d5cf0
test r8, r8
je 0x1401d5d0f
cmp cl, 0x1b
je 0x1401d5d12
mov r8, r13
mov edx, 0x26
mov rcx, r8
call fcn.1401d6b50
mov rcx, rax
mov edx, 0x30
call fcn.1401d6b50
test rax, rax
mov edx, 0x30
cmovne r14, rbx
mov rcx, r14
call fcn.1401d6b50
mov edx, 0x30
mov rcx, rax
mov rbx, rax
call fcn.1401d6b50
test rax, rax
cmovne r14, rbx
mov rcx, r14
call fcn.1401d6a70
mov edx, 0x26
mov rcx, rax
mov rbx, rax
call fcn.1401d6b50
test rax, rax
cmovne r14, rbx
test r14, r14
je 0x1401d5de8
cmp byte [r14], 0x1b
jne 0x1401d5de8
mov edi, r13d
lea rbx, [r14 + 1]
nop dword [rax + rax]
inc rbx
mov rcx, rbx
call fcn.14000b638
movzx ecx, byte [rbx]
mov edx, eax
cmp cl, 0x2d
jne 0x1401d5dac
movzx ecx, byte [rbx + 1]
inc rbx
movzx ecx, cl
sub ecx, 0x30
cmp ecx, 0xa
jae 0x1401d5dcf
nop word [rax + rax]
movzx eax, byte [rbx + 1]
inc rbx
sub eax, 0x30
cmp eax, 0xa
jb 0x1401d5dc0
movsxd rax, edi
cmp edi, 0xf
mov dword [rbp + rax*4 - 0x29], edx
mov eax, r13d
setl al
add edi, eax
cmp byte [rbx], 0x3b
je 0x1401d5d90
jmp 0x1401d5deb
mov rbx, r13
movzx eax, byte [rbx]
cmp al, 0x6d
jne 0x1401d5f31
cmp edi, 1
jne 0x1401d5f0b
mov r8d, dword [rbp - 0x29]
test r8d, r8d
jne 0x1401d5e65
cmp dword [0x140461ff8], r13d
jne 0x1401d5e45
movzx edx, word [0x140432418]
movzx eax, dx
mov ecx, 0xff
and ax, cx
mov word [0x14045e118], ax
mov rcx, qword [0x140454e60]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
sub esi, ebx
add r15d, esi
lea rsi, [rbx + 1]
jmp case.0x1401d5b45.64
lea rdx, [rbp - 0x45]
mov dword [rbp - 0x45], r13d
mov ecx, 1
call fcn.1401d3960
sub esi, ebx
add r15d, esi
lea rsi, [rbx + 1]
jmp case.0x1401d5b45.64
cmp dword [0x140461ff8], r13d
je 0x1401d5efe
mov rdx, qword [0x140468780]
test rdx, rdx
je 0x1401d5efe
mov rcx, r13
lea r9, str.win32
nop dword [rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r9 + rcx - 1]
jne 0x1401d5efe
cmp rcx, 6
jne 0x1401d5e90
cmp dword [0x14046996c], r13d
jne 0x1401d5eb9
cmp dword [0x14045b71c], 0x100
jl 0x1401d5efe
movzx eax, word [0x14045e118]
movzx edx, r8w
mov r8d, 0xf0
movzx ecx, dx
mov dword [rbp - 0x41], edx
and cx, 0xf
lea rdx, [rbp - 0x41]
and ax, r8w
add cx, ax
mov word [0x14045e118], cx
mov ecx, 1
call fcn.1401d3960
sub esi, ebx
add r15d, esi
lea rsi, [rbx + 1]
jmp case.0x1401d5b45.64
movzx edx, r8w
movzx eax, r8w
jmp 0x1401d5e1b
cmp dword [0x140461ff8], r13d
je 0x1401d61a6
lea rdx, [rbp - 0x29]
mov ecx, edi
call fcn.1401d3960
sub esi, ebx
add r15d, esi
lea rsi, [rbx + 1]
jmp case.0x1401d5b45.64
cmp edi, 2
jne 0x1401d603a
cmp al, 0x48
jne 0x1401d5f57
mov edx, dword [rbp - 0x29]
mov ecx, dword [rbp - 0x25]
call fcn.1401d7540
sub esi, ebx
add r15d, esi
lea rsi, [rbx + 1]
jmp case.0x1401d5b45.64
cmp al, 0x72
jne 0x1401d5fba
mov ecx, dword [rbp - 0x25]
mov edx, dword [rbp - 0x29]
dec ecx
mov r8d, dword [0x140420870]
dec edx
sub r8d, 1
je 0x1401d61a6
cmp edx, ecx
jae 0x1401d61a6
mov eax, dword [0x140420f60]
dec eax
cmp ecx, eax
ja 0x1401d61a6
sub esi, ebx
mov word [0x140461fb8], r13w
add r15d, esi
mov word [0x140461fba], dx
lea rsi, [rbx + 1]
mov word [0x140461fbc], r8w
mov word [0x140461fbe], cx
jmp case.0x1401d5b45.64
cmp al, 0x52
jne 0x1401d5ff8
mov edx, dword [rbp - 0x29]
mov ecx, dword [rbp - 0x25]
cmp edx, ecx
jae 0x1401d61a6
mov eax, dword [0x140420f60]
dec eax
cmp ecx, eax
ja 0x1401d61a6
sub esi, ebx
mov word [0x140461fba], dx
add r15d, esi
mov word [0x140461fbe], cx
lea rsi, [rbx + 1]
jmp case.0x1401d5b45.64
cmp al, 0x56
jne 0x1401d61a6
mov edx, dword [rbp - 0x29]
mov ecx, dword [rbp - 0x25]
cmp edx, ecx
jae 0x1401d61a6
mov eax, dword [0x140420870]
dec eax
cmp ecx, eax
ja 0x1401d61a6
sub esi, ebx
mov word [0x140461fb8], dx
add r15d, esi
mov word [0x140461fbc], cx
lea rsi, [rbx + 1]
jmp case.0x1401d5b45.64
cmp edi, 1
jne 0x1401d61a6
cmp al, 0x41
jne 0x1401d607b
movsx edx, word [0x140461fba]
movsx eax, word [0x140461fda]
sub eax, dword [rbp - 0x29]
movsx ecx, word [0x140461fd8]
cmp edx, eax
cmovle edx, eax
inc ecx
inc edx
call fcn.1401d7540
sub esi, ebx
add r15d, esi
lea rsi, [rbx + 1]
jmp case.0x1401d5b45.64
cmp al, 0x62
jne 0x1401d60cf
movzx eax, word [0x14045e118]
movzx ecx, word [rbp - 0x29]
and ax, 0xf
movzx edx, cx
and dx, 0xf
shl dx, 4
add dx, ax
cmp dword [0x140461ff8], r13d
mov word [0x14045e118], dx
je 0x1401d5e2a
mov dword [rbp - 0x3d], ecx
lea rdx, [rbp - 0x3d]
mov ecx, 1
call fcn.1401d3960
sub esi, ebx
add r15d, esi
lea rsi, [rbx + 1]
jmp case.0x1401d5b45.64
cmp al, 0x43
jne 0x1401d610b
movsx ecx, word [0x140461fbc]
movsx r8d, word [0x140461fd8]
add r8d, dword [rbp - 0x29]
movsx edx, word [0x140461fda]
inc edx
cmp ecx, r8d
cmovge ecx, r8d
inc ecx
call fcn.1401d7540
sub esi, ebx
add r15d, esi
lea rsi, [rbx + 1]
jmp case.0x1401d5b45.64
cmp al, 0x66
jne 0x1401d6161
movzx eax, word [0x14045e118]
mov r8d, 0xf0
movzx ecx, word [rbp - 0x29]
and ax, r8w
movzx edx, cx
and dx, 0xf
add dx, ax
cmp dword [0x140461ff8], r13d
mov word [0x14045e118], dx
je 0x1401d5e2a
mov dword [rbp - 0x39], ecx
lea rdx, [rbp - 0x39]
mov ecx, 1
call fcn.1401d3960
sub esi, ebx
add r15d, esi
lea rsi, [rbx + 1]
jmp case.0x1401d5b45.64
cmp al, 0x48
jne 0x1401d6180
mov edx, dword [rbp - 0x29]
mov ecx, 1
call fcn.1401d7540
sub esi, ebx
add r15d, esi
lea rsi, [rbx + 1]
jmp case.0x1401d5b45.64
cmp al, 0x4c
jne 0x1401d619a
mov ecx, dword [rbp - 0x29]
call fcn.1401d7790
sub esi, ebx
add r15d, esi
lea rsi, [rbx + 1]
jmp case.0x1401d5b45.64
cmp al, 0x4d
jne 0x1401d61a6
mov ecx, dword [rbp - 0x29]
call fcn.1401d7640
sub esi, ebx
add r15d, esi
lea rsi, [rbx + 1]
jmp case.0x1401d5b45.64
movsx edx, word [0x140461fba]
movsx eax, word [0x140461fda]
movsx ecx, word [0x140461fd8]
dec eax
cmp edx, eax
cmovle edx, eax
inc ecx
inc edx
call fcn.1401d7540
add rsi, 3
sub r15d, 2
jmp case.0x1401d5b45.64
movzx r14d, word [0x14045e118]
mov ebx, r13d
not r14w
mov dword [rbp - 0x55], r13d
and r14w, r9w
cmp dword [0x14046996c], edi
jne 0x1401d6265
cmp dword [0x14045b71c], 0x100
jge 0x1401d6265
mov eax, dword [0x140420f60]
mov edx, 1
imul eax, dword [0x140420870]
movsxd rcx, eax
add rcx, rcx
call fcn.140032b90
mov rdi, rax
test rax, rax
je 0x1401d67d3
mov r8d, dword [0x140420f60]
lea rax, [rbp - 0x51]
imul r8d, dword [0x140420870]
mov r9d, ebx
mov rcx, qword [0x140454e60]
mov rdx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_ReadConsoleOutputAttribute]
mov r8d, dword [0x140420f60]
lea rax, [rbp - 0x51]
imul r8d, dword [0x140420870]
mov r9d, ebx
mov rcx, qword [0x140454e60]
movzx edx, r14w
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_FillConsoleOutputAttribute]
mov ecx, recv
call qword [sym.imp.KERNEL32.dll_Sleep]
test rdi, rdi
je 0x1401d67d3
mov r8d, dword [0x140420f60]
lea rax, [rbp - 0x51]
imul r8d, dword [0x140420870]
mov r9d, ebx
mov rcx, qword [0x140454e60]
mov rdx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteConsoleOutputAttribute]
cmp dword [0x14045b3f8], r13d
jne 0x1401d67d3
mov rcx, rdi
call fcn.140005660
add rsi, 3
sub r15d, 2
jmp case.0x1401d5b45.64
movsx ecx, word [0x140461fbc]
movsx eax, word [0x140461fd8]
movsx edx, word [0x140461fda]
inc eax
inc edx
cmp ecx, eax
cmovge ecx, eax
inc ecx
call fcn.1401d7540
add rsi, 3
sub r15d, 2
jmp case.0x1401d5b45.64
cmp dword [0x140461f64], r13d
je 0x1401d67d3
lea rcx, [0x140461f70]
call fcn.1401da4f0
mov rcx, qword [0x140454dd8]
lea rdx, [rbp - 0x4d]
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
mov edx, dword [0x140462270]
mov rcx, qword [0x140454dd8]
and edx, 0x40
or edx, dword [rbp - 0x4d]
and edx, 0xffffffe7
mov dword [rbp - 0x4d], edx
bts edx, 7
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
cmp dword [0x14045b548], r13d
lea rax, [0x1404621e0]
mov edx, dword [0x140468f38]
lea rbx, [0x140462130]
cmovne rbx, rax
mov rcx, rbx
call fcn.1401da2d0
call fcn.1401d3310
mov ecx, dword [0x14045b548]
test ecx, ecx
je 0x1401d63c2
cmp dword [0x1404621ac], r13d
je 0x1401d63c2
lea rcx, str.e__1049l
call fcn.1401d48e0
mov ecx, dword [0x14045b548]
cmp dword [0x1404621a8], r13d
jne 0x1401d6444
mov eax, dword [0x140468f38]
test eax, eax
jne 0x1401d63d9
test ecx, ecx
je 0x1401d6444
mov word [rbp - 0x59], r13w
test eax, eax
je 0x1401d63e8
movzx edi, word [rbx + 0xa]
jmp 0x1401d63f2
movzx edi, word [0x140420f60]
dec di
movsx r8d, word [rbx + 4]
lea rax, [rbp - 0x35]
mov rcx, qword [0x140454e60]
mov dl, 0x20
mov word [rbp - 0x57], di
mov ebx, dword [rbp - 0x59]
mov r9d, ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_FillConsoleOutputCharacterA]
cmp dword [0x14045b548], r13d
je 0x1401d6435
cmp dword [0x140468f38], r13d
jne 0x1401d6435
dec di
mov word [rbp - 0x57], di
mov ebx, dword [rbp - 0x59]
mov rcx, qword [0x140454e60]
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
mov rcx, qword [0x140454e60]
lea rdx, [0x140462108]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorInfo]
add rsi, 3
mov dword [0x140461f64], r13d
sub r15d, 2
jmp case.0x1401d5b45.64
movzx edx, word [0x14045e118]
mov rcx, qword [0x140454e60]
mov word [0x14045e10c], dx
or dx, r10w
movzx eax, dx
and ax, r9w
mov word [0x14045e118], ax
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
add rsi, 3
sub r15d, 2
jmp case.0x1401d5b45.64
movzx edx, word [0x14045e10c]
test dx, dx
je 0x1401d64cd
mov rcx, qword [0x140454e60]
movzx eax, dx
and ax, r9w
mov word [0x14045e118], ax
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
add rsi, 3
mov word [0x14045e10c], r13w
sub r15d, 2
jmp case.0x1401d5b45.64
mov edx, 1
mov ecx, edx
call fcn.1401d7540
add rsi, 3
sub r15d, 2
jmp case.0x1401d5b45.64
mov ebx, dword [0x140461fd8]
mov edi, ebx
movsx r14d, word [0x140461fd8]
shr edi, 0x10
cmp dword [0x140461ff8], r13d
jne 0x1401d6544
movsx eax, word [0x140461fda]
mov ecx, ebx
mov edx, dword [0x140420f60]
sub edx, eax
imul edx, dword [0x140420870]
sub edx, r14d
call fcn.1401d7bb0
add rsi, 3
sub r15d, 2
jmp case.0x1401d5b45.64
call fcn.1401d35b0
movsx edx, word [0x140461fda]
movsx ecx, word [0x140461fd8]
inc edx
inc ecx
call fcn.1401d7540
lea rcx, str.e_0J
call fcn.1401d48e0
movsx edx, di
lea ecx, [r14 + 1]
inc edx
call fcn.1401d7540
add rsi, 3
mov dword [0x140461fd8], ebx
sub r15d, 2
jmp case.0x1401d5b45.64
cmp dword [0x140461ff8], r13d
mov dword [0x140461fd8], r13d
jne 0x1401d65bf
mov edx, dword [0x140420f60]
mov ecx, r13d
imul edx, dword [0x140420870]
call fcn.1401d7bb0
add rsi, 3
sub r15d, 2
jmp case.0x1401d5b45.64
call fcn.1401d35b0
mov edx, 1
mov ecx, edx
call fcn.1401d7540
lea rcx, str.e_2J
call fcn.1401d48e0
add rsi, 3
sub r15d, 2
jmp case.0x1401d5b45.64
mov ebx, dword [0x140461fd8]
mov edi, ebx
movsx r14d, word [0x140461fd8]
shr edi, 0x10
cmp dword [0x140461ff8], r13d
jne 0x1401d6622
mov edx, dword [0x140420870]
mov ecx, ebx
sub edx, r14d
call fcn.1401d7bb0
add rsi, 3
sub r15d, 2
jmp case.0x1401d5b45.64
call fcn.1401d35b0
movsx edx, word [0x140461fda]
movsx ecx, word [0x140461fd8]
inc edx
inc ecx
call fcn.1401d7540
lea rcx, str.e_0K
jmp 0x1401d6567
mov ecx, 1
call fcn.1401d7790
add rsi, 3
sub r15d, 2
jmp case.0x1401d5b45.64
mov ecx, 1
call fcn.1401d7640
add rsi, 3
sub r15d, 2
jmp case.0x1401d5b45.64
cmp dword [0x140461f64], r13d
jne 0x1401d67d3
lea rcx, [0x140462130]
call fcn.1401da4f0
cmp dword [0x140461f70], r13d
je 0x1401d66e2
xor edx, edx
lea rcx, [0x140461f70]
call fcn.1401da2d0
call fcn.1401d33b0
mov rcx, qword [0x140454e60]
lea r8, [0x140461f7e]
mov edx, 1
call qword [sym.imp.KERNEL32.dll_SetConsoleWindowInfo]
movsx eax, word [0x140461f76]
mov dword [0x140420f60], eax
movsx eax, word [0x140461f74]
mov dword [0x140420870], eax
jmp 0x1401d66f8
movzx ecx, word [0x14045e118]
call fcn.1401da830
call fcn.1401d35b0
call fcn.1401d9460
mov rcx, qword [0x14045e9b0]
test rcx, rcx
je 0x1401d672d
xor edx, edx
call fcn.140321bb0
mov rbx, rax
test rax, rax
je 0x1401d672d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
cmp dword [0x14045b3f8], r13d
jne 0x1401d672d
mov rcx, rbx
call fcn.140005660
mov rcx, qword [0x140454dd8]
lea rdx, [rbp - 0x49]
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
mov ecx, dword [rbp - 0x49]
mov edx, dword [0x140462270]
and ecx, 0xffffffbf
and edx, 0x40
or ecx, 0x10
or edx, dword [rbp - 0x49]
and edx, 0xffffffef
cmp dword [0x140462020], r13d
cmovne edx, ecx
mov rcx, qword [0x140454dd8]
or edx, 8
mov dword [rbp - 0x49], edx
bts edx, 7
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
call fcn.140089f50
add rsi, 3
mov dword [0x140461f64], 1
sub r15d, 2
jmp case.0x1401d5b45.64
cmp dword [0x140461ff8], r13d
mov dword [0x140454dec], 1
je 0x1401d67ce
mov edx, 0x68
jmp 0x1401d67c2
cmp dword [0x140461ff8], r13d
mov dword [0x140454dec], r13d
je 0x1401d67ce
mov edx, WSAGetLastError
lea rcx, str.e__25_c
call fcn.1401d48e0
call fcn.1401e0380
add rsi, 3
sub r15d, 2
jmp case.0x1401d5b45.64
cmp r15d, 2
jl 0x1401d6844
cmp byte [rsi + 1], 0x5b
jne 0x1401d6844
movzx ecx, byte [rsi + 2]
call fcn.1400126f0
test eax, eax
mov ebx, r13d
mov rcx, r13
setne bl
add ebx, 2
test eax, eax
setne cl
cmp byte [rcx + rsi + 2], 0x20
jne case.0x1401d5b45.64
cmp byte [rcx + rsi + 3], 0x71
jne case.0x1401d5b45.64
cmp dword [0x140461ff8], r13d
lea edi, [rbx + 2]
je 0x1401d6833
mov r8, rsi
lea rcx, str._.s
mov edx, edi
call fcn.1401d48e0
mov eax, edi
add rsi, rax
mov eax, 0xffffffff
sub eax, ebx
add r15d, eax
jmp case.0x1401d5b45.64
mov edx, 1
mov rcx, rsi
call fcn.1401d6d10
mov ecx, 1
sub ecx, eax
mov eax, eax
add r15d, ecx
add rsi, rax
lea r8, [0x140000000]
mov r9d, 0xff
mov edx, 0x8002580
lea r10d, [r9 - 0x77]
test r15d, r15d
jne 0x1401d5970
jmp 0x1401d68ed
mov rax, qword [0x14046a5e8]
mov edx, dword [0x14045b4f4]
mov ecx, dword [0x14045b4d4]
test rax, rax
je 0x1401d68da
mov r8d, dword [0x14045b548]
test r8d, r8d
jne 0x1401d68cb
test edx, edx
jne 0x1401d68cb
cmp dword [rax + 0x33c], 0x32
jge 0x1401d68cb
mov dword [rax + 0x33c], 0x32
mov dword [rax + 0x300], r13d
cmp ecx, 0x32
jge 0x1401d68cb
lea ecx, [rdx + 0x32]
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1401d68a0
mov dword [0x14045b4d4], ecx
test edx, edx
jne 0x1401d68ed
cmp ecx, 0x32
jge 0x1401d68ed
mov dword [0x14045b4d4], 0x32
mov r13, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0x100]
mov r14, qword [rsp + 0xb0]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140001200
add rsp, 0xc8
pop r15
pop r12
pop rsi
pop rbp
ret