Function at 0x14006cc50
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x10f8
call fcn.1400a4fd0
sub rsp, rax
movaps xmmword [rsp + 0x10e0], xmm6
mov r15, r9
mov qword [rsp + 0xd8], 0
mov rdi, qword [rdx]
lea rsi, [rdi + 2]
cmp rsi, r8
jbe 0x14006cd3c
mov eax, dword [0x140154268]
mov ecx, dword [0x1401507a0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006f34e
mov rax, qword [0x140154238]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
je 0x14006ccfb
mov rax, qword [0x140154230]
mov rax, qword [rax + 0x30]
lea rcx, [0x1400056a0]
cmp rax, rcx
je 0x14006ccfb
lea rcx, [0x140154230]
mov edx, 3
call rax
test al, al
je 0x14006f2a5
mov eax, 1
lea rcx, str.basic_parser.ipp
add rcx, rax
mov qword [r15], 3
lea rax, [0x140154230]
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rcx
movaps xmm6, xmmword [rsp + 0x10e0]
add rsp, 0x10f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, rdx
mov rbx, rcx
xor eax, eax
mov qword [rsp + 0x88], rax
xorps xmm6, xmm6
mov r13d, 0x20202020
xor eax, eax
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x30], rax
xor ebp, ebp
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x38], rcx
jmp 0x14006cd9d
mov rdi, qword [rsp + 0x48]
mov qword [r14], rdi
lea rsi, [rdi + 2]
mov r8, qword [rsp + 0x90]
cmp rsi, r8
ja 0x14006cc90
movzx edx, byte [rdi]
cmp edx, 0x3a
je 0x14006ce20
cmp edx, 0xd
je 0x14006f2ac
lea rcx, [rdi + 2]
mov rax, 0xffffffffffffffff
lea r9, [0x14011d9f0]
movzx edx, dl
cmp byte [rdx + r9], 0
je 0x14006cebb
lea rdx, [rcx - 1]
cmp rdx, r8
jae 0x14006cec4
movzx edx, byte [rdx]
cmp rdx, 0x3a
je 0x14006cecc
cmp byte [rdx + r9], 0
je 0x14006d1ef
cmp rcx, r8
jae 0x14006d29e
movzx edx, byte [rcx]
add rcx, 2
add rax, 2
cmp dl, 0x3a
jne 0x14006cdc0
add rcx, 0xfffffffffffffffe
jmp 0x14006ced2
mov eax, dword [0x140154268]
mov ecx, dword [0x1401507a0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006ef2a
mov qword [rsp + 0x48], rdi
mov rax, qword [0x140154238]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
mov rsi, qword [rsp + 0x30]
je 0x14006cea0
mov rax, qword [0x140154230]
mov rax, qword [rax + 0x30]
lea rcx, [0x1400056a0]
cmp rax, rcx
je 0x14006cea0
lea rcx, [0x140154230]
mov edx, setsockopt
call rax
test al, al
je 0x14006da15
nop word cs:[rax + rax]
mov edi, 1
lea rax, str.basic_parser.ipp
add rdi, rax
mov qword [r15], setsockopt
jmp 0x14006d32c
add rcx, 0xfffffffffffffffe
jmp 0x14006d1f2
mov rsi, rdx
jmp 0x14006d2a1
dec rcx
inc rax
sub rcx, rdi
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x48], rdi
lea rbx, [rdi + rax]
add rbx, 2
mov qword [rsp + 0x98], 0
xor r15d, r15d
lea rax, [rbx + 1]
cmp rax, r8
ja 0x14006dd48
mov rbp, rbx
mov r12, rbx
mov rbx, qword [rsp + 0x38]
jmp 0x14006cf2b
lea r14, [r12 + 1]
add r12, 2
inc rbp
inc rax
cmp r12, r8
mov r12, r14
ja 0x14006dd50
movzx ecx, byte [r12]
cmp ecx, 0x20
je 0x14006cf10
cmp ecx, 9
je 0x14006cf10
mov r14, r8
sub r14, rbp
add r14, r12
mov rsi, qword [rsp + 0x30]
lea edx, [rcx - 0x20]
cmp dl, 0x5f
jb 0x14006cfa0
jmp 0x14006cf6e
movzx ecx, byte [rax]
inc rax
lea edx, [rcx - 0x20]
cmp dl, 0x5f
jb 0x14006cfa0
cmp cl, 0x1f
ja 0x14006cf89
cmp cl, 0xd
je 0x14006d0fa
movzx ecx, cl
cmp ecx, 9
je 0x14006cfa0
jmp 0x14006d189
cmp cl, 0x7f
je 0x14006d189
nop word cs:[rax + rax]
cmp rax, r8
jne 0x14006cf60
mov eax, dword [0x140154268]
mov ecx, dword [0x1401507a0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006d18e
mov rax, qword [0x140154238]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
je 0x14006d010
mov rax, qword [0x140154230]
mov rax, qword [rax + 0x30]
lea rcx, [0x1400056a0]
cmp rax, rcx
je 0x14006d010
lea rcx, [0x140154230]
mov edx, 3
call rax
test al, al
je 0x14006d0f3
mov eax, 1
lea rcx, str.basic_parser.ipp
add rax, rcx
mov rdx, qword [rsp + 0x40]
mov qword [rdx], 3
lea rcx, [0x140154230]
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], rax
mov rdi, qword [rdx + 0x10]
test dil, 1
je 0x14006d05c
cmp rdi, 1
jne 0x14006e0a7
mov rax, qword [rsp + 0x40]
cmp dword [rax], 0
jne 0x14006e0a7
test r14, r14
je 0x14006de1d
lea rbx, [r14 + 1]
cmp rbx, qword [rsp + 0x90]
ja 0x14006ded2
mov rsi, r12
cmp r12, r15
jne 0x14006d098
jmp 0x14006d0aa
dec r15
cmp r15, r12
je 0x14006d0bd
movzx eax, byte [r15 - 1]
cmp eax, 0x20
je 0x14006d090
cmp eax, 9
je 0x14006d090
mov rsi, r15
mov qword [rsp + 0x98], rsi
movzx eax, byte [r14]
cmp eax, 9
jne 0x14006d0d1
jmp 0x14006d0da
mov rsi, rbp
mov qword [rsp + 0x98], rsi
movzx eax, byte [r14]
cmp eax, 9
je 0x14006d0da
cmp eax, 0x20
jne 0x14006e0b1
mov r15, r12
cmp r12, rsi
mov r8, qword [rsp + 0x90]
je 0x14006cef6
jmp 0x14006df14
xor eax, eax
jmp 0x14006d015
cmp rax, r8
jae 0x14006d120
cmp byte [rax], 0xa
jne 0x14006d145
lea r15, [rax - 1]
inc rax
mov qword [rsp + 0x98], r15
mov r14, rax
mov rdx, qword [rsp + 0x40]
jmp 0x14006d03a
lea rcx, [rsp + 0x60]
mov edx, 3
mov r14, r8
call fcn.14006bff0
mov rax, qword [rsp + 0x70]
mov ecx, eax
and ecx, 1
lea rdx, str.basic_parser.ipp
jmp 0x14006d168
lea rcx, [rsp + 0x60]
mov edx, listen
mov r14, r8
call fcn.14006bff0
mov rax, qword [rsp + 0x70]
mov ecx, eax
and ecx, 1
lea rdx, str.basic_parser.ipp
add rcx, rdx
cmp rax, 2
cmovb rcx, rax
movups xmm0, xmmword [rsp + 0x60]
mov rdx, qword [rsp + 0x40]
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], rcx
jmp 0x14006d03a
xor r14d, r14d
jmp 0x14006d116
lea rcx, [0x140154268]
call fcn.1400a4684
cmp dword [0x140154268], 0xffffffff
jne 0x14006cfca
movabs rax, 0x964627da815bf210
mov qword [0x140154238], rax
movups xmmword [0x140154240], xmm6
movups xmmword [0x140154250], xmm6
mov dword [0x140154260], 0
lea rax, [0x14011cb80]
mov qword [0x140154230], rax
lea rcx, [0x140154268]
call fcn.1400a4738
jmp 0x14006cfca
dec rcx
mov rsi, rcx
mov eax, dword [0x140154268]
mov ecx, dword [0x1401507a0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006ef9d
mov rax, qword [0x140154238]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
je 0x14006d260
mov rax, qword [0x140154230]
mov rax, qword [rax + 0x30]
lea rcx, [0x1400056a0]
cmp rax, rcx
je 0x14006d260
lea rcx, [0x140154230]
mov edx, setsockopt
call rax
test al, al
je 0x14006db70
mov edi, 1
mov qword [rsp + 0x48], rsi
lea rax, str.basic_parser.ipp
add rdi, rax
mov qword [r15], setsockopt
lea rax, [0x140154230]
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rdi
mov rsi, qword [rsp + 0x30]
test dil, 1
jne 0x14006d341
jmp 0x14006d355
mov rsi, rcx
mov eax, dword [0x140154268]
mov ecx, dword [0x1401507a0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006effe
mov qword [rsp + 0x48], rsi
mov rax, qword [0x140154238]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
je 0x14006d311
mov rax, qword [0x140154230]
mov rax, qword [rax + 0x30]
lea rcx, [0x1400056a0]
cmp rax, rcx
je 0x14006d311
lea rcx, [0x140154230]
mov edx, 3
call rax
test al, al
je 0x14006db77
mov edi, 1
mov rsi, qword [rsp + 0x30]
lea rax, str.basic_parser.ipp
add rdi, rax
mov qword [r15], 3
lea rax, [0x140154230]
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rdi
test dil, 1
je 0x14006d355
cmp rdi, 1
jne 0x14006cd20
cmp dword [r15], 0
jne 0x14006cd20
mov eax, dword [0x140158108]
mov ecx, dword [0x1401507a0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006eefb
cmp rsi, 3
jbe 0x14006d480
lea rcx, [rsi - 4]
mov r8, rcx
shr r8, 2
lea rdx, [r8 + 1]
xor eax, eax
cmp rcx, 0x1c
lea rdi, [0x140154270]
jb 0x14006d430
mov r9, rdx
shr r9, 3
lea r10, [rbp + 0x1c]
xor eax, eax
nop word cs:[rax + rax]
mov r11d, dword [r10 - 0x1c]
or r11d, r13d
lea eax, [rax + rax*4]
add eax, r11d
mov r11d, dword [r10 - 0x18]
or r11d, r13d
lea eax, [rax + rax*4]
add eax, r11d
mov r11d, dword [r10 - 0x14]
or r11d, r13d
lea eax, [rax + rax*4]
add eax, r11d
mov r11d, dword [r10 - 0x10]
or r11d, r13d
lea eax, [rax + rax*4]
add eax, r11d
mov r11d, dword [r10 - 0xc]
or r11d, r13d
lea eax, [rax + rax*4]
add eax, r11d
mov r11d, dword [r10 - 8]
or r11d, r13d
lea eax, [rax + rax*4]
add eax, r11d
mov r11d, dword [r10 - 4]
or r11d, r13d
lea eax, [rax + rax*4]
add eax, r11d
mov r11d, dword [r10]
or r11d, r13d
lea eax, [rax + rax*4]
add eax, r11d
add r10, 0x20
dec r9
jne 0x14006d3c0
mov r9, rdx
and r9, 0xfffffffffffffff8
cmp r9, r8
ja 0x14006d456
nop dword [rax]
mov r8d, dword [rbp + r9*4]
or r8d, r13d
lea eax, [rax + rax*4]
add eax, r8d
inc r9
cmp rdx, r9
jne 0x14006d440
and rcx, 0xfffffffffffffffc
add rcx, rbp
add rcx, 4
mov edx, esi
and edx, 3
test rdx, rdx
mov qword [rsp + 0x30], rsi
jne 0x14006d499
jmp 0x14006d4b7
xor eax, eax
mov rdx, rsi
mov rcx, rbp
lea rdi, [0x140154270]
test rdx, rdx
mov qword [rsp + 0x30], rsi
je 0x14006d4b7
xor r8d, r8d
nop dword [rax]
movzx r9d, byte [rcx + r8]
or r9d, 0x20
lea eax, [rax + rax*4]
add eax, r9d
inc r8
cmp rdx, r8
jne 0x14006d4a0
mov ecx, eax
imul rcx, rcx, 0x196d1aab
shr rcx, 0x29
imul ecx, ecx, 0x1423
sub eax, ecx
movzx ecx, byte [rdi + rax*2 + 0x1650]
test rcx, rcx
je 0x14006d640
mov edx, ecx
shl edx, 4
mov r8, qword [rsp + 0x30]
cmp r8, qword [rdx + rdi + 8]
jne 0x14006d640
add rdx, rdi
mov rdx, qword [rdx]
mov r9, qword [rsp + 0x30]
cmp r9, 3
jbe 0x14006d5c0
add r9, 0xfffffffffffffffc
mov r10, r9
shr r10, 2
lea r8, [r10 + 1]
cmp r9, 4
jb 0x14006d56d
mov r11, r8
shr r11, 1
xor esi, esi
nop word cs:[rax + rax]
mov edi, dword [rdx + rsi*8]
xor edi, dword [rbp + rsi*8]
test edi, 0xdfdfdfdf
lea rdi, [0x140154270]
jne 0x14006d640
mov edi, dword [rdx + rsi*8 + 4]
xor edi, dword [rbp + rsi*8 + 4]
test edi, 0xdfdfdfdf
lea rdi, [0x140154270]
jne 0x14006d640
inc rsi
cmp r11, rsi
jne 0x14006d530
mov r11, r8
and r11, 0xfffffffffffffffe
cmp r11, r10
ja 0x14006d59c
movabs r10, 0x3ffffffffffffffe
and r8, r10
mov r10d, dword [rdx + r8*4]
xor r10d, dword [rbp + r8*4]
test r10d, 0xdfdfdfdf
jne 0x14006d640
and r9, 0xfffffffffffffffc
lea r8, [r9 + rbp]
add r8, 4
add rdx, r9
add rdx, 4
mov r9, qword [rsp + 0x30]
and r9d, 3
cmp r9, 1
jne 0x14006d5c9
jmp 0x14006d610
mov r8, rbp
cmp r9, 1
je 0x14006d610
test r9, r9
je 0x14006d73d
mov r10, r9
shr r10, 1
xor r11d, r11d
nop dword [rax + rax]
movzx ebx, byte [rdx + r11*2]
xor bl, byte [r8 + r11*2]
test bl, 0xdf
mov rbx, qword [rsp + 0x38]
jne 0x14006d640
movzx ebx, byte [rdx + r11*2 + 1]
xor bl, byte [r8 + r11*2 + 1]
test bl, 0xdf
mov rbx, qword [rsp + 0x38]
jne 0x14006d640
inc r11
cmp r10, r11
jne 0x14006d5e0
mov r10d, r9d
and r10d, 2
cmp r10, r9
je 0x14006d73d
movzx edx, byte [rdx + r10]
xor dl, byte [r8 + r10]
test dl, 0xdf
je 0x14006d73d
nop word cs:[rax + rax]
movzx r12d, byte [rdi + rax*2 + 0x1651]
test r12, r12
je 0x14006d730
add r12d, 0xff
mov eax, r12d
shl eax, 4
mov rsi, qword [rsp + 0x30]
cmp rsi, qword [rax + rdi + 8]
jne 0x14006d7c0
add rax, rdi
mov rax, qword [rax]
cmp rsi, 3
jbe 0x14006d746
lea rdx, [rsi - 4]
mov r8, rdx
shr r8, 2
lea rcx, [r8 + 1]
cmp rdx, 4
jb 0x14006d6d5
mov r9, rcx
shr r9, 1
xor r10d, r10d
nop dword [rax]
mov r11d, dword [rax + r10*8]
xor r11d, dword [rbp + r10*8]
test r11d, 0xdfdfdfdf
jne 0x14006d7c0
mov r11d, dword [rax + r10*8 + 4]
xor r11d, dword [rbp + r10*8 + 4]
test r11d, 0xdfdfdfdf
jne 0x14006d7c0
inc r10
cmp r9, r10
jne 0x14006d6a0
mov r9, rcx
and r9, 0xfffffffffffffffe
cmp r9, r8
ja 0x14006d704
movabs r8, 0x3ffffffffffffffe
and rcx, r8
mov r8d, dword [rax + rcx*4]
xor r8d, dword [rbp + rcx*4]
test r8d, 0xdfdfdfdf
jne 0x14006d7c0
and rdx, 0xfffffffffffffffc
lea rcx, [rdx + rbp]
add rcx, 4
add rax, rdx
add rax, 4
mov edx, esi
and edx, 3
cmp rdx, 1
jne 0x14006d752
jmp 0x14006d798
xor r12d, r12d
mov rsi, qword [rsp + 0x30]
jmp 0x14006d7c3
movzx r12d, cl
jmp 0x14006d890
mov rcx, rbp
mov rdx, rsi
cmp rdx, 1
je 0x14006d798
test rdx, rdx
je 0x14006d890
mov r8, rdx
shr r8, 1
xor r9d, r9d
nop word cs:[rax + rax]
movzx r10d, byte [rax + r9*2]
xor r10b, byte [rcx + r9*2]
test r10b, 0xdf
jne 0x14006d7c0
movzx r10d, byte [rax + r9*2 + 1]
xor r10b, byte [rcx + r9*2 + 1]
test r10b, 0xdf
jne 0x14006d7c0
inc r9
cmp r8, r9
jne 0x14006d770
mov r8d, edx
and r8d, 2
cmp r8, rdx
je 0x14006d890
movzx eax, byte [rax + r8]
xor al, byte [rcx + r8]
test al, 0xdf
je 0x14006d890
nop dword [rax]
xor r12d, r12d
movups xmmword [r15], xmm6
mov qword [r15 + 0x10], 0
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0xb8], rsi
mov rax, qword [rbx]
mov rax, qword [rax + 0x18]
lea rcx, [fcn.140070fd0]
cmp rax, rcx
je 0x14006d840
mov qword [rsp + 0x20], r15
mov rcx, rbx
mov edx, r12d
lea r8, [rsp + 0xb0]
lea r9, [rsp + 0xc0]
call rax
mov rax, qword [r15 + 0x10]
test al, 1
je 0x14006cd80
jmp 0x14006d86c
mov qword [rsp + 0x20], r15
mov rcx, rbx
mov edx, r12d
lea r8, [rsp + 0xb0]
lea r9, [rsp + 0xc0]
call fcn.140070fd0
mov rax, qword [r15 + 0x10]
test al, 1
je 0x14006cd80
cmp rax, 1
jne 0x14006cd20
cmp dword [r15], 0
je 0x14006cd80
jmp 0x14006cd20
movzx eax, r12w
cmp eax, 0xf4
jle 0x14006d8c6
cmp eax, 0x142
mov rsi, qword [rsp + 0x30]
je 0x14006da1c
cmp eax, 0x13b
je 0x14006da36
cmp eax, 0xf5
je 0x14006d977
jmp 0x14006d7c3
cmp eax, 0x3b
mov rsi, qword [rsp + 0x30]
je 0x14006d977
cmp eax, 0x46
jne 0x14006d7c3
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xd0], r15
test byte [rbx + 0x4d], 8
jne 0x14006dbff
mov rsi, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x58]
lea r14, [rdi + rsi]
mov rcx, rdi
mov rdx, r14
mov r8b, 0x2c
call fcn.1400a2010
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], rsi
test rsi, rsi
lea r8, [0x14011d500]
je 0x14006e656
inc rax
mov rcx, rdi
jmp 0x14006d94c
inc rcx
cmp rcx, r14
je 0x14006e656
movzx edx, byte [rcx]
cmp edx, 0x20
je 0x14006d940
cmp edx, 9
je 0x14006d940
cmp rcx, r14
je 0x14006e656
cmp byte [rdx + r8], 0
jne 0x14006e5d8
cmp dl, 0x2c
je 0x14006d940
jmp 0x14006e656
mov rcx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x88]
mov rdx, rsi
call fcn.140070210
test al, al
je 0x14006dace
test rsi, rsi
lea rdi, [0x14011d500]
je 0x14006d9ff
mov rcx, qword [rsp + 0x58]
lea rax, [rcx + rsi]
lea r10, [rcx + rsi]
dec r10
lea rdx, [rcx + 2]
mov r8, r10
sub r8, rcx
lea r9, [rcx + 1]
jmp 0x14006d9d1
inc rcx
inc rdx
dec r8
inc r9
cmp rcx, rax
je 0x14006d9ff
movzx r11d, byte [rcx]
cmp r11d, 0x20
je 0x14006d9c0
cmp r11d, 9
je 0x14006d9c0
cmp rcx, rax
je 0x14006d9ff
cmp byte [r11 + rdi], 0
jne 0x14006e1b6
cmp r11b, 0x2c
jne 0x14006d9ff
inc rcx
cmp rcx, rax
jne 0x14006d9b0
movups xmmword [r15], xmm6
mov qword [r15 + 0x10], 0
mov rsi, qword [rsp + 0x30]
jmp 0x14006d7cf
xor edi, edi
jmp 0x14006cea5
movups xmmword [r15], xmm6
mov qword [r15 + 0x10], 0
or byte [rbx + 0x4d], 0x10
mov r12w, 0x142
jmp 0x14006d7cf
mov eax, dword [rbx + 0x4c]
test eax, 0x800
mov rsi, qword [rsp + 0x88]
jne 0x14006db7e
test eax, 0x400
lea rdi, [0x14011d500]
jne 0x14006dca1
movups xmmword [r15], xmm6
mov qword [r15 + 0x10], 0
mov rdx, qword [rsp + 0x58]
lea rax, [rdx + rsi]
test rsi, rsi
jne 0x14006da88
jmp 0x14006dab9
inc rdx
cmp rdx, rax
je 0x14006da97
movzx ecx, byte [rdx]
cmp ecx, 0x20
je 0x14006da80
cmp ecx, 9
je 0x14006da80
jmp 0x14006da9a
mov rdx, rax
cmp rdx, rax
je 0x14006dab9
movzx ecx, byte [rdx]
cmp byte [rcx + rdi], 0
jne 0x14006de62
cmp cl, 0x2c
jne 0x14006dab9
inc rdx
cmp rdx, rax
jne 0x14006da88
xor edx, edx
xor r9d, r9d
mov r8, rax
mov rcx, rax
mov rsi, qword [rsp + 0x30]
jmp 0x14006e263
mov eax, dword [0x140154268]
mov ecx, dword [0x1401507a0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006f0c0
mov rax, qword [0x140154238]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
mov rsi, qword [rsp + 0x30]
je 0x14006db3e
mov rax, qword [0x140154230]
mov rax, qword [rax + 0x30]
lea rcx, [0x1400056a0]
cmp rax, rcx
je 0x14006db3e
lea rcx, [0x140154230]
mov edx, setsockopt
call rax
test al, al
je 0x14006de08
mov eax, 1
lea rcx, str.basic_parser.ipp
add rax, rcx
mov qword [r15], setsockopt
lea rcx, [0x140154230]
mov qword [r15 + 8], rcx
mov qword [r15 + 0x10], rax
test al, 1
je 0x14006d7cf
jmp 0x14006e702
xor edi, edi
jmp 0x14006d265
xor edi, edi
jmp 0x14006d316
mov eax, dword [0x140154268]
mov ecx, dword [0x1401507a0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006f121
mov rax, qword [0x140154238]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
mov rsi, qword [rsp + 0x30]
je 0x14006dbee
mov rax, qword [0x140154230]
mov rax, qword [rax + 0x30]
lea rcx, [0x1400056a0]
cmp rax, rcx
je 0x14006dbee
lea rcx, [0x140154230]
mov edx, setsockopt
call rax
test al, al
je 0x14006de0f
mov eax, 1
lea rcx, str.basic_parser.ipp
jmp 0x14006dd1d
mov eax, dword [0x140154268]
mov ecx, dword [0x1401507a0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006f182
mov rax, qword [0x140154238]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
je 0x14006dc6a
mov rax, qword [0x140154230]
mov rax, qword [rax + 0x30]
lea rcx, [0x1400056a0]
cmp rax, rcx
je 0x14006dc6a
lea rcx, [0x140154230]
mov edx, setsockopt
call rax
test al, al
je 0x14006de16
mov eax, 1
lea rcx, str.basic_parser.ipp
add rax, rcx
mov qword [r15], setsockopt
lea rcx, [0x140154230]
mov qword [r15 + 8], rcx
mov qword [r15 + 0x10], rax
mov r12w, 0x46
test al, 1
je 0x14006d7cf
jmp 0x14006e702
mov eax, dword [0x140154268]
mov ecx, dword [0x1401507a0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006f244
mov rax, qword [0x140154238]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
mov rsi, qword [rsp + 0x30]
je 0x14006dd11
mov rax, qword [0x140154230]
mov rax, qword [rax + 0x30]
lea rcx, [0x1400056a0]
cmp rax, rcx
je 0x14006dd11
lea rcx, [0x140154230]
mov edx, setsockopt
call rax
test al, al
je 0x14006e0a0
mov eax, 1
lea rcx, str.basic_parser.ipp
add rax, rcx
mov qword [r15], setsockopt
lea rcx, [0x140154230]
mov qword [r15 + 8], rcx
mov qword [r15 + 0x10], rax
mov r12w, 0x13b
test al, 1
je 0x14006d7cf
jmp 0x14006e702
mov r14, rbx
mov rbx, qword [rsp + 0x38]
mov eax, dword [0x140154268]
mov ecx, dword [0x1401507a0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006f05f
mov rax, qword [0x140154238]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
mov r15, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x30]
je 0x14006ddc6
mov rax, qword [0x140154230]
mov rax, qword [rax + 0x30]
lea rcx, [0x1400056a0]
cmp rax, rcx
je 0x14006ddc6
lea rcx, [0x140154230]
mov edx, 3
call rax
test al, al
je 0x14006de04
mov edi, 1
lea rax, str.basic_parser.ipp
add rdi, rax
mov qword [r15], 3
lea rax, [0x140154230]
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rdi
mov qword [rsp + 0x48], r14
mov r14, qword [rsp + 0x50]
test dil, 1
jne 0x14006d341
jmp 0x14006d355
xor edi, edi
jmp 0x14006ddcb
xor eax, eax
jmp 0x14006db43
xor eax, eax
jmp 0x14006dbf3
xor eax, eax
jmp 0x14006dc6f
lea rcx, [rsp + 0x60]
mov edx, setsockopt
call fcn.14006bff0
mov rax, qword [rsp + 0x70]
mov edi, eax
and edi, 1
lea rcx, str.basic_parser.ipp
add rdi, rcx
cmp rax, 2
cmovb rdi, rax
movups xmm0, xmmword [rsp + 0x60]
mov r15, qword [rsp + 0x40]
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], rdi
xor r14d, r14d
jmp 0x14006e174
lea rcx, [rdx + 1]
cmp rcx, rax
je 0x14006e11c
mov r8, rdx
not r8
lea r9, [r8 + rax]
cmp r9, 2
jb 0x14006deb1
mov r10, r9
shr r10, 1
lea rcx, [rdx + 2]
movzx r11d, byte [rcx - 1]
cmp byte [r11 + rdi], 0
je 0x14006e250
movzx r11d, byte [rcx]
cmp byte [r11 + rdi], 0
je 0x14006e253
add rcx, 2
dec r10
jne 0x14006de89
mov rcx, r9
and rcx, 0xfffffffffffffffe
cmp rcx, r9
jne 0x14006e17e
test r9, r9
je 0x14006e17e
mov rcx, rax
jmp 0x14006e253
lea rcx, [rsp + 0x60]
mov edx, 3
call fcn.14006bff0
mov rax, qword [rsp + 0x70]
mov edi, eax
and edi, 1
lea rcx, str.basic_parser.ipp
add rdi, rcx
cmp rax, 2
cmovb rdi, rax
movups xmm0, xmmword [rsp + 0x60]
mov r15, qword [rsp + 0x40]
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], rdi
jmp 0x14006e16f
mov qword [rsp + 0xd8], 0
sub rsi, rbp
cmp rsi, 0x1000
ja 0x14006e0c8
lea rcx, [rsp + 0xe0]
mov rdx, r12
mov rdi, r8
mov r8, rsi
call fcn.1401053c0
mov qword [rsp + 0xd8], rsi
add r14, 2
cmp r14, rdi
mov r15, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x30]
ja 0x14006e134
mov rdx, rdi
mov r12, rbx
jmp 0x14006df7d
lea r14, [rax + 1]
mov r12, rax
cmp r14, rdx
ja 0x14006e12e
mov rax, r14
movzx ecx, byte [r12]
cmp ecx, 0x20
je 0x14006df6d
cmp ecx, 9
je 0x14006df6d
mov rcx, r12
lea r8, [rsp + 0x98]
mov r9, r15
call fcn.14006fcb0
mov r14, rax
mov rdi, qword [r15 + 0x10]
test dil, 1
je 0x14006dfc3
cmp rdi, 1
jne 0x14006e16f
cmp dword [r15], 0
jne 0x14006e16f
test r14, r14
je 0x14006ee64
lea rbx, [r14 + 1]
cmp rbx, qword [rsp + 0x90]
ja 0x14006eea4
mov rax, qword [rsp + 0x98]
mov rbp, r12
cmp rax, r12
jne 0x14006dff8
jmp 0x14006e00e
dec rax
cmp rax, r12
je 0x14006e00b
movzx ecx, byte [rax - 1]
cmp ecx, 0x20
je 0x14006dff0
cmp ecx, 9
je 0x14006dff0
mov rbp, rax
jmp 0x14006e00e
mov rbp, r12
mov qword [rsp + 0x98], rbp
cmp r12, rbp
je 0x14006e074
mov rax, qword [rsp + 0xd8]
cmp rax, 0x1000
je 0x14006ee42
lea rcx, [rax + 1]
mov qword [rsp + 0xd8], rcx
mov byte [rsp + rax + 0xe0], 0x20
sub rbp, r12
mov edx, 0xfff
sub rdx, rax
cmp rbp, rdx
ja 0x14006ee42
add rcx, rsp
add rcx, 0xe0
mov rdx, r12
mov r8, rbp
call fcn.1401053c0
add qword [rsp + 0xd8], rbp
movzx eax, byte [r14]
cmp eax, 9
je 0x14006e086
cmp eax, 0x20
jne 0x14006eed9
add r14, 2
mov rdx, qword [rsp + 0x90]
cmp r14, rdx
jbe 0x14006df68
jmp 0x14006e134
xor eax, eax
jmp 0x14006dd16
mov r15, qword [rsp + 0x40]
jmp 0x14006e174
sub rsi, rbp
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x88], rsi
mov r15, qword [rsp + 0x40]
jmp 0x14006e108
lea rcx, [rsp + 0x60]
mov edx, 8
call fcn.14006bff0
mov rax, qword [rsp + 0x70]
mov edi, eax
and edi, 1
lea rcx, str.basic_parser.ipp
add rdi, rcx
cmp rax, 2
cmovb rdi, rax
movups xmm0, xmmword [rsp + 0x60]
mov r15, qword [rsp + 0x40]
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], rdi
mov r14, rbx
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x30]
jmp 0x14006ddeb
mov rcx, rax
mov r8, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x30]
jmp 0x14006e25d
dec r14
mov rbx, r14
lea rcx, [rsp + 0x60]
mov edx, 3
call fcn.14006bff0
mov rax, qword [rsp + 0x70]
mov edi, eax
and edi, 1
lea rcx, str.basic_parser.ipp
add rdi, rcx
cmp rax, 2
cmovb rdi, rax
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], rdi
mov r14, rbx
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x48]
jmp 0x14006ddeb
mov r9, qword [rsp + 0x58]
add r9, rsi
add r8, r9
sub r8, rcx
add rcx, rdx
inc rcx
mov rsi, qword [rsp + 0x30]
movzx r9d, byte [rcx]
cmp byte [r9 + rdi], 0
je 0x14006e258
inc rcx
dec r8
jne 0x14006e197
mov rcx, rax
jmp 0x14006e258
lea r10, [rcx + 1]
cmp r10, rax
je 0x14006e234
mov r10, qword [rsp + 0x58]
lea r11, [r10 + rsi]
mov r10, rcx
not r10
add r10, r11
cmp r10, 2
jb 0x14006e201
mov r11, r8
shr r11, 1
movzx esi, byte [rdx - 1]
cmp byte [rsi + rdi], 0
je 0x14006e8cf
movzx esi, byte [rdx]
cmp byte [rsi + rdi], 0
je 0x14006e8d2
add rdx, 2
dec r11
jne 0x14006e1dd
test r10b, 1
jne 0x14006e20c
test r10, r10
jne 0x14006e234
mov rdx, r8
and rdx, 0xfffffffffffffffe
and r8d, 1
add r9, rdx
mov rdx, r9
movzx r9d, byte [rdx]
cmp byte [r9 + rdi], 0
je 0x14006e8d2
inc rdx
dec r8
jne 0x14006e21d
mov r9, rax
sub r9, rcx
mov rdx, rax
mov r8d, dword [rbx + 0x4c]
cmp r9, 5
jne 0x14006e8e6
jmp 0x14006ec44
dec rcx
mov rsi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x58]
mov r9, rcx
sub r9, rdx
mov r12w, 0x13b
cmp rax, rcx
jne 0x14006e276
cmp rax, r8
je 0x14006d7cf
cmp r9, 7
jne 0x14006e3c4
movzx r9d, byte [rdx]
cmp r9b, 0x63
jne 0x14006e2ea
movzx r9d, byte [rdx + 1]
cmp r9b, 0x68
jne 0x14006e2fe
movzx r9d, byte [rdx + 2]
cmp r9b, 0x75
jne 0x14006e313
movzx r9d, byte [rdx + 3]
cmp r9b, 0x6e
jne 0x14006e328
movzx r9d, byte [rdx + 4]
cmp r9b, 0x6b
jne 0x14006e33d
movzx r9d, byte [rdx + 5]
cmp r9b, 0x65
jne 0x14006e352
movzx r9d, byte [rdx + 6]
cmp r9b, 0x64
je 0x14006e492
add rdx, 7
mov bl, 0x64
xor r10d, r10d
lea r11, [0x1401209e7]
jmp 0x14006e365
inc rdx
mov bl, 0x63
mov r10d, 6
lea r11, [0x1401209e1]
jmp 0x14006e365
add rdx, 2
mov bl, 0x68
mov r10d, 5
lea r11, [0x1401209e2]
jmp 0x14006e365
add rdx, 3
mov bl, 0x75
mov r10d, 4
lea r11, [0x1401209e3]
jmp 0x14006e365
add rdx, 4
mov bl, WSAGetLastError
mov r10d, 3
lea r11, [0x1401209e4]
jmp 0x14006e365
add rdx, 5
mov bl, 0x6b
mov r10d, 2
lea r11, [0x1401209e5]
jmp 0x14006e365
add rdx, 6
mov bl, 0x65
mov r10d, 1
lea r11, [0x1401209e6]
inc r10
xor esi, esi
nop word [rax + rax]
movsx edi, bl
lea ebx, [rdi - 0x41]
lea r14d, [rdi + 0x20]
cmp ebx, 0x1a
movzx edi, dil
movzx ebx, r14b
cmovae ebx, edi
movsx r9d, r9b
lea edi, [r9 - 0x41]
lea r14d, [r9 + 0x20]
cmp edi, 0x1a
movzx r9d, r9b
movzx edi, r14b
mov r14, qword [rsp + 0x50]
cmovae edi, r9d
cmp bl, dil
jne 0x14006e3c4
movzx ebx, byte [r11 + rsi]
movzx r9d, byte [rdx + rsi]
inc rsi
cmp r10, rsi
jne 0x14006e370
jmp 0x14006e492
cmp rcx, rax
je 0x14006e430
cmp rcx, r8
sete r8b
mov rdx, rcx
mov rbx, qword [rsp + 0x38]
lea r11, [0x14011d500]
mov rsi, qword [rsp + 0x30]
jmp 0x14006e3f8
inc rdx
cmp rdx, rax
je 0x14006e40a
movzx r9d, byte [rdx]
cmp r9d, 0x20
je 0x14006e3f0
cmp r9d, 9
je 0x14006e3f0
jmp 0x14006e40d
mov rdx, rax
cmp rdx, rax
je 0x14006e482
movzx r9d, byte [rdx]
cmp byte [r9 + r11], 0
jne 0x14006e44a
cmp r9b, 0x2c
jne 0x14006e482
inc rdx
mov r8b, 1
cmp rdx, rax
jne 0x14006e3f8
jmp 0x14006e482
xor r9d, r9d
xor edx, edx
mov r8, rax
mov rcx, rax
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
jmp 0x14006e268
test r8b, 1
je 0x14006e482
mov r10, rdx
inc r10
cmp r10, rax
je 0x14006e46e
movzx r8d, byte [r10]
cmp byte [r8 + r11], 0
je 0x14006e471
inc r10
cmp r10, rax
jne 0x14006e45b
mov r10, rax
mov r9, r10
sub r9, rdx
mov r8, rcx
mov rcx, r10
jmp 0x14006e268
xor r9d, r9d
xor edx, edx
mov r8, rax
mov rcx, rax
jmp 0x14006e268
cmp rax, rcx
jne 0x14006e4ab
cmp rax, r8
jne 0x14006e4ab
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
jmp 0x14006d7cf
mov r9, rax
mov r10, rax
cmp rax, rcx
mov rbx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x88]
lea rsi, [0x14011d500]
mov rdi, qword [rsp + 0x58]
je 0x14006e524
cmp rcx, r8
sete r8b
mov rdx, rcx
jmp 0x14006e4e8
inc rdx
cmp rdx, rax
je 0x14006e4fa
movzx r9d, byte [rdx]
cmp r9d, 0x20
je 0x14006e4e0
cmp r9d, 9
je 0x14006e4e0
jmp 0x14006e4fd
mov rdx, rax
cmp rdx, rax
je 0x14006e51e
movzx r9d, byte [rdx]
cmp byte [r9 + rsi], 0
jne 0x14006e54c
cmp r9b, 0x2c
jne 0x14006e51e
inc rdx
mov r8b, 1
cmp rdx, rax
jne 0x14006e4e8
mov r9, rax
mov r10, rax
cmp rax, r9
mov rsi, qword [rsp + 0x30]
jne 0x14006d7cf
cmp rax, r10
jne 0x14006d7cf
mov qword [rbx + 0x18], 0
or byte [rbx + 0x4d], 8
jmp 0x14006d7cf
mov r9, rax
mov r10, rax
test r8b, 1
je 0x14006e524
lea r8, [rdx + 1]
cmp r8, rax
je 0x14006e5cd
mov r8, rdx
not r8
add r8, rdi
add r8, r11
cmp r8, 2
jb 0x14006e5a1
mov r10, r8
shr r10, 1
lea r9, [rdx + 2]
movzx r11d, byte [r9 - 1]
cmp byte [r11 + rsi], 0
je 0x14006ee13
movzx r11d, byte [r9]
cmp byte [r11 + rsi], 0
je 0x14006e5d0
add r9, 2
dec r10
jne 0x14006e57d
mov r9, r8
and r9, 0xfffffffffffffffe
cmp r9, r8
jne 0x14006e5b2
test r8, r8
jne 0x14006e5cd
sub r8, r9
add r9, rdx
inc r9
movzx edx, byte [r9]
cmp byte [rdx + rsi], 0
je 0x14006e5d0
inc r9
dec r8
jne 0x14006e5bb
mov r9, rax
mov r10, rcx
jmp 0x14006e524
mov rcx, rdi
mov rdx, rsi
mov rbx, rax
call fcn.140070210
test al, al
je 0x14006e656
mov rax, qword [rsp + 0x38]
mov edi, dword [rax + 0x4c]
mov ecx, 0x400
and edi, ecx
mov rsi, qword [rax + 0x20]
lea r14, [rsp + 0x98]
mov rcx, r14
lea rdx, [rsp + 0x60]
call fcn.140070430
mov rax, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
cmp r14, rax
jne 0x14006e71f
test r8, r8
jne 0x14006e71f
mov rdx, rbx
test rdx, rdx
mov r14, qword [rsp + 0x50]
je 0x14006ee1b
lea rcx, [rsp + 0xa8]
call fcn.1400705c0
mov rbx, qword [rsp + 0x38]
jmp 0x14006ee38
mov eax, dword [0x140154268]
mov ecx, dword [0x1401507a0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006f1e3
mov rax, qword [0x140154238]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
je 0x14006e6cc
mov rax, qword [0x140154230]
mov rax, qword [rax + 0x30]
lea rcx, [0x1400056a0]
cmp rax, rcx
je 0x14006e6cc
lea rcx, [0x140154230]
mov edx, setsockopt
call rax
test al, al
je 0x14006e71b
mov eax, 1
lea rcx, str.basic_parser.ipp
add rax, rcx
mov qword [r15], setsockopt
lea rcx, [0x140154230]
mov qword [r15 + 8], rcx
mov qword [r15 + 0x10], rax
mov rax, qword [r15 + 0x10]
mov r12w, 0x46
test al, 1
je 0x14006d7cf
cmp rax, 1
jne 0x14006cd20
cmp dword [r15], 0
je 0x14006d7cf
jmp 0x14006cd20
xor eax, eax
jmp 0x14006e6d1
shr edi, 0xa
mov rcx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x78]
mov rdx, rbx
test r10, r10
je 0x14006e8b3
xor r11d, r11d
xor r9d, r9d
movzx ebx, byte [rcx + r11]
lea r14d, [rbx - 0x3a]
cmp r14b, 0xf6
jb 0x14006e8b3
movabs r14, 0x1999999999999999
cmp r9, r14
ja 0x14006e8b3
add r9, r9
lea r14, [r9 + r9*4]
add rbx, 0xffffffffffffffd0
mov r9, rbx
add r9, r14
jb 0x14006e8b3
inc r11
cmp r10, r11
jne 0x14006e73e
test dil, dil
je 0x14006e792
cmp r9, rsi
je 0x14006e795
jmp 0x14006ef8b
mov rsi, r9
mov rcx, qword [rax]
mov r9, qword [rax + 8]
add r9, rcx
lea r10, [rsp + 0x70]
movups xmmword [r10], xmm6
cmp r8, r9
je 0x14006e80e
cmp r8, rcx
sete r10b
mov rcx, r8
lea rdi, [0x14011d500]
jmp 0x14006e7d0
inc r8
mov qword [rsp + 0x68], r8
inc rcx
cmp r8, r9
je 0x14006e80e
movzx r11d, byte [r8]
cmp r11d, 0x20
je 0x14006e7c0
cmp r11d, 9
je 0x14006e7c0
cmp r8, r9
je 0x14006e80e
cmp byte [r11 + rdi], 0
jne 0x14006e844
cmp r11b, 0x2c
jne 0x14006e878
inc r8
mov qword [rsp + 0x68], r8
mov r10b, 1
mov rcx, r8
cmp r8, r9
mov r15, qword [rsp + 0x40]
jne 0x14006e7d0
mov qword [rsp + 0x68], 0
xor r10d, r10d
xor ecx, ecx
xor r8d, r8d
dec rdx
mov dil, 1
lea r9, [rsp + 0x98]
cmp r9, rax
jne 0x14006e72f
test r8, r8
jne 0x14006e72f
jmp 0x14006e631
test r10b, 1
je 0x14006e878
inc r8
mov qword [rsp + 0x68], r8
cmp r8, r9
je 0x14006e896
lea r11, [0x14011d500]
movzx r10d, byte [r8]
cmp byte [r10 + r11], 0
je 0x14006e893
inc r8
mov qword [rsp + 0x68], r8
cmp r8, r9
jne 0x14006e85e
jmp 0x14006e896
mov qword [rsp + 0x68], 0
mov byte [rsp + 0x80], 1
xor r10d, r10d
xor ecx, ecx
xor r8d, r8d
jmp 0x14006e8a9
mov r9, r8
mov r10, r9
sub r10, rcx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], r10
mov r8, r9
mov r15, qword [rsp + 0x40]
jmp 0x14006e81f
lea rcx, [rsp + 0xa8]
call fcn.1400705c0
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x38]
jmp 0x14006ee38
dec rdx
mov r9, rdx
sub r9, rcx
mov r8d, dword [rbx + 0x4c]
cmp r9, 5
je 0x14006ec44
cmp r9, 7
je 0x14006e9aa
cmp r9, 0xa
jne 0x14006ed58
movzx r9d, byte [rcx]
cmp r9b, 0x6b
jne 0x14006ea3f
movzx r9d, byte [rcx + 1]
mov r10b, 0x65
cmp r9b, 0x65
jne 0x14006ea6f
movzx r9d, byte [rcx + 2]
cmp r9b, 0x65
jne 0x14006ea9d
movzx r9d, byte [rcx + 3]
cmp r9b, 0x70
jne 0x14006eac8
movzx r9d, byte [rcx + 4]
cmp r9b, 0x2d
jne 0x14006eaf6
movzx r9d, byte [rcx + 5]
cmp r9b, 0x61
jne 0x14006eb86
movzx r9d, byte [rcx + 6]
cmp r9b, 0x6c
jne 0x14006eb9c
movzx r9d, byte [rcx + 7]
cmp r9b, 0x69
jne 0x14006ebb2
movzx r9d, byte [rcx + 8]
cmp r9b, 0x76
jne 0x14006ebc8
movzx r9d, byte [rcx + 9]
cmp r9b, 0x65
mov r15, qword [rsp + 0x40]
je 0x14006ec38
add rcx, 0xa
xor r11d, r11d
lea rsi, [0x1401208d5]
jmp 0x14006ebe1
movzx r9d, byte [rcx]
cmp r9b, 0x75
jne 0x14006ea28
movzx r9d, byte [rcx + 1]
cmp r9b, 0x70
jne 0x14006ea57
movzx r9d, byte [rcx + 2]
cmp r9b, 0x67
jne 0x14006ea85
movzx r9d, byte [rcx + 3]
cmp r9b, 0x72
jne 0x14006eab3
movzx r9d, byte [rcx + 4]
cmp r9b, 0x61
jne 0x14006eae1
movzx r9d, byte [rcx + 5]
cmp r9b, 0x64
jne 0x14006eb0f
movzx r9d, byte [rcx + 6]
cmp r9b, 0x65
mov r15, qword [rsp + 0x40]
je 0x14006eb7a
add rcx, 7
mov bl, 0x65
xor r10d, r10d
lea r11, [0x1401208dd]
jmp 0x14006eb27
inc rcx
mov bl, 0x75
mov r10d, 6
lea r11, [0x1401208d7]
jmp 0x14006eb27
inc rcx
mov r10b, 0x6b
mov r11d, 9
lea rsi, [0x1401208cc]
jmp 0x14006ebe1
add rcx, 2
mov bl, reloc.WS2_32.dll_WSASetLastError
mov r10d, 5
lea r11, [0x1401208d8]
jmp 0x14006eb27
add rcx, 2
mov r11d, 8
lea rsi, [0x1401208cd]
jmp 0x14006ebe1
add rcx, 3
mov bl, 0x67
mov r10d, 4
lea r11, [0x1401208d9]
jmp 0x14006eb27
add rcx, 3
mov r11d, 7
lea rsi, [0x1401208ce]
jmp 0x14006ebe1
add rcx, 4
mov bl, WSAStartup
mov r10d, 3
lea r11, [0x1401208da]
jmp 0x14006eb27
add rcx, 4
mov r10b, reloc.WS2_32.dll_WSASetLastError
mov r11d, 6
lea rsi, [0x1401208cf]
jmp 0x14006ebe1
add rcx, 5
mov bl, 0x61
mov r10d, 2
lea r11, [0x1401208db]
jmp 0x14006eb22
add rcx, 5
mov r10b, 0x2d
mov r11d, 5
lea rsi, [0x1401208d0]
jmp 0x14006ebdc
add rcx, 6
mov bl, 0x64
mov r10d, 1
lea r11, [0x1401208dc]
mov r15, qword [rsp + 0x40]
inc r10
xor esi, esi
movsx edi, bl
lea ebx, [rdi - 0x41]
lea r14d, [rdi + 0x20]
cmp ebx, 0x1a
movzx edi, dil
movzx ebx, r14b
cmovae ebx, edi
movsx r9d, r9b
lea edi, [r9 - 0x41]
lea r14d, [r9 + 0x20]
cmp edi, 0x1a
movzx r9d, r9b
movzx edi, r14b
cmovae edi, r9d
cmp bl, dil
jne 0x14006ed47
movzx ebx, byte [r11 + rsi]
movzx r9d, byte [rcx + rsi]
inc rsi
cmp r10, rsi
jne 0x14006eb2c
or r8d, 0x100
jmp 0x14006ed37
add rcx, 6
mov r10b, 0x61
mov r11d, 4
lea rsi, [0x1401208d1]
jmp 0x14006ebdc
add rcx, 7
mov r10b, 0x6c
mov r11d, 3
lea rsi, [0x1401208d2]
jmp 0x14006ebdc
add rcx, 8
mov r10b, 0x69
mov r11d, 2
lea rsi, [0x1401208d3]
jmp 0x14006ebdc
add rcx, 9
mov r10b, 0x76
mov r11d, 1
lea rsi, [0x1401208d4]
mov r15, qword [rsp + 0x40]
inc r11
xor edi, edi
movsx r10d, r10b
lea ebx, [r10 - 0x41]
lea r14d, [r10 + 0x20]
cmp ebx, 0x1a
movzx r10d, r10b
movzx ebx, r14b
cmovae ebx, r10d
movsx r9d, r9b
lea r10d, [r9 - 0x41]
lea r14d, [r9 + 0x20]
cmp r10d, 0x1a
movzx r9d, r9b
movzx r10d, r14b
cmovae r10d, r9d
cmp bl, r10b
jne 0x14006ed47
movzx r10d, byte [rsi + rdi]
movzx r9d, byte [rcx + rdi]
inc rdi
cmp r11, rdi
jne 0x14006ebe6
or r8d, 0x200
jmp 0x14006ed37
movzx r9d, byte [rcx]
cmp r9b, 0x63
jne 0x14006ec90
movzx r9d, byte [rcx + 1]
cmp r9b, 0x6c
jne 0x14006eca4
movzx r9d, byte [rcx + 2]
cmp r9b, 0x6f
jne 0x14006ecb9
movzx r9d, byte [rcx + 3]
cmp r9b, 0x73
jne 0x14006ecce
movzx r9d, byte [rcx + 4]
cmp r9b, 0x65
je 0x14006ed30
add rcx, 5
mov bl, 0x65
xor r10d, r10d
lea r11, [0x14011c396]
jmp 0x14006ece1
inc rcx
mov bl, 0x63
mov r10d, 4
lea r11, [0x14011c392]
jmp 0x14006ece1
add rcx, 2
mov bl, 0x6c
mov r10d, 3
lea r11, [0x14011c393]
jmp 0x14006ece1
add rcx, 3
mov bl, reloc.WS2_32.dll_WSAGetLastError
mov r10d, 2
lea r11, [0x14011c394]
jmp 0x14006ece1
add rcx, 4
mov bl, reloc.WS2_32.dll_WSAStartup
mov r10d, 1
lea r11, [0x14011c395]
inc r10
xor esi, esi
movsx edi, bl
lea ebx, [rdi - 0x41]
lea r14d, [rdi + 0x20]
cmp ebx, 0x1a
movzx edi, dil
movzx ebx, r14b
cmovae ebx, edi
movsx r9d, r9b
lea edi, [r9 - 0x41]
lea r14d, [r9 + 0x20]
cmp edi, 0x1a
movzx r9d, r9b
movzx edi, r14b
cmovae edi, r9d
cmp bl, dil
jne 0x14006ed47
movzx ebx, byte [r11 + rsi]
movzx r9d, byte [rcx + rsi]
inc rsi
cmp r10, rsi
jne 0x14006ece6
or r8d, 0x80
mov rbx, qword [rsp + 0x38]
mov dword [rbx + 0x4c], r8d
mov r14, qword [rsp + 0x50]
jmp 0x14006ed51
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x38]
lea rdi, [0x14011d500]
cmp rdx, rax
je 0x14006d9ff
cmp rdx, qword [rsp + 0x58]
sete r9b
mov rcx, rdx
jmp 0x14006ed7e
inc rcx
inc rdx
cmp rcx, rax
je 0x14006d9ff
movzx r10d, byte [rcx]
cmp r10d, 0x20
je 0x14006ed6f
cmp r10d, 9
je 0x14006ed6f
cmp rcx, rax
je 0x14006d9ff
cmp byte [r10 + rdi], 0
jne 0x14006edbb
cmp r10b, 0x2c
jne 0x14006d9ff
inc rcx
mov r9b, 1
mov rdx, rcx
cmp rcx, rax
jne 0x14006ed7e
jmp 0x14006d9ff
test r9b, 1
je 0x14006d9ff
lea r9, [rcx + 1]
mov r10, rax
cmp r9, rax
je 0x14006edec
movzx r10d, byte [r9]
cmp byte [r10 + rdi], 0
je 0x14006ede9
inc r9
cmp r9, rax
jne 0x14006edd1
mov r10, rax
jmp 0x14006edec
mov r10, r9
mov r9, r10
sub r9, rdx
mov rdx, r10
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x38]
cmp r9, 5
jne 0x14006e8e6
jmp 0x14006ec44
dec r9
jmp 0x14006e5d0
movups xmmword [r15], xmm6
mov qword [r15 + 0x10], 0
mov rbx, qword [rsp + 0x38]
mov qword [rbx + 0x18], rsi
mov qword [rbx + 0x20], rsi
or byte [rbx + 0x4d], 4
mov rsi, qword [rsp + 0x30]
jmp 0x14006e6f1
lea rcx, [rsp + 0x60]
mov edx, 8
call fcn.14006bff0
mov rax, qword [rsp + 0x70]
mov edi, eax
and edi, 1
lea rcx, str.basic_parser.ipp
jmp 0x14006eec4
lea rcx, [rsp + 0x60]
mov edx, setsockopt
call fcn.14006bff0
mov rax, qword [rsp + 0x70]
mov edi, eax
and edi, 1
lea rcx, str.basic_parser.ipp
add rdi, rcx
cmp rax, 2
cmovb rdi, rax
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], rdi
xor r14d, r14d
jmp 0x14006e16f
lea rcx, [rsp + 0x60]
mov edx, 3
call fcn.14006bff0
mov rax, qword [rsp + 0x70]
mov edi, eax
and edi, 1
lea rcx, str.basic_parser.ipp
add rdi, rcx
cmp rax, 2
cmovb rdi, rax
movups xmm0, xmmword [rsp + 0x60]
jmp 0x14006df07
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x58], rax
jmp 0x14006e16f
lea rcx, [0x140158108]
call fcn.1400a4684
cmp dword [0x140158108], 0xffffffff
jne 0x14006d37a
call fcn.14006fec0
lea rcx, [0x140158108]
call fcn.1400a4738
jmp 0x14006d37a
lea rcx, [0x140154268]
call fcn.1400a4684
cmp dword [0x140154268], 0xffffffff
jne 0x14006ce45
movabs rax, 0x964627da815bf210
mov qword [0x140154238], rax
movups xmmword [0x140154240], xmm6
movups xmmword [0x140154250], xmm6
mov dword [0x140154260], 0
lea rax, [0x14011cb80]
mov qword [0x140154230], rax
lea rcx, [0x140154268]
call fcn.1400a4738
jmp 0x14006ce45
lea rcx, [rsp + 0xd0]
call fcn.1400706c0
jmp 0x14006e8c0
lea rcx, [0x140154268]
call fcn.1400a4684
cmp dword [0x140154268], 0xffffffff
jne 0x14006d21a
movabs rax, 0x964627da815bf210
mov qword [0x140154238], rax
movups xmmword [0x140154240], xmm6
movups xmmword [0x140154250], xmm6
mov dword [0x140154260], 0
lea rax, [0x14011cb80]
mov qword [0x140154230], rax
lea rcx, [0x140154268]
call fcn.1400a4738
jmp 0x14006d21a
lea rcx, [0x140154268]
call fcn.1400a4684
cmp dword [0x140154268], 0xffffffff
jne 0x14006d2c6
movabs rax, 0x964627da815bf210
mov qword [0x140154238], rax
movups xmmword [0x140154240], xmm6
movups xmmword [0x140154250], xmm6
mov dword [0x140154260], 0
lea rax, [0x14011cb80]
mov qword [0x140154230], rax
lea rcx, [0x140154268]
call fcn.1400a4738
jmp 0x14006d2c6
lea rcx, [0x140154268]
call fcn.1400a4684
cmp dword [0x140154268], 0xffffffff
jne 0x14006dd75
movabs rax, 0x964627da815bf210
mov qword [0x140154238], rax
movups xmmword [0x140154240], xmm6
movups xmmword [0x140154250], xmm6
mov dword [0x140154260], 0
lea rax, [0x14011cb80]
mov qword [0x140154230], rax
lea rcx, [0x140154268]
call fcn.1400a4738
jmp 0x14006dd75
lea rcx, [0x140154268]
call fcn.1400a4684
cmp dword [0x140154268], 0xffffffff
jne 0x14006daf3
movabs rax, 0x964627da815bf210
mov qword [0x140154238], rax
movups xmmword [0x140154240], xmm6
movups xmmword [0x140154250], xmm6
mov dword [0x140154260], 0
lea rax, [0x14011cb80]
mov qword [0x140154230], rax
lea rcx, [0x140154268]
call fcn.1400a4738
jmp 0x14006daf3
lea rcx, [0x140154268]
call fcn.1400a4684
cmp dword [0x140154268], 0xffffffff
jne 0x14006dba3
movabs rax, 0x964627da815bf210
mov qword [0x140154238], rax
movups xmmword [0x140154240], xmm6
movups xmmword [0x140154250], xmm6
mov dword [0x140154260], 0
lea rax, [0x14011cb80]
mov qword [0x140154230], rax
lea rcx, [0x140154268]
call fcn.1400a4738
jmp 0x14006dba3
lea rcx, [0x140154268]
call fcn.1400a4684
cmp dword [0x140154268], 0xffffffff
jne 0x14006dc24
movabs rax, 0x964627da815bf210
mov qword [0x140154238], rax
movups xmmword [0x140154240], xmm6
movups xmmword [0x140154250], xmm6
mov dword [0x140154260], 0
lea rax, [0x14011cb80]
mov qword [0x140154230], rax
lea rcx, [0x140154268]
call fcn.1400a4738
jmp 0x14006dc24
lea rcx, [0x140154268]
call fcn.1400a4684
cmp dword [0x140154268], 0xffffffff
jne 0x14006e67b
movabs rax, 0x964627da815bf210
mov qword [0x140154238], rax
movups xmmword [0x140154240], xmm6
movups xmmword [0x140154250], xmm6
mov dword [0x140154260], 0
lea rax, [0x14011cb80]
mov qword [0x140154230], rax
lea rcx, [0x140154268]
call fcn.1400a4738
jmp 0x14006e67b
lea rcx, [0x140154268]
call fcn.1400a4684
cmp dword [0x140154268], 0xffffffff
jne 0x14006dcc6
movabs rax, 0x964627da815bf210
mov qword [0x140154238], rax
movups xmmword [0x140154240], xmm6
movups xmmword [0x140154250], xmm6
mov dword [0x140154260], 0
lea rax, [0x14011cb80]
mov qword [0x140154230], rax
lea rcx, [0x140154268]
call fcn.1400a4738
jmp 0x14006dcc6
xor eax, eax
jmp 0x14006cd00
cmp byte [rdi + 1], 0xa
je 0x14006f342
mov eax, dword [0x140154268]
mov ecx, dword [0x1401507a0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006f3b2
mov rax, qword [0x140154238]
shr rax, 1
movabs rcx, 0x595588bd12bf6fe8
cmp rax, rcx
je 0x14006f31d
mov rax, qword [0x140154230]
mov rax, qword [rax + 0x30]
lea rcx, [0x1400056a0]
cmp rax, rcx
je 0x14006f31d
lea rcx, [0x140154230]
mov edx, listen
call rax
test al, al
je 0x14006f34a
mov eax, 1
lea rcx, str.basic_parser.ipp
add rcx, rax
mov qword [r15], listen
lea rax, [0x140154230]
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rcx
mov qword [r14], rsi
jmp 0x14006cd20
xor eax, eax
jmp 0x14006f322
lea rcx, [0x140154268]
call fcn.1400a4684
cmp dword [0x140154268], 0xffffffff
jne 0x14006ccb5
movabs rax, 0x964627da815bf210
mov qword [0x140154238], rax
xorps xmm0, xmm0
movups xmmword [0x140154240], xmm0
movups xmmword [0x140154250], xmm0
mov dword [0x140154260], 0
lea rax, [0x14011cb80]
mov qword [0x140154230], rax
lea rcx, [0x140154268]
call fcn.1400a4738
jmp 0x14006ccb5
lea rcx, [0x140154268]
call fcn.1400a4684
cmp dword [0x140154268], 0xffffffff
jne 0x14006f2db
movabs rax, 0x964627da815bf210
mov qword [0x140154238], rax
xorps xmm0, xmm0
movups xmmword [0x140154240], xmm0
movups xmmword [0x140154250], xmm0
mov dword [0x140154260], 0
lea rax, [0x14011cb80]
mov qword [0x140154230], rax
lea rcx, [0x140154268]
call fcn.1400a4738
jmp 0x14006f2db