Function at 0x1400bfc60
Capabilities:
Manipulate console buffer

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4020]
mov eax, 0x4120
call fcn.1400cb9a0
sub rsp, rax
mov rax, qword [0x140136348]
xor rax, rsp
mov qword [rbp + 0x4010], rax
movzx edi, byte [rcx + 0x11c]
xor eax, eax
mov r13d, dword [rcx + 0x118]
mov rsi, rcx
movzx r12d, byte [rcx + 0x11d]
mov r15d, eax
movzx ebx, word [rcx + 0x11e]
mov r14, r9
lea rcx, [0x1403c0458]
mov dword [rsp + 0x34], edi
mov dword [r9], eax
mov dword [rsp + 0x68], r8d
mov qword [rbp - 0x20], rdx
call fcn.1400c9c80
xor r8d, r8d
mov edx, r8d
mov dword [rsp + 0x64], edx
cmp dword [rsp + 0x68], r8d
jbe 0x1400c137e
mov eax, r8d
lea r11, [0x140000000]
mov qword [rbp - 0x80], rax
lea r9d, [r8 + 0x10]
mov r10d, 0xfffd
nop word [rax + rax]
mov rcx, qword [rbp - 0x20]
add rax, rax
movups xmm0, xmmword [rcx + rax*8]
mov ecx, r8d
mov dword [rsp + 0x30], ecx
movd eax, xmm0
movups xmmword [rbp - 0x18], xmm0
mov dword [rsp + 0x6c], eax
test eax, eax
je 0x1400c132d
nop word [rax + rax]
mov rdx, qword [rbp - 0x10]
mov eax, ecx
movzx edx, byte [rax + rdx]
movzx eax, dl
test dil, dil
jne 0x1400bfd8f
not al
movzx eax, al
bsr r8d, eax
je 0x1400bfdc8
cmp r8d, 7
jne 0x1400bfd68
mov r13d, edx
jmp 0x1400bfdcb
cmp r8d, 5
ja 0x1400bfdc8
mov ecx, 8
mov r13d, 0xff
sub ecx, r8d
mov edi, 6
sar r13d, cl
sub dil, r8b
and r13d, edx
xor r8d, r8d
jmp 0x1400bfdaa
and al, 0xc0
cmp al, 0x80
jne 0x1400bfdbd
mov eax, r13d
mov ecx, edx
and ecx, 0x3f
shl eax, 6
mov r13d, ecx
add dil, 0xff
or r13d, eax
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0x34], edi
test dil, dil
jne 0x1400c1302
jmp 0x1400bfdcb
dec ecx
mov byte [rsp + 0x34], 0
mov dword [rsp + 0x30], ecx
mov r13d, r10d
cmp dword [0x140136334], 0
je 0x1400c01a9
test bx, bx
jne 0x1400bfe0b
cmp r13d, 0x1b
je 0x1400bfe01
cmp r13d, 0x9b
jne 0x1400c01a9
mov ebx, 4
mov byte [rsi + 0x120], 0
jmp 0x1400c12ff
mov ebx, 2
jmp 0x1400c12ff
cmp bx, 2
jne 0x1400c00b8
lea eax, [r13 - 0x1b]
cmp eax, 0x48
ja case.0x1400bfe36.33
movzx eax, byte [r11 + rax + 0xc146c]
mov ecx, dword [r11 + rax*4 + 0xc1450]
add rcx, r11
jmp rcx
mov ebx, 4
mov byte [rsi + 0x120], 0
jmp case.0x1400bfe36.27
mov ebx, 8
jmp case.0x1400bfe36.27
test r15d, r15d
je 0x1400bfe8c
xor edi, edi
cmp dword [r14], edi
jne 0x1400bfe89
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x3c]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400bfe89
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp dword [r14], 0
movzx edi, word [reloc.WS2_32.dll_getsockopt]
mov dword [rsp + 0x38], 0
jne case.0x1400c0467.78
mov rcx, qword [rsi + 0x110]
movzx edx, di
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
test eax, eax
je 0x1400bffd0
mov ebx, dword [rsp + 0x38]
mov edx, ebx
mov rcx, qword [rsi + 0x110]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
je 0x1400bffd0
nop dword [rax + rax]
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
je 0x1400bffd0
movsx eax, word [rbp - 8]
mov edx, 0x20
movsx r8d, word [rbp - 6]
mov r9d, ebx
mov rcx, qword [rsi + 0x110]
imul r8d, eax
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_FillConsoleOutputCharacterW]
test eax, eax
je 0x1400bff4f
mov r8d, dword [rsp + 0x3c]
lea rax, [rsp + 0x3c]
mov rcx, qword [rsi + 0x110]
mov r9d, ebx
movzx edx, di
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_FillConsoleOutputAttribute]
test eax, eax
jne 0x1400bff5c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1400bfee0
jmp 0x1400bffd0
movsx eax, word [rbp - 8]
xor r10d, r10d
movsx r8d, word [rbp + 8]
mov edx, r10d
mov dword [0x140136310], eax
mov ecx, r10d
movsx eax, word [rbp + 4]
sub r8d, eax
movsx eax, word [rbp - 2]
inc r8d
sub eax, r8d
mov dword [0x14013630c], r8d
inc eax
test eax, eax
jle 0x1400bff96
mov edx, eax
mov ecx, eax
movsx r9d, word [rbp - 6]
lea eax, [r8 + rcx]
cmp eax, r9d
jle 0x1400bffac
mov edx, r9d
sub edx, r8d
mov ecx, edx
test ecx, ecx
cmovs edx, r10d
mov dword [0x140136308], edx
lea rdx, [0x1403c0468]
mov rcx, qword [rsi + 0x110]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorInfo]
test eax, eax
jne case.0x1400c0467.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400c1302
test r15d, r15d
je 0x1400c0022
xor edi, edi
cmp dword [r14], edi
jne 0x1400c001f
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x2c]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c001f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov r8, r14
mov dl, 1
mov rcx, rsi
call fcn.1400bf5f0
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400c1302
test r15d, r15d
je 0x1400c0078
xor edi, edi
cmp dword [r14], edi
jne 0x1400c0075
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x24]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c0075
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov r8, r14
mov dl, 1
mov rcx, rsi
call fcn.1400bf510
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400c1302
lea eax, [r13 - 0x40]
cmp eax, 0x1f
ja 0x1400c00ae
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400c1302
xor edi, edi
movzx ebx, di
jmp 0x1400c01ab
cmp bx, 0x10
jne 0x1400c00d7
lea eax, [r13 - 0x40]
xor r8d, r8d
cmp eax, 0x3e
ja 0x1400c1302
movzx ebx, r8w
jmp 0x1400c1302
mov edx, 0x200
cmp bx, dx
jne 0x1400c0229
lea eax, [r13 - 0x40]
cmp eax, 0x3e
ja 0x1400c01a5
cmp r13d, 0x71
jne case.0x1400c0467.78
cmp byte [rsi + 0x120], 0
je 0x1400c0117
movzx ebx, word [rsi + 0x122]
cmp ebx, 6
ja case.0x1400c0467.78
jmp 0x1400c011c
mov ebx, 1
test r15d, r15d
je 0x1400c0155
xor edi, edi
cmp dword [r14], edi
jne 0x1400c0152
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x78]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c0152
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov rcx, qword [rsi + 0x110]
lea rdx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetConsoleCursorInfo]
test eax, eax
je 0x1400bffd0
test ebx, ebx
jne 0x1400c0187
mov eax, dword [0x1403c0468]
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x70], eax
jmp 0x1400bffbf
cmp ebx, 2
lea rdx, [rsp + 0x70]
mov eax, 0x19
mov ecx, 0x64
cmovbe eax, ecx
mov dword [rsp + 0x70], eax
jmp 0x1400bffbf
movzx ebx, r9w
xor edi, edi
cmp r13d, 0xa
je 0x1400c13d7
cmp r13d, 0xd
je 0x1400c129b
mov eax, r15d
mov ecx, 0x2000
sub rcx, rax
cmp r13d, 0xffff
ja 0x1400c121b
cmp rcx, 1
jae 0x1400c0215
test r15d, r15d
je 0x1400c0215
cmp dword [r14], 0
jne 0x1400c0212
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x38]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c0212
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov eax, r15d
inc r15d
xor r12b, r12b
mov word [rbp + rax*2 + 0x10], r13w
jmp case.0x1400bfe36.27
test bl, 4
je 0x1400c1186
lea eax, [r13 - 0x30]
cmp eax, 9
ja 0x1400c02a9
movzx eax, byte [rsi + 0x120]
test bl, 0x20
jne 0x1400c0274
cmp al, 4
jb 0x1400c0254
movzx ebx, r9w
jmp 0x1400c12ff
or bx, 0x20
inc al
movzx ecx, al
lea eax, [r13 - 0x30]
mov byte [rsi + 0x120], cl
mov word [rsi + rcx*2 + 0x120], ax
jmp case.0x1400bfe36.27
lea rdx, [rsi + rax*2]
movzx eax, word [rdx + 0x120]
lea ecx, [rax + rax*4]
add ecx, ecx
cmp ecx, 0xffff
jbe 0x1400c0295
movzx ebx, r9w
jmp case.0x1400bfe36.27
sub cx, 0x30
add cx, r13w
mov word [rdx + 0x120], cx
jmp case.0x1400bfe36.27
cmp r13d, 0x3b
jne 0x1400c02f1
test bl, 0x20
je 0x1400c02c1
mov eax, 0xffdf
and bx, ax
jmp 0x1400c12ff
movzx eax, byte [rsi + 0x120]
cmp al, 4
jb 0x1400c02d5
movzx ebx, r9w
jmp 0x1400c12ff
inc al
movzx eax, al
xor r8d, r8d
mov byte [rsi + 0x120], al
mov word [rsi + rax*2 + 0x120], r8w
jmp 0x1400c1302
cmp r13d, 0x3f
jne 0x1400c0317
mov eax, 0x120
test ax, bx
jne 0x1400c0333
cmp byte [rsi + 0x120], 0
jne 0x1400c0333
mov eax, 0x100
or bx, ax
jmp 0x1400c12ff
cmp r13d, 0x20
jne 0x1400c0333
mov eax, 0x100
and bx, ax
jne 0x1400c024b
movzx ebx, dx
jmp 0x1400c12ff
mov eax, 0x100
and bx, ax
lea eax, [r13 - 0x40]
cmp eax, 0x3e
ja 0x1400c024b
test bx, bx
je 0x1400c0446
cmp r13d, 0x68
je 0x1400c03d2
cmp r13d, 0x6c
jne case.0x1400c0467.78
cmp byte [rsi + 0x120], 1
jne case.0x1400c0467.78
cmp word [rsi + 0x122], 0x19
jne case.0x1400c0467.78
test r15d, r15d
je 0x1400c03b5
xor edi, edi
cmp dword [r14], edi
jne 0x1400c03b2
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x74]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c03b2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov r8, r14
xor edx, edx
mov rcx, rsi
call fcn.1400bf720
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400c1302
cmp byte [rsi + 0x120], 1
jne case.0x1400c0467.78
cmp word [rsi + 0x122], 0x19
jne case.0x1400c0467.78
test r15d, r15d
je 0x1400c0426
xor edi, edi
cmp dword [r14], edi
jne 0x1400c0423
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x70]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c0423
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov r8, r14
mov edx, 1
mov rcx, rsi
call fcn.1400bf720
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400c1302
lea eax, [r13 - 0x41]
cmp eax, 0x34
ja case.0x1400c0467.78
movzx eax, byte [r11 + rax + 0xc14f0]
mov ecx, dword [r11 + rax*4 + 0xc14b8]
add rcx, r11
jmp rcx
xor edi, edi
test r15d, r15d
je 0x1400c04a2
cmp dword [r14], edi
jne 0x1400c049f
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x6c]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c049f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x1400c04b4
movzx ebx, word [rsi + 0x122]
jmp 0x1400c04b9
mov ebx, 1
cmp dword [r14], 0
jne case.0x1400c0467.78
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1400c04e1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp + 4]
movsx r8d, word [rbp + 8]
movsx r10d, word [rbp - 8]
sub r8d, eax
mov ecx, dword [0x140136308]
inc r8d
movsx edx, word [rbp - 2]
mov dword [0x140136310], r10d
mov dword [0x14013630c], r8d
cmp ecx, 0xffffffff
jne 0x1400c0516
mov ecx, edx
jmp 0x1400c0522
mov eax, edx
sub eax, r8d
inc eax
cmp ecx, eax
cmovl ecx, eax
movsx r9d, word [rbp - 6]
lea eax, [r8 + rcx]
cmp eax, r9d
jle 0x1400c0536
mov ecx, r9d
sub ecx, r8d
test ecx, ecx
cmovs ecx, edi
sub edx, ebx
mov dword [0x140136308], ecx
cmp edx, ecx
jge 0x1400c054b
mov edx, ecx
jmp 0x1400c0556
lea eax, [r8 + rcx]
cmp edx, eax
jl 0x1400c0556
lea edx, [rax - 1]
movsx eax, word [rbp - 4]
test eax, eax
jns 0x1400c0562
mov eax, edi
jmp 0x1400c056b
cmp eax, r10d
jl 0x1400c056b
lea eax, [r10 - 1]
mov rcx, qword [rsi + 0x110]
mov word [rsp + 0x40], ax
mov word [rsp + 0x42], dx
mov edx, dword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1400c0467.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1400c04c3
jmp 0x1400bffd0
xor edi, edi
test r15d, r15d
je 0x1400c05db
cmp dword [r14], edi
jne 0x1400c05d8
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x68]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c05d8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x1400c05ed
movzx ebx, word [rsi + 0x122]
jmp 0x1400c05f2
mov ebx, 1
cmp dword [r14], 0
jne case.0x1400c0467.78
nop dword [rax]
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1400c061e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp + 4]
movsx edx, word [rbp + 8]
movsx r10d, word [rbp - 8]
sub edx, eax
mov ecx, dword [0x140136308]
inc edx
movsx r9d, word [rbp - 2]
mov dword [0x140136310], r10d
mov dword [0x14013630c], edx
cmp ecx, 0xffffffff
jne 0x1400c0651
mov ecx, r9d
jmp 0x1400c065d
mov eax, r9d
sub eax, edx
inc eax
cmp ecx, eax
cmovl ecx, eax
movsx r8d, word [rbp - 6]
lea eax, [rdx + rcx]
cmp eax, r8d
jle 0x1400c066f
mov ecx, r8d
sub ecx, edx
test ecx, ecx
lea r8d, [r9 + rbx]
cmovs ecx, edi
mov dword [0x140136308], ecx
cmp r8d, ecx
jge 0x1400c0688
mov r8d, ecx
jmp 0x1400c0694
lea eax, [rdx + rcx]
cmp r8d, eax
jl 0x1400c0694
lea r8d, [rax - 1]
movsx eax, word [rbp - 4]
test eax, eax
jns 0x1400c06a0
mov eax, edi
jmp 0x1400c06a9
cmp eax, r10d
jl 0x1400c06a9
lea eax, [r10 - 1]
mov rcx, qword [rsi + 0x110]
mov word [rsp + 0x44], ax
mov word [rsp + 0x46], r8w
mov edx, dword [rsp + 0x44]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1400c0467.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1400c0600
jmp 0x1400bffd0
xor edi, edi
test r15d, r15d
je 0x1400c071a
cmp dword [r14], edi
jne 0x1400c0717
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x64]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c0717
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x1400c072c
movzx ebx, word [rsi + 0x122]
jmp 0x1400c0731
mov ebx, 1
cmp dword [r14], 0
jne case.0x1400c0467.78
nop dword [rax + rax]
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1400c075e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp + 4]
movsx r8d, word [rbp + 8]
movsx r10d, word [rbp - 8]
sub r8d, eax
mov ecx, dword [0x140136308]
inc r8d
movsx edx, word [rbp - 2]
mov dword [0x140136310], r10d
mov dword [0x14013630c], r8d
cmp ecx, 0xffffffff
jne 0x1400c0793
mov ecx, edx
jmp 0x1400c079f
mov eax, edx
sub eax, r8d
inc eax
cmp ecx, eax
cmovl ecx, eax
movsx r9d, word [rbp - 6]
lea eax, [r8 + rcx]
cmp eax, r9d
jle 0x1400c07b3
mov ecx, r9d
sub ecx, r8d
test ecx, ecx
cmovs ecx, edi
mov dword [0x140136308], ecx
cmp edx, ecx
jge 0x1400c07c6
mov edx, ecx
jmp 0x1400c07d1
lea eax, [r8 + rcx]
cmp edx, eax
jl 0x1400c07d1
lea edx, [rax - 1]
movsx eax, word [rbp - 4]
add eax, ebx
jns 0x1400c07dd
mov eax, edi
jmp 0x1400c07e6
cmp eax, r10d
jl 0x1400c07e6
lea eax, [r10 - 1]
mov rcx, qword [rsi + 0x110]
mov word [rsp + 0x48], ax
mov word [rsp + 0x4a], dx
mov edx, dword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1400c0467.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1400c0740
jmp 0x1400bffd0
xor edi, edi
test r15d, r15d
je 0x1400c0856
cmp dword [r14], edi
jne 0x1400c0853
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x60]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c0853
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x1400c0868
movzx ebx, word [rsi + 0x122]
jmp 0x1400c086d
mov ebx, 1
cmp dword [r14], 0
jne case.0x1400c0467.78
nop word [rax + rax]
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1400c089e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp + 4]
movsx r8d, word [rbp + 8]
movsx r10d, word [rbp - 8]
sub r8d, eax
mov eax, dword [0x140136308]
inc r8d
movsx edx, word [rbp - 2]
mov dword [0x140136310], r10d
mov dword [0x14013630c], r8d
cmp eax, 0xffffffff
jne 0x1400c08d3
mov eax, edx
jmp 0x1400c08df
mov ecx, edx
sub ecx, r8d
inc ecx
cmp eax, ecx
cmovl eax, ecx
movsx r9d, word [rbp - 6]
lea ecx, [r8 + rax]
cmp ecx, r9d
jle 0x1400c08f3
mov eax, r9d
sub eax, r8d
test eax, eax
cmovs eax, edi
mov dword [0x140136308], eax
cmp edx, eax
jge 0x1400c0906
mov edx, eax
jmp 0x1400c0911
lea ecx, [r8 + rax]
cmp edx, ecx
jl 0x1400c0911
lea edx, [rcx - 1]
movsx eax, word [rbp - 4]
sub eax, ebx
jns 0x1400c091d
mov eax, edi
jmp 0x1400c0926
cmp eax, r10d
jl 0x1400c0926
lea eax, [r10 - 1]
mov rcx, qword [rsi + 0x110]
mov word [rsp + 0x4c], ax
mov word [rsp + 0x4e], dx
mov edx, dword [rsp + 0x4c]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1400c0467.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1400c0880
jmp 0x1400bffd0
xor edi, edi
test r15d, r15d
je 0x1400c0996
cmp dword [r14], edi
jne 0x1400c0993
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x5c]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c0993
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x1400c09a8
movzx ebx, word [rsi + 0x122]
jmp 0x1400c09ad
mov ebx, 1
cmp dword [r14], 0
jne case.0x1400c0467.78
nop word [rax + rax]
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1400c09de
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp + 4]
mov r11d, edi
movsx edx, word [rbp + 8]
movsx r10d, word [rbp - 8]
sub edx, eax
mov ecx, dword [0x140136308]
inc edx
movsx r9d, word [rbp - 2]
mov dword [0x140136310], r10d
mov dword [0x14013630c], edx
cmp ecx, 0xffffffff
jne 0x1400c0a14
mov ecx, r9d
jmp 0x1400c0a20
mov eax, r9d
sub eax, edx
inc eax
cmp ecx, eax
cmovl ecx, eax
movsx r8d, word [rbp - 6]
lea eax, [rdx + rcx]
cmp eax, r8d
jle 0x1400c0a32
mov ecx, r8d
sub ecx, edx
test ecx, ecx
lea eax, [r9 + rbx]
cmovs ecx, edi
mov dword [0x140136308], ecx
cmp eax, ecx
jge 0x1400c0a49
mov eax, ecx
jmp 0x1400c0a56
lea r8d, [rdx + rcx]
cmp eax, r8d
jl 0x1400c0a56
lea eax, [r8 - 1]
test r10d, r10d
jg 0x1400c0a5f
lea r11d, [r10 - 1]
mov rcx, qword [rsi + 0x110]
mov word [rsp + 0x50], r11w
mov word [rsp + 0x52], ax
mov edx, dword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1400c0467.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1400c09c0
jmp 0x1400bffd0
xor edi, edi
test r15d, r15d
je 0x1400c0ad0
cmp dword [r14], edi
jne 0x1400c0acd
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x58]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c0acd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x1400c0ae2
movzx ebx, word [rsi + 0x122]
jmp 0x1400c0ae7
mov ebx, 1
cmp dword [r14], 0
jne case.0x1400c0467.78
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1400c0b0f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp + 4]
mov r11d, edi
movsx r8d, word [rbp + 8]
movsx r10d, word [rbp - 8]
sub r8d, eax
mov ecx, dword [0x140136308]
inc r8d
movsx edx, word [rbp - 2]
mov dword [0x140136310], r10d
mov dword [0x14013630c], r8d
cmp ecx, 0xffffffff
jne 0x1400c0b47
mov ecx, edx
jmp 0x1400c0b53
mov eax, edx
sub eax, r8d
inc eax
cmp ecx, eax
cmovl ecx, eax
movsx r9d, word [rbp - 6]
lea eax, [r8 + rcx]
cmp eax, r9d
jle 0x1400c0b67
mov ecx, r9d
sub ecx, r8d
test ecx, ecx
cmovs ecx, edi
sub edx, ebx
mov dword [0x140136308], ecx
cmp edx, ecx
jge 0x1400c0b7c
mov edx, ecx
jmp 0x1400c0b87
lea eax, [r8 + rcx]
cmp edx, eax
jl 0x1400c0b87
lea edx, [rax - 1]
test r10d, r10d
jg 0x1400c0b90
lea r11d, [r10 - 1]
mov rcx, qword [rsi + 0x110]
mov word [rsp + 0x54], r11w
mov word [rsp + 0x56], dx
mov edx, dword [rsp + 0x54]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1400c0467.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1400c0af1
jmp 0x1400bffd0
xor edi, edi
test r15d, r15d
je 0x1400c0c01
cmp dword [r14], edi
jne 0x1400c0bfe
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x54]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c0bfe
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 1
jb 0x1400c0c19
movzx eax, word [rsi + 0x122]
lea ebx, [rax - 1]
test ax, ax
jne 0x1400c0c1b
mov ebx, edi
cmp dword [r14], 0
jne case.0x1400c0467.78
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1400c0c43
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp + 4]
mov r11d, ebx
movsx edx, word [rbp + 8]
movsx r10d, word [rbp - 8]
sub edx, eax
mov ecx, dword [0x140136308]
inc edx
movsx r8d, word [rbp - 2]
mov dword [0x140136310], r10d
mov dword [0x14013630c], edx
cmp ecx, 0xffffffff
jne 0x1400c0c79
mov ecx, r8d
jmp 0x1400c0c85
mov eax, r8d
sub eax, edx
inc eax
cmp ecx, eax
cmovl ecx, eax
movsx r9d, word [rbp - 6]
lea eax, [rdx + rcx]
cmp eax, r9d
jle 0x1400c0c97
mov ecx, r9d
sub ecx, edx
test ecx, ecx
cmovs ecx, edi
mov dword [0x140136308], ecx
cmp r8d, ecx
jge 0x1400c0cac
mov r8d, ecx
jmp 0x1400c0cb8
lea eax, [rdx + rcx]
cmp r8d, eax
jl 0x1400c0cb8
lea r8d, [rax - 1]
test ebx, ebx
jns 0x1400c0cc1
mov r11d, edi
jmp 0x1400c0cca
cmp ebx, r10d
jl 0x1400c0cca
lea r11d, [r10 - 1]
mov rcx, qword [rsi + 0x110]
mov word [rsp + 0x58], r11w
mov word [rsp + 0x5a], r8w
mov edx, dword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1400c0467.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1400c0c25
jmp 0x1400bffd0
test r15d, r15d
je 0x1400c0d41
cmp dword [r14], 0
jne 0x1400c0d3a
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x50]
xor edi, edi
lea rdx, [rbp + 0x10]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c0d3a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
xor edx, edx
mov r15d, edx
jmp 0x1400c0d43
xor edx, edx
movzx ecx, byte [rsi + 0x120]
cmp cl, 1
jb 0x1400c0d5e
movzx eax, word [rsi + 0x122]
lea edi, [rax - 1]
test ax, ax
jne 0x1400c0d60
mov edi, edx
cmp cl, 2
jb 0x1400c0d74
movzx eax, word [rsi + 0x124]
lea ebx, [rax - 1]
test ax, ax
jne 0x1400c0d76
mov ebx, edx
cmp dword [r14], 0
jne case.0x1400c0467.78
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1400c0d9e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp + 4]
mov r10d, ebx
movsx edx, word [rbp + 8]
movsx r9d, word [rbp - 8]
sub edx, eax
mov ecx, dword [0x140136308]
inc edx
mov dword [0x140136310], r9d
mov dword [0x14013630c], edx
cmp ecx, 0xffffffff
jne 0x1400c0dd0
movsx ecx, word [rbp - 2]
jmp 0x1400c0ddd
movsx eax, word [rbp - 2]
sub eax, edx
inc eax
cmp ecx, eax
cmovl ecx, eax
movsx r8d, word [rbp - 6]
lea eax, [rdx + rcx]
cmp eax, r8d
jle 0x1400c0def
mov ecx, r8d
sub ecx, edx
test ecx, ecx
mov eax, 0
cmovs ecx, eax
mov dword [0x140136308], ecx
lea r8d, [rcx + rdi]
cmp r8d, ecx
jge 0x1400c0e0d
mov r8d, ecx
jmp 0x1400c0e1b
lea eax, [rdx + rcx]
cmp r8d, eax
jl 0x1400c0e19
lea r8d, [rax - 1]
xor eax, eax
test ebx, ebx
jns 0x1400c0e24
mov r10d, eax
jmp 0x1400c0e2d
cmp ebx, r9d
jl 0x1400c0e2d
lea r10d, [r9 - 1]
mov rcx, qword [rsi + 0x110]
mov word [rsp + 0x5c], r10w
mov word [rsp + 0x5e], r8w
mov edx, dword [rsp + 0x5c]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1400c0467.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1400c0d80
jmp 0x1400bffd0
test r15d, r15d
je 0x1400c0ea4
cmp dword [r14], 0
jne 0x1400c0e9d
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x4c]
xor edi, edi
lea rdx, [rbp + 0x10]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c0e9d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
xor eax, eax
mov r15d, eax
jmp 0x1400c0ea6
xor eax, eax
cmp byte [rsi + 0x120], 0
je 0x1400c0edd
movzx edx, word [rsi + 0x122]
cmp edx, 2
ja case.0x1400c0467.78
mov r9, r14
mov r8b, 1
mov rcx, rsi
call fcn.1400be860
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400c1302
mov edx, eax
mov r9, r14
mov r8b, 1
mov rcx, rsi
call fcn.1400be860
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400c1302
test r15d, r15d
je 0x1400c0f3b
cmp dword [r14], 0
jne 0x1400c0f34
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x48]
xor edi, edi
lea rdx, [rbp + 0x10]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c0f34
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
xor eax, eax
mov r15d, eax
jmp 0x1400c0f3d
xor eax, eax
cmp byte [rsi + 0x120], 0
je 0x1400c0f74
movzx edx, word [rsi + 0x122]
cmp edx, 2
ja case.0x1400c0467.78
mov r9, r14
xor r8d, r8d
mov rcx, rsi
call fcn.1400be860
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400c1302
mov edx, eax
mov r9, r14
xor r8d, r8d
mov rcx, rsi
call fcn.1400be860
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400c1302
test r15d, r15d
je 0x1400c0fcd
xor edi, edi
cmp dword [r14], edi
jne 0x1400c0fca
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x44]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c0fca
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov rdx, r14
mov rcx, rsi
call fcn.1400bf7a0
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400c1302
test r15d, r15d
je 0x1400c1021
xor edi, edi
cmp dword [r14], edi
jne 0x1400c101e
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x40]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c101e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov r8, r14
xor edx, edx
mov rcx, rsi
call fcn.1400bf5f0
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400c1302
test r15d, r15d
je 0x1400c1077
xor edi, edi
cmp dword [r14], edi
jne 0x1400c1074
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x28]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c1074
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp dword [r14], 0
jne case.0x1400c0467.78
test dword [rsi + 0x58], 0x4000000
je case.0x1400c0467.78
movsx edi, word [rsi + 0x12c]
movsx ebx, word [rsi + 0x12a]
nop dword [rax]
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1400c10be
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp + 4]
mov r10d, ebx
movsx edx, word [rbp + 8]
movsx r9d, word [rbp - 8]
sub edx, eax
mov ecx, dword [0x140136308]
inc edx
mov dword [0x140136310], r9d
mov dword [0x14013630c], edx
cmp ecx, 0xffffffff
jne 0x1400c10f0
movsx ecx, word [rbp - 2]
jmp 0x1400c10fd
movsx eax, word [rbp - 2]
sub eax, edx
inc eax
cmp ecx, eax
cmovl ecx, eax
movsx r8d, word [rbp - 6]
lea eax, [rdx + rcx]
cmp eax, r8d
jle 0x1400c110f
mov ecx, r8d
sub ecx, edx
test ecx, ecx
mov eax, 0
cmovs ecx, eax
mov dword [0x140136308], ecx
lea r8d, [rdi + rcx]
cmp r8d, ecx
jge 0x1400c112d
mov r8d, ecx
jmp 0x1400c113b
lea eax, [rdx + rcx]
cmp r8d, eax
jl 0x1400c1139
lea r8d, [rax - 1]
xor eax, eax
test ebx, ebx
jns 0x1400c1144
mov r10d, eax
jmp 0x1400c114d
cmp ebx, r9d
jl 0x1400c114d
lea r10d, [r9 - 1]
mov rcx, qword [rsi + 0x110]
mov word [rsp + 0x60], r10w
mov word [rsp + 0x62], r8w
mov edx, dword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1400c0467.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1400c10a0
jmp 0x1400bffd0
test bl, 8
je 0x1400c144a
test bl, 0x40
je 0x1400c11cf
test bl, bl
js 0x1400c11c2
cmp r13d, 0x22
jne 0x1400c11ab
mov eax, 0xffbf
and bx, ax
jmp 0x1400c12ff
cmp r13d, 0x5c
jne 0x1400c12ff
mov eax, 0x80
or bx, ax
jmp 0x1400c12ff
mov eax, 0xff7f
and bx, ax
jmp 0x1400c12ff
cmp r13d, 7
je 0x1400c120f
cmp r13d, 0x5c
jne 0x1400c11e9
test bl, 2
jne 0x1400c120f
and bx, r10w
jmp 0x1400c12ff
cmp r13d, 0x1b
jne 0x1400c11f8
or bx, 2
jmp 0x1400c12ff
cmp r13d, 0x22
jne 0x1400c11e0
mov eax, 0xff7d
and bx, ax
or bx, 0x40
jmp 0x1400c12ff
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400c1302
cmp rcx, 2
jae 0x1400c1259
test r15d, r15d
je 0x1400c1259
cmp dword [r14], 0
jne 0x1400c1256
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x34]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c1256
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
add r13d, 0xffff0000
mov eax, 0x2800
mov ecx, r13d
shr ecx, 0xa
sub cx, ax
mov eax, r15d
inc r15d
mov word [rbp + rax*2 + 0x10], cx
mov eax, 0x3ff
movzx ecx, r13w
and cx, ax
mov eax, 0x2400
sub cx, ax
mov word [rbp + r15*2 + 0x10], cx
inc r15d
xor r12b, r12b
jmp case.0x1400bfe36.27
cmp r12b, 0xa
je 0x1400c12f7
mov eax, r15d
mov ecx, 0x2000
sub rcx, rax
cmp rcx, 1
jae 0x1400c12eb
test r15d, r15d
je 0x1400c12eb
cmp dword [r14], 0
jne 0x1400c12e8
mov rcx, qword [rsi + 0x110]
lea r9, [rsp + 0x78]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c12e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov eax, r15d
mov word [rbp + rax*2 + 0x10], r13w
inc r15d
movzx r12d, r13b
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
mov edi, dword [rsp + 0x34]
lea r11, [0x140000000]
inc ecx
mov r9d, select
mov r10d, 0xfffd
mov dword [rsp + 0x30], ecx
cmp ecx, dword [rsp + 0x6c]
jb 0x1400bfd40
mov edx, dword [rsp + 0x64]
mov rax, qword [rbp - 0x80]
inc edx
inc rax
mov dword [rsp + 0x64], edx
mov qword [rbp - 0x80], rax
cmp edx, dword [rsp + 0x68]
jb 0x1400bfd10
test r15d, r15d
je 0x1400c137e
cmp dword [r14], 0
jne 0x1400c137e
mov rcx, qword [rsi + 0x110]
lea r9, [rsp + 0x78]
mov qword [rsp + 0x20], r8
lea rdx, [rbp + 0x10]
mov r8d, r15d
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c137e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
lea rcx, [0x1403c0458]
mov byte [rsi + 0x11c], dil
mov dword [rsi + 0x118], r13d
mov byte [rsi + 0x11d], r12b
mov word [rsi + 0x11e], bx
call fcn.1400c9c50
mov eax, dword [r14]
neg eax
sbb eax, eax
mov rcx, qword [rbp + 0x4010]
xor rcx, rsp
call fcn.1400cb6d0
mov rbx, qword [rsp + 0x4170]
add rsp, 0x4120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp r12b, 0xd
je 0x1400c12a1
mov eax, r15d
mov ecx, 0x2000
sub rcx, rax
cmp rcx, 2
jae 0x1400c142a
test r15d, r15d
je 0x1400c142a
cmp dword [r14], 0
jne 0x1400c1427
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x30]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1400c1427
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov eax, r15d
mov ecx, reloc.WS2_32.dll_listen
inc r15d
mov word [rbp + rax*2 + 0x10], cx
mov ecx, 0xa
mov word [rbp + r15*2 + 0x10], cx
jmp 0x1400c12f4
call fcn.1400d7068
int3