Function at 0x1800cf050
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 - 0x3ff0]
mov eax, 0x40f0
call fcn.1800a9640
sub rsp, rax
mov rax, qword [0x180428208]
xor rax, rsp
mov qword [rbp + 0x3fe0], 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, [0x18043b5a8]
mov dword [rsp + 0x34], edi
mov dword [r9], eax
mov dword [rsp + 0x3c], r8d
mov qword [rbp - 0x50], rdx
call fcn.1800c95c0
xor r8d, r8d
mov edx, r8d
mov dword [rsp + 0x38], edx
cmp dword [rsp + 0x3c], edx
jbe 0x1800d06ed
mov eax, r8d
lea r11, [0x180000000]
mov qword [rsp + 0x50], rax
lea r9d, [r8 + 0x10]
mov r10d, 0xfffd
nop word [rax + rax]
mov rcx, qword [rbp - 0x50]
add rax, rax
movups xmm0, xmmword [rcx + rax*8]
mov ecx, r8d
mov dword [rsp + 0x30], ecx
movd eax, xmm0
movups xmmword [rbp - 0x48], xmm0
mov dword [rsp + 0x40], eax
test eax, eax
je 0x1800d069a
nop word [rax + rax]
mov rdx, qword [rbp - 0x40]
mov eax, ecx
movzx edx, byte [rax + rdx]
movzx eax, dl
test dil, dil
jne 0x1800cf17f
not al
movzx eax, al
bsr r8d, eax
je 0x1800cf1b8
cmp r8d, 7
jne 0x1800cf158
mov r13d, edx
jmp 0x1800cf1bb
cmp r8d, 5
ja 0x1800cf1b8
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 0x1800cf19a
and al, 0xc0
cmp al, 0x80
jne 0x1800cf1ad
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 0x1800d066f
jmp 0x1800cf1bb
dec ecx
mov byte [rsp + 0x34], 0
mov dword [rsp + 0x30], ecx
mov r13d, r10d
cmp dword [0x180428520], 0
je 0x1800cf46d
test bx, bx
jne 0x1800cf1fb
cmp r13d, 0x1b
je 0x1800cf1f1
cmp r13d, 0x9b
jne 0x1800cf46d
mov ebx, 4
mov byte [rsi + 0x120], 0
jmp 0x1800d066c
mov ebx, 2
jmp 0x1800d066c
cmp bx, 2
jne 0x1800cf366
lea eax, [r13 - 0x1b]
cmp eax, 0x48
ja case.0x1800cf226.33
movzx eax, byte [r11 + rax + 0xd07dc]
mov ecx, dword [r11 + rax*4 + 0xd07c0]
add rcx, r11
jmp rcx
mov ebx, 4
mov byte [rsi + 0x120], 0
jmp case.0x1800cf226.27
mov ebx, 8
jmp case.0x1800cf226.27
test r15d, r15d
je 0x1800cf27c
xor edi, edi
cmp dword [r14], edi
jne 0x1800cf279
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x5c]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800cf279
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov rdx, r14
mov rcx, rsi
call fcn.1800ce5a0
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1800d066f
test r15d, r15d
je 0x1800cf2d0
xor edi, edi
cmp dword [r14], edi
jne 0x1800cf2cd
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x58]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800cf2cd
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.1800cedc0
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1800d066f
test r15d, r15d
je 0x1800cf326
xor edi, edi
cmp dword [r14], edi
jne 0x1800cf323
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x54]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800cf323
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.1800ceef0
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1800d066f
lea eax, [r13 - 0x40]
cmp eax, 0x1f
ja 0x1800cf35c
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1800d066f
xor edi, edi
movzx ebx, di
jmp 0x1800cf46f
cmp bx, 0x10
jne 0x1800cf385
lea eax, [r13 - 0x40]
xor r8d, r8d
cmp eax, 0x3e
ja 0x1800d066f
movzx ebx, r8w
jmp 0x1800d066f
mov edx, 0x200
cmp bx, dx
jne 0x1800cf4ed
lea eax, [r13 - 0x40]
cmp eax, 0x3e
ja 0x1800cf469
cmp r13d, 0x71
jne case.0x1800cf728.78
cmp byte [rsi + 0x120], 0
je 0x1800cf3c5
movzx ebx, word [rsi + 0x122]
cmp ebx, 6
ja case.0x1800cf728.78
jmp 0x1800cf3ca
mov ebx, 1
test r15d, r15d
je 0x1800cf404
xor edi, edi
cmp dword [r14], edi
jne 0x1800cf401
mov rcx, qword [rsi + 0x110]
lea r9, [rsp + 0x58]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800cf401
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov rcx, qword [rsi + 0x110]
lea rdx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetConsoleCursorInfo]
test eax, eax
je 0x1800cf450
test ebx, ebx
jne 0x1800cf426
mov eax, dword [0x18043b5b8]
jmp 0x1800cf436
cmp ebx, 2
mov eax, 0x19
mov ecx, 0x64
cmovbe eax, ecx
mov rcx, qword [rsi + 0x110]
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x48], eax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorInfo]
test eax, eax
jne case.0x1800cf728.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1800d066f
movzx ebx, r9w
xor edi, edi
cmp r13d, 0xa
je 0x1800d0746
cmp r13d, 0xd
je 0x1800d0608
mov eax, r15d
mov ecx, 0x2000
sub rcx, rax
cmp r13d, 0xffff
ja 0x1800d0588
cmp rcx, 1
jae 0x1800cf4d9
test r15d, r15d
je 0x1800cf4d9
cmp dword [r14], 0
jne 0x1800cf4d6
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x68]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800cf4d6
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 - 0x20], r13w
jmp case.0x1800cf226.27
test bl, 4
je 0x1800d04f3
lea eax, [r13 - 0x30]
cmp eax, 9
ja 0x1800cf56d
movzx eax, byte [rsi + 0x120]
test bl, 0x20
jne 0x1800cf538
cmp al, 4
jb 0x1800cf518
movzx ebx, r9w
jmp 0x1800d066c
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.0x1800cf226.27
lea rdx, [rsi + rax*2]
movzx eax, word [rdx + 0x120]
lea ecx, [rax + rax*4]
add ecx, ecx
cmp ecx, 0xffff
jbe 0x1800cf559
movzx ebx, r9w
jmp case.0x1800cf226.27
sub cx, 0x30
add cx, r13w
mov word [rdx + 0x120], cx
jmp case.0x1800cf226.27
cmp r13d, 0x3b
jne 0x1800cf5b5
test bl, 0x20
je 0x1800cf585
mov eax, 0xffdf
and bx, ax
jmp 0x1800d066c
movzx eax, byte [rsi + 0x120]
cmp al, 4
jb 0x1800cf599
movzx ebx, r9w
jmp 0x1800d066c
inc al
movzx eax, al
xor r8d, r8d
mov byte [rsi + 0x120], al
mov word [rsi + rax*2 + 0x120], r8w
jmp 0x1800d066f
cmp r13d, 0x3f
jne 0x1800cf5db
mov eax, 0x120
test ax, bx
jne 0x1800cf5db
cmp byte [rsi + 0x120], 0
jne 0x1800cf5db
mov eax, 0x100
or bx, ax
jmp 0x1800d066c
mov eax, 0x100
and bx, ax
cmp r13d, 0x20
jne 0x1800cf5fa
test bx, bx
jne 0x1800cf50f
movzx ebx, dx
jmp 0x1800d066c
lea eax, [r13 - 0x40]
cmp eax, 0x3e
ja 0x1800cf50f
test bx, bx
je 0x1800cf707
cmp r13d, 0x68
je 0x1800cf692
cmp r13d, 0x6c
jne case.0x1800cf728.78
cmp byte [rsi + 0x120], 1
jne case.0x1800cf728.78
cmp word [rsi + 0x122], 0x19
jne case.0x1800cf728.78
test r15d, r15d
je 0x1800cf675
xor edi, edi
cmp dword [r14], edi
jne 0x1800cf672
mov rcx, qword [rsi + 0x110]
lea r9, [rsp + 0x5c]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800cf672
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.1800cefd0
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1800d066f
cmp byte [rsi + 0x120], 1
jne case.0x1800cf728.78
cmp word [rsi + 0x122], 0x19
jne case.0x1800cf728.78
test r15d, r15d
je 0x1800cf6e7
xor edi, edi
cmp dword [r14], edi
jne 0x1800cf6e4
mov rcx, qword [rsi + 0x110]
lea r9, [rsp + 0x60]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800cf6e4
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.1800cefd0
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1800d066f
lea eax, [r13 - 0x41]
cmp eax, 0x34
ja case.0x1800cf728.78
movzx eax, byte [r11 + rax + 0xd0860]
mov ecx, dword [r11 + rax*4 + 0xd0828]
add rcx, r11
jmp rcx
xor edi, edi
test r15d, r15d
je 0x1800cf764
cmp dword [r14], edi
jne 0x1800cf761
mov rcx, qword [rsi + 0x110]
lea r9, [rsp + 0x64]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800cf761
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x1800cf776
movzx ebx, word [rsi + 0x122]
jmp 0x1800cf77b
mov ebx, 1
cmp dword [r14], 0
jne case.0x1800cf728.78
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1800cf7a3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp - 0x2c]
movsx r8d, word [rbp - 0x28]
movsx r10d, word [rbp - 0x38]
sub r8d, eax
mov ecx, dword [0x1804284f0]
inc r8d
movsx r9d, word [rbp - 0x32]
mov dword [0x1804284f8], r10d
mov dword [0x1804284f4], r8d
cmp ecx, 0xffffffff
jne 0x1800cf7e0
mov ecx, r9d
mov dword [0x1804284f0], ecx
jmp 0x1800cf7f4
mov eax, r9d
sub eax, r8d
inc eax
cmp ecx, eax
jge 0x1800cf7f4
mov ecx, eax
mov dword [0x1804284f0], eax
movsx edx, word [rbp - 0x36]
lea eax, [r8 + rcx]
cmp eax, edx
jle 0x1800cf80b
mov ecx, edx
sub ecx, r8d
mov dword [0x1804284f0], ecx
test ecx, ecx
jns 0x1800cf817
mov ecx, edi
mov dword [0x1804284f0], ecx
movsx edx, r9w
sub edx, ebx
cmp edx, ecx
jge 0x1800cf825
mov edx, ecx
jmp 0x1800cf830
lea eax, [r8 + rcx]
cmp edx, eax
jl 0x1800cf830
lea edx, [rax - 1]
movsx eax, word [rbp - 0x34]
test eax, eax
jns 0x1800cf83c
mov eax, edi
jmp 0x1800cf845
cmp eax, r10d
jl 0x1800cf845
lea eax, [r10 - 1]
mov rcx, qword [rsi + 0x110]
movzx edx, dx
shl edx, 0x10
movzx eax, ax
or edx, eax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1800cf728.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1800cf785
jmp 0x1800cf450
xor edi, edi
test r15d, r15d
je 0x1800cf8b3
cmp dword [r14], edi
jne 0x1800cf8b0
mov rcx, qword [rsi + 0x110]
lea r9, [rsp + 0x68]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800cf8b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x1800cf8c5
movzx ebx, word [rsi + 0x122]
jmp 0x1800cf8ca
mov ebx, 1
cmp dword [r14], 0
jne case.0x1800cf728.78
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1800cf8f2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp - 0x2c]
movsx r8d, word [rbp - 0x28]
movsx r10d, word [rbp - 0x38]
sub r8d, eax
mov ecx, dword [0x1804284f0]
inc r8d
movsx r9d, word [rbp - 0x32]
mov dword [0x1804284f8], r10d
mov dword [0x1804284f4], r8d
cmp ecx, 0xffffffff
jne 0x1800cf92f
mov ecx, r9d
mov dword [0x1804284f0], ecx
jmp 0x1800cf943
mov eax, r9d
sub eax, r8d
inc eax
cmp ecx, eax
jge 0x1800cf943
mov ecx, eax
mov dword [0x1804284f0], eax
movsx edx, word [rbp - 0x36]
lea eax, [r8 + rcx]
cmp eax, edx
jle 0x1800cf95a
mov ecx, edx
sub ecx, r8d
mov dword [0x1804284f0], ecx
test ecx, ecx
jns 0x1800cf966
mov ecx, edi
mov dword [0x1804284f0], ecx
movsx edx, r9w
add edx, ebx
cmp edx, ecx
jge 0x1800cf974
mov edx, ecx
jmp 0x1800cf97f
lea eax, [r8 + rcx]
cmp edx, eax
jl 0x1800cf97f
lea edx, [rax - 1]
movsx eax, word [rbp - 0x34]
test eax, eax
jns 0x1800cf98b
mov eax, edi
jmp 0x1800cf994
cmp eax, r10d
jl 0x1800cf994
lea eax, [r10 - 1]
mov rcx, qword [rsi + 0x110]
movzx edx, dx
shl edx, 0x10
movzx eax, ax
or edx, eax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1800cf728.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1800cf8d4
jmp 0x1800cf450
xor edi, edi
test r15d, r15d
je 0x1800cfa02
cmp dword [r14], edi
jne 0x1800cf9ff
mov rcx, qword [rsi + 0x110]
lea r9, [rsp + 0x6c]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800cf9ff
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x1800cfa14
movzx ebx, word [rsi + 0x122]
jmp 0x1800cfa19
mov ebx, 1
cmp dword [r14], 0
jne case.0x1800cf728.78
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1800cfa41
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp - 0x2c]
movsx r8d, word [rbp - 0x28]
movsx r10d, word [rbp - 0x38]
sub r8d, eax
mov ecx, dword [0x1804284f0]
inc r8d
movsx r9d, word [rbp - 0x32]
mov dword [0x1804284f8], r10d
mov dword [0x1804284f4], r8d
cmp ecx, 0xffffffff
jne 0x1800cfa7e
mov ecx, r9d
mov dword [0x1804284f0], ecx
jmp 0x1800cfa92
mov eax, r9d
sub eax, r8d
inc eax
cmp ecx, eax
jge 0x1800cfa92
mov ecx, eax
mov dword [0x1804284f0], eax
movsx edx, word [rbp - 0x36]
lea eax, [r8 + rcx]
cmp eax, edx
jle 0x1800cfaa9
mov ecx, edx
sub ecx, r8d
mov dword [0x1804284f0], ecx
test ecx, ecx
jns 0x1800cfab5
mov ecx, edi
mov dword [0x1804284f0], ecx
movsx edx, r9w
cmp edx, ecx
jge 0x1800cfac1
mov edx, ecx
jmp 0x1800cfacc
lea eax, [r8 + rcx]
cmp edx, eax
jl 0x1800cfacc
lea edx, [rax - 1]
movsx eax, word [rbp - 0x34]
add eax, ebx
jns 0x1800cfad8
mov eax, edi
jmp 0x1800cfae1
cmp eax, r10d
jl 0x1800cfae1
lea eax, [r10 - 1]
mov rcx, qword [rsi + 0x110]
movzx edx, dx
shl edx, 0x10
movzx eax, ax
or edx, eax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1800cf728.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1800cfa23
jmp 0x1800cf450
xor edi, edi
test r15d, r15d
je 0x1800cfb4f
cmp dword [r14], edi
jne 0x1800cfb4c
mov rcx, qword [rsi + 0x110]
lea r9, [rsp + 0x70]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800cfb4c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x1800cfb61
movzx ebx, word [rsi + 0x122]
jmp 0x1800cfb66
mov ebx, 1
cmp dword [r14], 0
jne case.0x1800cf728.78
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1800cfb8e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp - 0x2c]
movsx r8d, word [rbp - 0x28]
movsx r10d, word [rbp - 0x38]
sub r8d, eax
mov eax, dword [0x1804284f0]
inc r8d
movsx r9d, word [rbp - 0x32]
mov dword [0x1804284f8], r10d
mov dword [0x1804284f4], r8d
cmp eax, 0xffffffff
jne 0x1800cfbcb
mov eax, r9d
mov dword [0x1804284f0], eax
jmp 0x1800cfbdf
mov ecx, r9d
sub ecx, r8d
inc ecx
cmp eax, ecx
jge 0x1800cfbdf
mov eax, ecx
mov dword [0x1804284f0], ecx
movsx edx, word [rbp - 0x36]
lea ecx, [r8 + rax]
cmp ecx, edx
jle 0x1800cfbf6
mov eax, edx
sub eax, r8d
mov dword [0x1804284f0], eax
test eax, eax
jns 0x1800cfc02
mov eax, edi
mov dword [0x1804284f0], eax
movsx edx, r9w
cmp edx, eax
jge 0x1800cfc0e
mov edx, eax
jmp 0x1800cfc19
lea ecx, [r8 + rax]
cmp edx, ecx
jl 0x1800cfc19
lea edx, [rcx - 1]
movsx eax, word [rbp - 0x34]
sub eax, ebx
jns 0x1800cfc25
mov eax, edi
jmp 0x1800cfc2e
cmp eax, r10d
jl 0x1800cfc2e
lea eax, [r10 - 1]
mov rcx, qword [rsi + 0x110]
movzx edx, dx
shl edx, 0x10
movzx eax, ax
or edx, eax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1800cf728.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1800cfb70
jmp 0x1800cf450
xor edi, edi
test r15d, r15d
je 0x1800cfc9c
cmp dword [r14], edi
jne 0x1800cfc99
mov rcx, qword [rsi + 0x110]
lea r9, [rsp + 0x74]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800cfc99
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x1800cfcae
movzx ebx, word [rsi + 0x122]
jmp 0x1800cfcb3
mov ebx, 1
cmp dword [r14], 0
jne case.0x1800cf728.78
nop dword [rax]
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1800cfcde
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp - 0x2c]
mov r11d, edi
movsx r8d, word [rbp - 0x28]
movsx r10d, word [rbp - 0x38]
sub r8d, eax
mov ecx, dword [0x1804284f0]
inc r8d
movsx r9d, word [rbp - 0x32]
mov dword [0x1804284f8], r10d
mov dword [0x1804284f4], r8d
cmp ecx, 0xffffffff
jne 0x1800cfd1e
mov ecx, r9d
mov dword [0x1804284f0], ecx
jmp 0x1800cfd32
mov eax, r9d
sub eax, r8d
inc eax
cmp ecx, eax
jge 0x1800cfd32
mov ecx, eax
mov dword [0x1804284f0], eax
movsx edx, word [rbp - 0x36]
lea eax, [r8 + rcx]
cmp eax, edx
jle 0x1800cfd49
mov ecx, edx
sub ecx, r8d
mov dword [0x1804284f0], ecx
test ecx, ecx
jns 0x1800cfd55
mov ecx, edi
mov dword [0x1804284f0], ecx
movsx eax, r9w
add eax, ebx
cmp eax, ecx
jge 0x1800cfd63
mov eax, ecx
jmp 0x1800cfd6e
lea edx, [r8 + rcx]
cmp eax, edx
jl 0x1800cfd6e
lea eax, [rdx - 1]
test r10d, r10d
jg 0x1800cfd77
lea r11d, [r10 - 1]
mov rcx, qword [rsi + 0x110]
movzx edx, ax
shl edx, 0x10
movzx eax, r11w
or edx, eax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1800cf728.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1800cfcc0
jmp 0x1800cf450
xor edi, edi
test r15d, r15d
je 0x1800cfde6
cmp dword [r14], edi
jne 0x1800cfde3
mov rcx, qword [rsi + 0x110]
lea r9, [rsp + 0x78]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800cfde3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x1800cfdf8
movzx ebx, word [rsi + 0x122]
jmp 0x1800cfdfd
mov ebx, 1
cmp dword [r14], 0
jne case.0x1800cf728.78
nop word [rax + rax]
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1800cfe2e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp - 0x2c]
mov r11d, edi
movsx r8d, word [rbp - 0x28]
movsx r10d, word [rbp - 0x38]
sub r8d, eax
mov ecx, dword [0x1804284f0]
inc r8d
movsx r9d, word [rbp - 0x32]
mov dword [0x1804284f8], r10d
mov dword [0x1804284f4], r8d
cmp ecx, 0xffffffff
jne 0x1800cfe6e
mov ecx, r9d
mov dword [0x1804284f0], ecx
jmp 0x1800cfe82
mov eax, r9d
sub eax, r8d
inc eax
cmp ecx, eax
jge 0x1800cfe82
mov ecx, eax
mov dword [0x1804284f0], eax
movsx edx, word [rbp - 0x36]
lea eax, [r8 + rcx]
cmp eax, edx
jle 0x1800cfe99
mov ecx, edx
sub ecx, r8d
mov dword [0x1804284f0], ecx
test ecx, ecx
jns 0x1800cfea5
mov ecx, edi
mov dword [0x1804284f0], ecx
movsx eax, r9w
sub eax, ebx
cmp eax, ecx
jge 0x1800cfeb3
mov eax, ecx
jmp 0x1800cfebe
lea edx, [r8 + rcx]
cmp eax, edx
jl 0x1800cfebe
lea eax, [rdx - 1]
test r10d, r10d
jg 0x1800cfec7
lea r11d, [r10 - 1]
mov rcx, qword [rsi + 0x110]
movzx edx, ax
shl edx, 0x10
movzx eax, r11w
or edx, eax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1800cf728.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1800cfe10
jmp 0x1800cf450
xor edi, edi
test r15d, r15d
je 0x1800cff36
cmp dword [r14], edi
jne 0x1800cff33
mov rcx, qword [rsi + 0x110]
lea r9, [rsp + 0x7c]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800cff33
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 1
jb 0x1800cff4e
movzx eax, word [rsi + 0x122]
lea ebx, [rax - 1]
test ax, ax
jne 0x1800cff50
mov ebx, edi
cmp dword [r14], 0
jne case.0x1800cf728.78
nop word [rax + rax]
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1800cff7e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp - 0x2c]
mov r11d, ebx
movsx r8d, word [rbp - 0x28]
movsx r10d, word [rbp - 0x38]
sub r8d, eax
mov ecx, dword [0x1804284f0]
inc r8d
movsx r9d, word [rbp - 0x32]
mov dword [0x1804284f8], r10d
mov dword [0x1804284f4], r8d
cmp ecx, 0xffffffff
jne 0x1800cffbe
mov ecx, r9d
mov dword [0x1804284f0], ecx
jmp 0x1800cffd2
mov eax, r9d
sub eax, r8d
inc eax
cmp ecx, eax
jge 0x1800cffd2
mov ecx, eax
mov dword [0x1804284f0], eax
movsx edx, word [rbp - 0x36]
lea eax, [r8 + rcx]
cmp eax, edx
jle 0x1800cffe9
mov ecx, edx
sub ecx, r8d
mov dword [0x1804284f0], ecx
test ecx, ecx
jns 0x1800cfff5
mov ecx, edi
mov dword [0x1804284f0], ecx
movsx edx, r9w
cmp edx, ecx
jge 0x1800d0001
mov edx, ecx
jmp 0x1800d000c
lea eax, [r8 + rcx]
cmp edx, eax
jl 0x1800d000c
lea edx, [rax - 1]
test ebx, ebx
jns 0x1800d0015
mov r11d, edi
jmp 0x1800d001e
cmp ebx, r10d
jl 0x1800d001e
lea r11d, [r10 - 1]
mov rcx, qword [rsi + 0x110]
movzx edx, dx
shl edx, 0x10
movzx eax, r11w
or edx, eax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1800cf728.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1800cff60
jmp 0x1800cf450
test r15d, r15d
je 0x1800d0091
cmp dword [r14], 0
jne 0x1800d008a
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x80]
xor edi, edi
lea rdx, [rbp - 0x20]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800d008a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
xor edx, edx
mov r15d, edx
jmp 0x1800d0093
xor edx, edx
movzx ecx, byte [rsi + 0x120]
cmp cl, 1
jb 0x1800d00ae
movzx eax, word [rsi + 0x122]
lea edi, [rax - 1]
test ax, ax
jne 0x1800d00b0
mov edi, edx
cmp cl, 2
jb 0x1800d00c4
movzx eax, word [rsi + 0x124]
lea ebx, [rax - 1]
test ax, ax
jne 0x1800d00c6
mov ebx, edx
cmp dword [r14], 0
jne case.0x1800cf728.78
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1800d00ee
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp - 0x2c]
mov r10d, ebx
movsx r8d, word [rbp - 0x28]
movsx r9d, word [rbp - 0x38]
sub r8d, eax
mov ecx, dword [0x1804284f0]
inc r8d
mov dword [0x1804284f8], r9d
mov dword [0x1804284f4], r8d
cmp ecx, 0xffffffff
jne 0x1800d012a
movsx ecx, word [rbp - 0x32]
mov dword [0x1804284f0], ecx
jmp 0x1800d013f
movsx eax, word [rbp - 0x32]
sub eax, r8d
inc eax
cmp ecx, eax
jge 0x1800d013f
mov ecx, eax
mov dword [0x1804284f0], eax
movsx edx, word [rbp - 0x36]
lea eax, [rcx + r8]
cmp eax, edx
jle 0x1800d0156
mov ecx, edx
sub ecx, r8d
mov dword [0x1804284f0], ecx
xor r11d, r11d
test ecx, ecx
jns 0x1800d0166
mov ecx, r11d
mov dword [0x1804284f0], ecx
lea edx, [rcx + rdi]
cmp edx, ecx
jge 0x1800d0171
mov edx, ecx
jmp 0x1800d017c
lea eax, [r8 + rcx]
cmp edx, eax
jl 0x1800d017c
lea edx, [rax - 1]
test ebx, ebx
jns 0x1800d0185
mov r10d, r11d
jmp 0x1800d018e
cmp ebx, r9d
jl 0x1800d018e
lea r10d, [r9 - 1]
mov rcx, qword [rsi + 0x110]
movzx edx, dx
shl edx, 0x10
movzx eax, r10w
or edx, eax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1800cf728.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1800d00d0
jmp 0x1800cf450
test r15d, r15d
je 0x1800d0201
cmp dword [r14], 0
jne 0x1800d01fa
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x7c]
xor edi, edi
lea rdx, [rbp - 0x20]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800d01fa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
xor eax, eax
mov r15d, eax
jmp 0x1800d0203
xor eax, eax
cmp byte [rsi + 0x120], 0
je 0x1800d023a
movzx edx, word [rsi + 0x122]
cmp edx, 2
ja case.0x1800cf728.78
mov r9, r14
mov r8b, 1
mov rcx, rsi
call fcn.1800ce760
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1800d066f
mov edx, eax
mov r9, r14
mov r8b, 1
mov rcx, rsi
call fcn.1800ce760
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1800d066f
test r15d, r15d
je 0x1800d0298
cmp dword [r14], 0
jne 0x1800d0291
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x78]
xor edi, edi
lea rdx, [rbp - 0x20]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800d0291
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
xor eax, eax
mov r15d, eax
jmp 0x1800d029a
xor eax, eax
cmp byte [rsi + 0x120], 0
je 0x1800d02d1
movzx edx, word [rsi + 0x122]
cmp edx, 2
ja case.0x1800cf728.78
mov r9, r14
xor r8d, r8d
mov rcx, rsi
call fcn.1800ce760
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1800d066f
mov edx, eax
mov r9, r14
xor r8d, r8d
mov rcx, rsi
call fcn.1800ce760
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1800d066f
test r15d, r15d
je 0x1800d032a
xor edi, edi
cmp dword [r14], edi
jne 0x1800d0327
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x74]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800d0327
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov rdx, r14
mov rcx, rsi
call fcn.1800cea50
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1800d066f
test r15d, r15d
je 0x1800d037e
xor edi, edi
cmp dword [r14], edi
jne 0x1800d037b
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x70]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800d037b
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.1800cedc0
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1800d066f
test r15d, r15d
je 0x1800d03d4
xor edi, edi
cmp dword [r14], edi
jne 0x1800d03d1
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x6c]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800d03d1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp dword [r14], 0
jne case.0x1800cf728.78
test dword [rsi + 0x58], 0x4000000
je case.0x1800cf728.78
movsx edi, word [rsi + 0x12c]
movsx ebx, word [rsi + 0x12a]
nop dword [rax]
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x1800d041e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rbp - 0x2c]
mov r10d, ebx
movsx r8d, word [rbp - 0x28]
movsx r9d, word [rbp - 0x38]
sub r8d, eax
mov ecx, dword [0x1804284f0]
inc r8d
mov dword [0x1804284f8], r9d
mov dword [0x1804284f4], r8d
cmp ecx, 0xffffffff
jne 0x1800d045a
movsx ecx, word [rbp - 0x32]
mov dword [0x1804284f0], ecx
jmp 0x1800d046f
movsx eax, word [rbp - 0x32]
sub eax, r8d
inc eax
cmp ecx, eax
jge 0x1800d046f
mov ecx, eax
mov dword [0x1804284f0], eax
movsx edx, word [rbp - 0x36]
lea eax, [r8 + rcx]
cmp eax, edx
jle 0x1800d0486
mov ecx, edx
sub ecx, r8d
mov dword [0x1804284f0], ecx
xor r11d, r11d
test ecx, ecx
jns 0x1800d0496
mov ecx, r11d
mov dword [0x1804284f0], ecx
lea edx, [rdi + rcx]
cmp edx, ecx
jge 0x1800d04a1
mov edx, ecx
jmp 0x1800d04ac
lea eax, [r8 + rcx]
cmp edx, eax
jl 0x1800d04ac
lea edx, [rax - 1]
test ebx, ebx
jns 0x1800d04b5
mov r10d, r11d
jmp 0x1800d04be
cmp ebx, r9d
jl 0x1800d04be
lea r10d, [r9 - 1]
mov rcx, qword [rsi + 0x110]
movzx edx, dx
shl edx, 0x10
movzx eax, r10w
or edx, eax
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne case.0x1800cf728.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1800d0400
jmp 0x1800cf450
test bl, 8
je 0x1800d07b9
test bl, 0x40
je 0x1800d053c
test bl, bl
js 0x1800d052f
cmp r13d, 0x22
jne 0x1800d0518
mov eax, 0xffbf
and bx, ax
jmp 0x1800d066c
cmp r13d, 0x5c
jne 0x1800d066c
mov eax, 0x80
or bx, ax
jmp 0x1800d066c
mov eax, 0xff7f
and bx, ax
jmp 0x1800d066c
cmp r13d, 7
je 0x1800d057c
cmp r13d, 0x5c
jne 0x1800d054d
test bl, 2
jne 0x1800d057c
cmp r13d, 0x1b
jne 0x1800d055c
or bx, 2
jmp 0x1800d066c
cmp r13d, 0x22
jne 0x1800d0573
mov eax, 0xff7d
and bx, ax
or bx, 0x40
jmp 0x1800d066c
and bx, r10w
jmp 0x1800d066c
xor r8d, r8d
movzx ebx, r8w
jmp 0x1800d066f
cmp rcx, 2
jae 0x1800d05c6
test r15d, r15d
je 0x1800d05c6
cmp dword [r14], 0
jne 0x1800d05c3
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x64]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800d05c3
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 - 0x20], cx
mov eax, 0x3ff
movzx ecx, r13w
and cx, ax
mov eax, 0x2400
sub cx, ax
mov word [rbp + r15*2 - 0x20], cx
inc r15d
xor r12b, r12b
jmp case.0x1800cf226.27
cmp r12b, 0xa
je 0x1800d0664
mov eax, r15d
mov ecx, 0x2000
sub rcx, rax
cmp rcx, 1
jae 0x1800d0658
test r15d, r15d
je 0x1800d0658
cmp dword [r14], 0
jne 0x1800d0655
mov rcx, qword [rsi + 0x110]
lea r9, [rsp + 0x44]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800d0655
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov eax, r15d
mov word [rbp + rax*2 - 0x20], r13w
inc r15d
movzx r12d, r13b
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
mov edi, dword [rsp + 0x34]
lea r11, [0x180000000]
inc ecx
mov r9d, reloc.WS2_32.dll_recv
mov r10d, 0xfffd
mov dword [rsp + 0x30], ecx
cmp ecx, dword [rsp + 0x40]
jb 0x1800cf130
mov edx, dword [rsp + 0x38]
mov rax, qword [rsp + 0x50]
inc edx
inc rax
mov dword [rsp + 0x38], edx
mov qword [rsp + 0x50], rax
cmp edx, dword [rsp + 0x3c]
jb 0x1800cf100
test r15d, r15d
je 0x1800d06ed
cmp dword [r14], 0
jne 0x1800d06ed
mov rcx, qword [rsi + 0x110]
lea r9, [rsp + 0x44]
mov qword [rsp + 0x20], r8
lea rdx, [rbp - 0x20]
mov r8d, r15d
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800d06ed
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
lea rcx, [0x18043b5a8]
mov byte [rsi + 0x11c], dil
mov dword [rsi + 0x118], r13d
mov byte [rsi + 0x11d], r12b
mov word [rsi + 0x11e], bx
call fcn.1800c9590
mov eax, dword [r14]
neg eax
sbb eax, eax
mov rcx, qword [rbp + 0x3fe0]
xor rcx, rsp
call fcn.1800a5910
mov rbx, qword [rsp + 0x4140]
add rsp, 0x40f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp r12b, 0xd
je 0x1800d060e
mov eax, r15d
mov ecx, 0x2000
sub rcx, rax
cmp rcx, 2
jae 0x1800d0799
test r15d, r15d
je 0x1800d0799
cmp dword [r14], 0
jne 0x1800d0796
mov rcx, qword [rsi + 0x110]
lea r9, [rbp - 0x60]
mov r8d, r15d
mov qword [rsp + 0x20], rdi
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
test eax, eax
jne 0x1800d0796
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 - 0x20], cx
mov ecx, 0xa
mov word [rbp + r15*2 - 0x20], cx
jmp 0x1800d0661
call fcn.18029c748
int3