Function at 0x14009ed40
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.1400b0700
sub rsp, rax
mov rax, qword [0x14010bcf8]
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, [0x14010d248]
mov dword [rsp + 0x34], edi
mov dword [r9], eax
mov dword [rsp + 0x68], r8d
mov qword [rbp - 0x20], rdx
call fcn.14009a720
xor r8d, r8d
mov edx, r8d
mov dword [rsp + 0x64], edx
cmp dword [rsp + 0x68], r8d
jbe 0x1400a045e
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 0x1400a040d
nop word [rax + rax]
mov rdx, qword [rbp - 0x10]
mov eax, ecx
movzx edx, byte [rax + rdx]
movzx eax, dl
test dil, dil
jne 0x14009ee6f
not al
movzx eax, al
bsr r8d, eax
je 0x14009eea8
cmp r8d, 7
jne 0x14009ee48
mov r13d, edx
jmp 0x14009eeab
cmp r8d, 5
ja 0x14009eea8
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 0x14009ee8a
and al, 0xc0
cmp al, 0x80
jne 0x14009ee9d
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 0x1400a03e2
jmp 0x14009eeab
dec ecx
mov byte [rsp + 0x34], 0
mov dword [rsp + 0x30], ecx
mov r13d, r10d
cmp dword [0x14010ac4c], 0
je 0x14009f289
test bx, bx
jne 0x14009eeeb
cmp r13d, 0x1b
je 0x14009eee1
cmp r13d, 0x9b
jne 0x14009f289
mov ebx, 4
mov byte [rsi + 0x120], 0
jmp 0x1400a03df
mov ebx, 2
jmp 0x1400a03df
cmp bx, 2
jne 0x14009f198
lea eax, [r13 - 0x1b]
cmp eax, 0x48
ja case.0x14009ef16.33
movzx eax, byte [r11 + rax + 0xa054c]
mov ecx, dword [r11 + rax*4 + 0xa0530]
add rcx, r11
jmp rcx
mov ebx, 4
mov byte [rsi + 0x120], 0
jmp case.0x14009ef16.27
mov ebx, 8
jmp case.0x14009ef16.27
test r15d, r15d
je 0x14009ef6c
xor edi, edi
cmp dword [r14], edi
jne 0x14009ef69
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 0x14009ef69
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.0x14009f547.78
mov rcx, qword [rsi + 0x110]
movzx edx, di
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
test eax, eax
je 0x14009f0b0
mov ebx, dword [rsp + 0x38]
mov edx, ebx
mov rcx, qword [rsi + 0x110]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
je 0x14009f0b0
nop dword [rax + rax]
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
je 0x14009f0b0
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 0x14009f02f
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 0x14009f03c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x14009efc0
jmp 0x14009f0b0
movsx eax, word [rbp - 8]
xor r10d, r10d
movsx r8d, word [rbp + 8]
mov edx, r10d
mov dword [0x14010ac28], eax
mov ecx, r10d
movsx eax, word [rbp + 4]
sub r8d, eax
movsx eax, word [rbp - 2]
inc r8d
sub eax, r8d
mov dword [0x14010ac24], r8d
inc eax
test eax, eax
jle 0x14009f076
mov edx, eax
mov ecx, eax
movsx r9d, word [rbp - 6]
lea eax, [r8 + rcx]
cmp eax, r9d
jle 0x14009f08c
mov edx, r9d
sub edx, r8d
mov ecx, edx
test ecx, ecx
cmovs edx, r10d
mov dword [0x14010ac20], edx
lea rdx, [0x14010d258]
mov rcx, qword [rsi + 0x110]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorInfo]
test eax, eax
jne case.0x14009f547.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400a03e2
test r15d, r15d
je 0x14009f102
xor edi, edi
cmp dword [r14], edi
jne 0x14009f0ff
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 0x14009f0ff
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.14009e730
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400a03e2
test r15d, r15d
je 0x14009f158
xor edi, edi
cmp dword [r14], edi
jne 0x14009f155
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 0x14009f155
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.14009e650
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400a03e2
lea eax, [r13 - 0x40]
cmp eax, 0x1f
ja 0x14009f18e
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400a03e2
xor edi, edi
movzx ebx, di
jmp 0x14009f28b
cmp bx, 0x10
jne 0x14009f1b7
lea eax, [r13 - 0x40]
xor r8d, r8d
cmp eax, 0x3e
ja 0x1400a03e2
movzx ebx, r8w
jmp 0x1400a03e2
mov edx, 0x200
cmp bx, dx
jne 0x14009f309
lea eax, [r13 - 0x40]
cmp eax, 0x3e
ja 0x14009f285
cmp r13d, 0x71
jne case.0x14009f547.78
cmp byte [rsi + 0x120], 0
je 0x14009f1f7
movzx ebx, word [rsi + 0x122]
cmp ebx, 6
ja case.0x14009f547.78
jmp 0x14009f1fc
mov ebx, 1
test r15d, r15d
je 0x14009f235
xor edi, edi
cmp dword [r14], edi
jne 0x14009f232
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 0x14009f232
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 0x14009f0b0
test ebx, ebx
jne 0x14009f267
mov eax, dword [0x14010d258]
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x70], eax
jmp 0x14009f09f
cmp ebx, 2
lea rdx, [rsp + 0x70]
mov eax, 0x19
mov ecx, 0x64
cmovbe eax, ecx
mov dword [rsp + 0x70], eax
jmp 0x14009f09f
movzx ebx, r9w
xor edi, edi
cmp r13d, 0xa
je 0x1400a04b7
cmp r13d, 0xd
je 0x1400a037b
mov eax, r15d
mov ecx, 0x2000
sub rcx, rax
cmp r13d, 0xffff
ja 0x1400a02fb
cmp rcx, 1
jae 0x14009f2f5
test r15d, r15d
je 0x14009f2f5
cmp dword [r14], 0
jne 0x14009f2f2
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 0x14009f2f2
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.0x14009ef16.27
test bl, 4
je 0x1400a0266
lea eax, [r13 - 0x30]
cmp eax, 9
ja 0x14009f389
movzx eax, byte [rsi + 0x120]
test bl, 0x20
jne 0x14009f354
cmp al, 4
jb 0x14009f334
movzx ebx, r9w
jmp 0x1400a03df
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.0x14009ef16.27
lea rdx, [rsi + rax*2]
movzx eax, word [rdx + 0x120]
lea ecx, [rax + rax*4]
add ecx, ecx
cmp ecx, 0xffff
jbe 0x14009f375
movzx ebx, r9w
jmp case.0x14009ef16.27
sub cx, 0x30
add cx, r13w
mov word [rdx + 0x120], cx
jmp case.0x14009ef16.27
cmp r13d, 0x3b
jne 0x14009f3d1
test bl, 0x20
je 0x14009f3a1
mov eax, 0xffdf
and bx, ax
jmp 0x1400a03df
movzx eax, byte [rsi + 0x120]
cmp al, 4
jb 0x14009f3b5
movzx ebx, r9w
jmp 0x1400a03df
inc al
movzx eax, al
xor r8d, r8d
mov byte [rsi + 0x120], al
mov word [rsi + rax*2 + 0x120], r8w
jmp 0x1400a03e2
cmp r13d, 0x3f
jne 0x14009f3f7
mov eax, 0x120
test ax, bx
jne 0x14009f413
cmp byte [rsi + 0x120], 0
jne 0x14009f413
mov eax, 0x100
or bx, ax
jmp 0x1400a03df
cmp r13d, 0x20
jne 0x14009f413
mov eax, 0x100
and bx, ax
jne 0x14009f32b
movzx ebx, dx
jmp 0x1400a03df
mov eax, 0x100
and bx, ax
lea eax, [r13 - 0x40]
cmp eax, 0x3e
ja 0x14009f32b
test bx, bx
je 0x14009f526
cmp r13d, 0x68
je 0x14009f4b2
cmp r13d, 0x6c
jne case.0x14009f547.78
cmp byte [rsi + 0x120], 1
jne case.0x14009f547.78
cmp word [rsi + 0x122], 0x19
jne case.0x14009f547.78
test r15d, r15d
je 0x14009f495
xor edi, edi
cmp dword [r14], edi
jne 0x14009f492
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 0x14009f492
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.14009e860
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400a03e2
cmp byte [rsi + 0x120], 1
jne case.0x14009f547.78
cmp word [rsi + 0x122], 0x19
jne case.0x14009f547.78
test r15d, r15d
je 0x14009f506
xor edi, edi
cmp dword [r14], edi
jne 0x14009f503
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 0x14009f503
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.14009e860
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400a03e2
lea eax, [r13 - 0x41]
cmp eax, 0x34
ja case.0x14009f547.78
movzx eax, byte [r11 + rax + 0xa05d0]
mov ecx, dword [r11 + rax*4 + 0xa0598]
add rcx, r11
jmp rcx
xor edi, edi
test r15d, r15d
je 0x14009f582
cmp dword [r14], edi
jne 0x14009f57f
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 0x14009f57f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x14009f594
movzx ebx, word [rsi + 0x122]
jmp 0x14009f599
mov ebx, 1
cmp dword [r14], 0
jne case.0x14009f547.78
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x14009f5c1
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 [0x14010ac20]
inc r8d
movsx edx, word [rbp - 2]
mov dword [0x14010ac28], r10d
mov dword [0x14010ac24], r8d
cmp ecx, 0xffffffff
jne 0x14009f5f6
mov ecx, edx
jmp 0x14009f602
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 0x14009f616
mov ecx, r9d
sub ecx, r8d
test ecx, ecx
cmovs ecx, edi
sub edx, ebx
mov dword [0x14010ac20], ecx
cmp edx, ecx
jge 0x14009f62b
mov edx, ecx
jmp 0x14009f636
lea eax, [r8 + rcx]
cmp edx, eax
jl 0x14009f636
lea edx, [rax - 1]
movsx eax, word [rbp - 4]
test eax, eax
jns 0x14009f642
mov eax, edi
jmp 0x14009f64b
cmp eax, r10d
jl 0x14009f64b
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.0x14009f547.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x14009f5a3
jmp 0x14009f0b0
xor edi, edi
test r15d, r15d
je 0x14009f6bb
cmp dword [r14], edi
jne 0x14009f6b8
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 0x14009f6b8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x14009f6cd
movzx ebx, word [rsi + 0x122]
jmp 0x14009f6d2
mov ebx, 1
cmp dword [r14], 0
jne case.0x14009f547.78
nop dword [rax]
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x14009f6fe
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 [0x14010ac20]
inc edx
movsx r9d, word [rbp - 2]
mov dword [0x14010ac28], r10d
mov dword [0x14010ac24], edx
cmp ecx, 0xffffffff
jne 0x14009f731
mov ecx, r9d
jmp 0x14009f73d
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 0x14009f74f
mov ecx, r8d
sub ecx, edx
test ecx, ecx
lea r8d, [r9 + rbx]
cmovs ecx, edi
mov dword [0x14010ac20], ecx
cmp r8d, ecx
jge 0x14009f768
mov r8d, ecx
jmp 0x14009f774
lea eax, [rdx + rcx]
cmp r8d, eax
jl 0x14009f774
lea r8d, [rax - 1]
movsx eax, word [rbp - 4]
test eax, eax
jns 0x14009f780
mov eax, edi
jmp 0x14009f789
cmp eax, r10d
jl 0x14009f789
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.0x14009f547.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x14009f6e0
jmp 0x14009f0b0
xor edi, edi
test r15d, r15d
je 0x14009f7fa
cmp dword [r14], edi
jne 0x14009f7f7
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 0x14009f7f7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x14009f80c
movzx ebx, word [rsi + 0x122]
jmp 0x14009f811
mov ebx, 1
cmp dword [r14], 0
jne case.0x14009f547.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 0x14009f83e
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 [0x14010ac20]
inc r8d
movsx edx, word [rbp - 2]
mov dword [0x14010ac28], r10d
mov dword [0x14010ac24], r8d
cmp ecx, 0xffffffff
jne 0x14009f873
mov ecx, edx
jmp 0x14009f87f
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 0x14009f893
mov ecx, r9d
sub ecx, r8d
test ecx, ecx
cmovs ecx, edi
mov dword [0x14010ac20], ecx
cmp edx, ecx
jge 0x14009f8a6
mov edx, ecx
jmp 0x14009f8b1
lea eax, [r8 + rcx]
cmp edx, eax
jl 0x14009f8b1
lea edx, [rax - 1]
movsx eax, word [rbp - 4]
add eax, ebx
jns 0x14009f8bd
mov eax, edi
jmp 0x14009f8c6
cmp eax, r10d
jl 0x14009f8c6
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.0x14009f547.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x14009f820
jmp 0x14009f0b0
xor edi, edi
test r15d, r15d
je 0x14009f936
cmp dword [r14], edi
jne 0x14009f933
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 0x14009f933
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x14009f948
movzx ebx, word [rsi + 0x122]
jmp 0x14009f94d
mov ebx, 1
cmp dword [r14], 0
jne case.0x14009f547.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 0x14009f97e
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 [0x14010ac20]
inc r8d
movsx edx, word [rbp - 2]
mov dword [0x14010ac28], r10d
mov dword [0x14010ac24], r8d
cmp eax, 0xffffffff
jne 0x14009f9b3
mov eax, edx
jmp 0x14009f9bf
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 0x14009f9d3
mov eax, r9d
sub eax, r8d
test eax, eax
cmovs eax, edi
mov dword [0x14010ac20], eax
cmp edx, eax
jge 0x14009f9e6
mov edx, eax
jmp 0x14009f9f1
lea ecx, [r8 + rax]
cmp edx, ecx
jl 0x14009f9f1
lea edx, [rcx - 1]
movsx eax, word [rbp - 4]
sub eax, ebx
jns 0x14009f9fd
mov eax, edi
jmp 0x14009fa06
cmp eax, r10d
jl 0x14009fa06
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.0x14009f547.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x14009f960
jmp 0x14009f0b0
xor edi, edi
test r15d, r15d
je 0x14009fa76
cmp dword [r14], edi
jne 0x14009fa73
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 0x14009fa73
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x14009fa88
movzx ebx, word [rsi + 0x122]
jmp 0x14009fa8d
mov ebx, 1
cmp dword [r14], 0
jne case.0x14009f547.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 0x14009fabe
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 [0x14010ac20]
inc edx
movsx r9d, word [rbp - 2]
mov dword [0x14010ac28], r10d
mov dword [0x14010ac24], edx
cmp ecx, 0xffffffff
jne 0x14009faf4
mov ecx, r9d
jmp 0x14009fb00
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 0x14009fb12
mov ecx, r8d
sub ecx, edx
test ecx, ecx
lea eax, [r9 + rbx]
cmovs ecx, edi
mov dword [0x14010ac20], ecx
cmp eax, ecx
jge 0x14009fb29
mov eax, ecx
jmp 0x14009fb36
lea r8d, [rdx + rcx]
cmp eax, r8d
jl 0x14009fb36
lea eax, [r8 - 1]
test r10d, r10d
jg 0x14009fb3f
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.0x14009f547.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x14009faa0
jmp 0x14009f0b0
xor edi, edi
test r15d, r15d
je 0x14009fbb0
cmp dword [r14], edi
jne 0x14009fbad
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 0x14009fbad
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 0
je 0x14009fbc2
movzx ebx, word [rsi + 0x122]
jmp 0x14009fbc7
mov ebx, 1
cmp dword [r14], 0
jne case.0x14009f547.78
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x14009fbef
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 [0x14010ac20]
inc r8d
movsx edx, word [rbp - 2]
mov dword [0x14010ac28], r10d
mov dword [0x14010ac24], r8d
cmp ecx, 0xffffffff
jne 0x14009fc27
mov ecx, edx
jmp 0x14009fc33
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 0x14009fc47
mov ecx, r9d
sub ecx, r8d
test ecx, ecx
cmovs ecx, edi
sub edx, ebx
mov dword [0x14010ac20], ecx
cmp edx, ecx
jge 0x14009fc5c
mov edx, ecx
jmp 0x14009fc67
lea eax, [r8 + rcx]
cmp edx, eax
jl 0x14009fc67
lea edx, [rax - 1]
test r10d, r10d
jg 0x14009fc70
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.0x14009f547.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x14009fbd1
jmp 0x14009f0b0
xor edi, edi
test r15d, r15d
je 0x14009fce1
cmp dword [r14], edi
jne 0x14009fcde
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 0x14009fcde
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp byte [rsi + 0x120], 1
jb 0x14009fcf9
movzx eax, word [rsi + 0x122]
lea ebx, [rax - 1]
test ax, ax
jne 0x14009fcfb
mov ebx, edi
cmp dword [r14], 0
jne case.0x14009f547.78
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x14009fd23
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 [0x14010ac20]
inc edx
movsx r8d, word [rbp - 2]
mov dword [0x14010ac28], r10d
mov dword [0x14010ac24], edx
cmp ecx, 0xffffffff
jne 0x14009fd59
mov ecx, r8d
jmp 0x14009fd65
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 0x14009fd77
mov ecx, r9d
sub ecx, edx
test ecx, ecx
cmovs ecx, edi
mov dword [0x14010ac20], ecx
cmp r8d, ecx
jge 0x14009fd8c
mov r8d, ecx
jmp 0x14009fd98
lea eax, [rdx + rcx]
cmp r8d, eax
jl 0x14009fd98
lea r8d, [rax - 1]
test ebx, ebx
jns 0x14009fda1
mov r11d, edi
jmp 0x14009fdaa
cmp ebx, r10d
jl 0x14009fdaa
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.0x14009f547.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x14009fd05
jmp 0x14009f0b0
test r15d, r15d
je 0x14009fe21
cmp dword [r14], 0
jne 0x14009fe1a
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 0x14009fe1a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
xor edx, edx
mov r15d, edx
jmp 0x14009fe23
xor edx, edx
movzx ecx, byte [rsi + 0x120]
cmp cl, 1
jb 0x14009fe3e
movzx eax, word [rsi + 0x122]
lea edi, [rax - 1]
test ax, ax
jne 0x14009fe40
mov edi, edx
cmp cl, 2
jb 0x14009fe54
movzx eax, word [rsi + 0x124]
lea ebx, [rax - 1]
test ax, ax
jne 0x14009fe56
mov ebx, edx
cmp dword [r14], 0
jne case.0x14009f547.78
mov rcx, qword [rsi + 0x110]
lea rdx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x14009fe7e
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 [0x14010ac20]
inc edx
mov dword [0x14010ac28], r9d
mov dword [0x14010ac24], edx
cmp ecx, 0xffffffff
jne 0x14009feb0
movsx ecx, word [rbp - 2]
jmp 0x14009febd
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 0x14009fecf
mov ecx, r8d
sub ecx, edx
test ecx, ecx
mov eax, 0
cmovs ecx, eax
mov dword [0x14010ac20], ecx
lea r8d, [rcx + rdi]
cmp r8d, ecx
jge 0x14009feed
mov r8d, ecx
jmp 0x14009fefb
lea eax, [rdx + rcx]
cmp r8d, eax
jl 0x14009fef9
lea r8d, [rax - 1]
xor eax, eax
test ebx, ebx
jns 0x14009ff04
mov r10d, eax
jmp 0x14009ff0d
cmp ebx, r9d
jl 0x14009ff0d
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.0x14009f547.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x14009fe60
jmp 0x14009f0b0
test r15d, r15d
je 0x14009ff84
cmp dword [r14], 0
jne 0x14009ff7d
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 0x14009ff7d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
xor eax, eax
mov r15d, eax
jmp 0x14009ff86
xor eax, eax
cmp byte [rsi + 0x120], 0
je 0x14009ffbd
movzx edx, word [rsi + 0x122]
cmp edx, 2
ja case.0x14009f547.78
mov r9, r14
mov r8b, 1
mov rcx, rsi
call fcn.14009d8d0
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400a03e2
mov edx, eax
mov r9, r14
mov r8b, 1
mov rcx, rsi
call fcn.14009d8d0
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400a03e2
test r15d, r15d
je 0x1400a001b
cmp dword [r14], 0
jne 0x1400a0014
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 0x1400a0014
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
xor eax, eax
mov r15d, eax
jmp 0x1400a001d
xor eax, eax
cmp byte [rsi + 0x120], 0
je 0x1400a0054
movzx edx, word [rsi + 0x122]
cmp edx, 2
ja case.0x14009f547.78
mov r9, r14
xor r8d, r8d
mov rcx, rsi
call fcn.14009d8d0
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400a03e2
mov edx, eax
mov r9, r14
xor r8d, r8d
mov rcx, rsi
call fcn.14009d8d0
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400a03e2
test r15d, r15d
je 0x1400a00ad
xor edi, edi
cmp dword [r14], edi
jne 0x1400a00aa
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 0x1400a00aa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
mov rdx, r14
mov rcx, rsi
call fcn.14009e8e0
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400a03e2
test r15d, r15d
je 0x1400a0101
xor edi, edi
cmp dword [r14], edi
jne 0x1400a00fe
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 0x1400a00fe
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.14009e730
mov ecx, dword [rsp + 0x30]
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400a03e2
test r15d, r15d
je 0x1400a0157
xor edi, edi
cmp dword [r14], edi
jne 0x1400a0154
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 0x1400a0154
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov r15d, edi
cmp dword [r14], 0
jne case.0x14009f547.78
test dword [rsi + 0x58], 0x4000000
je case.0x14009f547.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 0x1400a019e
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 [0x14010ac20]
inc edx
mov dword [0x14010ac28], r9d
mov dword [0x14010ac24], edx
cmp ecx, 0xffffffff
jne 0x1400a01d0
movsx ecx, word [rbp - 2]
jmp 0x1400a01dd
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 0x1400a01ef
mov ecx, r8d
sub ecx, edx
test ecx, ecx
mov eax, 0
cmovs ecx, eax
mov dword [0x14010ac20], ecx
lea r8d, [rdi + rcx]
cmp r8d, ecx
jge 0x1400a020d
mov r8d, ecx
jmp 0x1400a021b
lea eax, [rdx + rcx]
cmp r8d, eax
jl 0x1400a0219
lea r8d, [rax - 1]
xor eax, eax
test ebx, ebx
jns 0x1400a0224
mov r10d, eax
jmp 0x1400a022d
cmp ebx, r9d
jl 0x1400a022d
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.0x14009f547.78
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x1400a0180
jmp 0x14009f0b0
test bl, 8
je 0x1400a052a
test bl, 0x40
je 0x1400a02af
test bl, bl
js 0x1400a02a2
cmp r13d, 0x22
jne 0x1400a028b
mov eax, 0xffbf
and bx, ax
jmp 0x1400a03df
cmp r13d, 0x5c
jne 0x1400a03df
mov eax, 0x80
or bx, ax
jmp 0x1400a03df
mov eax, 0xff7f
and bx, ax
jmp 0x1400a03df
cmp r13d, 7
je 0x1400a02ef
cmp r13d, 0x5c
jne 0x1400a02c9
test bl, 2
jne 0x1400a02ef
and bx, r10w
jmp 0x1400a03df
cmp r13d, 0x1b
jne 0x1400a02d8
or bx, 2
jmp 0x1400a03df
cmp r13d, 0x22
jne 0x1400a02c0
mov eax, 0xff7d
and bx, ax
or bx, 0x40
jmp 0x1400a03df
xor r8d, r8d
movzx ebx, r8w
jmp 0x1400a03e2
cmp rcx, 2
jae 0x1400a0339
test r15d, r15d
je 0x1400a0339
cmp dword [r14], 0
jne 0x1400a0336
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 0x1400a0336
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.0x14009ef16.27
cmp r12b, 0xa
je 0x1400a03d7
mov eax, r15d
mov ecx, 0x2000
sub rcx, rax
cmp rcx, 1
jae 0x1400a03cb
test r15d, r15d
je 0x1400a03cb
cmp dword [r14], 0
jne 0x1400a03c8
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 0x1400a03c8
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, reloc.WS2_32.dll_recv
mov r10d, 0xfffd
mov dword [rsp + 0x30], ecx
cmp ecx, dword [rsp + 0x6c]
jb 0x14009ee20
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 0x14009edf0
test r15d, r15d
je 0x1400a045e
cmp dword [r14], 0
jne 0x1400a045e
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 0x1400a045e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
lea rcx, [0x14010d248]
mov byte [rsi + 0x11c], dil
mov dword [rsi + 0x118], r13d
mov byte [rsi + 0x11d], r12b
mov word [rsi + 0x11e], bx
call fcn.14009a6f0
mov eax, dword [r14]
neg eax
sbb eax, eax
mov rcx, qword [rbp + 0x4010]
xor rcx, rsp
call fcn.1400b06c0
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 0x1400a0381
mov eax, r15d
mov ecx, 0x2000
sub rcx, rax
cmp rcx, 2
jae 0x1400a050a
test r15d, r15d
je 0x1400a050a
cmp dword [r14], 0
jne 0x1400a0507
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 0x1400a0507
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 0x1400a03d4
call fcn.1400b9db8
int3