Function at 0x140035e20
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x170]
sub rsp, 0x270
movaps xmmword [rsp + 0x260], xmm6
mov rax, qword [0x1400fec00]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov r12, rdx
mov qword [rbp - 0x70], rdx
mov r13, rcx
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x48], rcx
mov dword [rsp + 0x50], 1
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
xor edi, edi
mov qword [rcx + 0x10], rdi
mov qword [rcx + 0x18], send
mov byte [rcx], dil
mov dword [rsp + 0x50], 1
mov rcx, qword [rdx + 8]
cmp qword [rdx], rcx
jne 0x140035ea3
mov dword [rsp + 0x50], edi
jmp 0x1400360d5
movabs rax, 0x2bf09c0537280938
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
movabs rax, 0x8e9f3413d369e1ab
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
movabs rsi, 0x449cc068564d7d6b
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
movabs rbx, 0x8ef95065fd0580c8
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x108], rax
movdqa xmm0, xmmword [rbp - 0x40]
xorps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp - 0x40], xmm0
lea rax, [rbp + 0x130]
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x40]
mov qword [rbp + 0x100], rax
lea rcx, [rbp - 0x40]
mov r14, 0xffffffffffffffff
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140035f40
mov qword [rbp + 0x108], rax
movaps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x110], xmm0
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x130]
call fcn.14004bec0
mov eax, 3
mov dword [rsp + 0x50], eax
and eax, 0xfffffffd
mov dword [rsp + 0x50], eax
lea r8, [rbp + 0x130]
lea rdx, [0x1400fef30]
lea rcx, [rbp - 0x10]
call fcn.14002d230
nop
mov rdx, qword [rbp + 0x148]
cmp rdx, 7
jbe 0x140035fe0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140035fdb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037404
call fcn.1400b3f70
movdqa xmm6, xmmword [0x1400e52d0]
movdqu xmmword [rbp + 0x140], xmm6
mov word [rbp + 0x130], di
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x40]
call fcn.14002e510
movsd xmm0, qword [rax]
movsd qword [rbp - 0x30], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp + 0x100], ecx
lea rdx, [0x1400fedc0]
mov qword [rbp + 0x108], rdx
movaps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x100], xmm0
mov eax, dword [rbp - 0x30]
test eax, eax
je 0x14003739a
mov dword [rbp + 0x100], edi
mov qword [rbp + 0x108], rdx
cmp eax, 1
je 0x14003739e
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0xb0]
call fcn.140080b80
nop
cmp byte [rbp + 0xd0], 0
jne 0x14003610a
mov dword [rsp + 0x50], edi
lea rcx, [rbp + 0xb0]
call fcn.140030d20
nop
mov rdx, qword [rbp + 8]
cmp rdx, 7
jbe 0x1400360c4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400360bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400373fe
call fcn.1400b3f70
movdqa xmm6, xmmword [0x1400e52d0]
movdqu xmmword [rbp], xmm6
mov word [rbp - 0x10], di
mov rax, r13
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.1400b3f50
mov rbx, qword [rsp + 0x2c0]
movaps xmm6, xmmword [rsp + 0x260]
add rsp, 0x270
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov word [rbp - 0x80], 1
mov byte [rbp - 0x7e], 0
lea rdx, [rbp + 0xb0]
cmp qword [rbp + 0xc8], 0xf
cmova rdx, qword [rbp + 0xb0]
mov r8, qword [rbp + 0xc0]
add r8, rdx
lea rdx, [rbp + 0xb0]
cmp qword [rbp + 0xc8], 0xf
cmova rdx, qword [rbp + 0xb0]
lea r9, [rbp - 0x80]
lea rcx, [rbp + 0x10]
call fcn.140042f80
nop
movabs rax, 0x11f9ae013e2e1c26
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x110], rax
movabs rax, 0xe79f3e0abe77e5bb
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x118], rax
movabs rax, 0x36c979e416782eb2
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x120], rax
movabs rcx, 0x1e36b98be8905b22
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x128], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x130], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x138], rax
movabs rax, 0x36c91c96790c7dd5
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x140], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x148], rax
movdqa xmm0, xmmword [rbp + 0x110]
xorps xmm0, xmmword [rbp + 0x130]
movdqa xmmword [rbp + 0x110], xmm0
movdqa xmm1, xmmword [rbp + 0x120]
xorps xmm1, xmmword [rbp + 0x140]
movdqa xmmword [rbp + 0x120], xmm1
lea rcx, [rbp + 0x110]
mov rax, r14
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140036250
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0xf
cmova rcx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x20]
cmp r8, rax
jne 0x140037314
lea rdx, [rbp + 0x110]
call fcn.1400c13d0
test eax, eax
jne 0x140037314
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], rdi
mov r8d, 8
lea rdx, str.Software
lea rcx, [rbp - 0x68]
call fcn.14002fe70
nop
lea r8, [rbp - 0x68]
mov rsi, qword [rbp - 0x68]
mov r15, qword [rbp - 0x50]
cmp r15, 0xf
cmova r8, rsi
movabs rcx, 0xcbf29ce484222325
mov rdx, rdi
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x140036304
movabs r9, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, r9
inc rdx
cmp rdx, rdi
jb 0x1400362f0
and rcx, qword [rbp + 0xa0]
add rcx, rcx
mov rax, qword [rbp + 0x88]
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [rbp + 0x78]
je 0x140036376
mov r12, qword [rax + rcx*8]
nop dword [rax]
nop dword [rax + rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140036342
mov rdx, qword [rdx]
lea rcx, [rbp - 0x68]
cmp r15, 0xf
cmova rcx, rsi
cmp rdi, rax
jne 0x14003635f
mov r8, rdi
call fcn.1400c13d0
test eax, eax
je 0x14003636a
cmp rbx, r12
je 0x140036372
mov rbx, qword [rbx + 8]
jmp 0x140036330
mov r12, qword [rbp - 0x70]
xor edi, edi
jmp 0x14003637a
mov r12, qword [rbp - 0x70]
xor edi, edi
mov ebx, edi
cmp r15, 0xf
jbe 0x1400363b1
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400363a9
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003740a
mov rcx, rsi
call fcn.1400b3f70
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], send
mov byte [rbp - 0x68], 0
test rbx, rbx
jne 0x140036450
mov dword [rsp + 0x50], edi
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.1400375b0
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140037510
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x14003642e
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036429
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037452
call fcn.1400b3f70
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140030d20
nop
jmp 0x140036084
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0x60], xmm1
movdqu xmmword [rsp + 0x70], xmm0
mov r8d, 8
lea rdx, str.Software
lea rcx, [rsp + 0x60]
call fcn.14002fe70
nop
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x70]
call fcn.140043840
mov rax, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x30], xmm0
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1400364aa
lock inc dword [rcx + 8]
mov rbx, qword [rax + 0x30]
mov qword [rbp - 0x30], rbx
mov rax, qword [rax + 0x38]
mov qword [rbp - 0x28], rax
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1400364f7
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400364f2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037410
call fcn.1400b3f70
movdqa xmm6, xmmword [0x1400e52e0]
movdqu xmmword [rsp + 0x70], xmm6
mov byte [rsp + 0x60], 0
movabs r15, 0x449cc00d20211c3d
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
movabs rsi, 0x8ef95065fd0580c8
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
movabs rax, 0x449cc068564d7d6b
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x108], rax
movdqa xmm0, xmmword [rbp - 0x40]
xorps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp - 0x40], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x120], xmm1
lea rax, [rbp - 0x40]
mov r8, r14
inc r8
cmp byte [rax + r8], 0
jne 0x140036593
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x110]
call fcn.14002fe70
nop
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140042fb0
movzx ebx, al
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140036602
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400365fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037416
call fcn.1400b3f70
movdqu xmmword [rbp + 0x120], xmm6
mov byte [rbp + 0x110], 0
test bl, bl
jne 0x1400366d8
mov dword [rsp + 0x50], edi
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140036656
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140036656
mov rbx, qword [rbp - 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x140036656
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + htons]
nop
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.1400375b0
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140037510
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x1400366b6
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400366b1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037452
call fcn.1400b3f70
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140030d20
nop
jmp 0x140036084
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov rbx, qword [rbp - 0x30]
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
movabs rax, 0x449cc068564d7d6b
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x108], rax
movdqa xmm0, xmmword [rbp - 0x40]
xorps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp - 0x40], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
lea rax, [rbp - 0x40]
mov r8, r14
inc r8
cmp byte [rax + r8], 0
jne 0x140036754
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x60]
call fcn.14002fe70
nop
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140043840
mov rax, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x14003679a
lock inc dword [rcx + 8]
mov rbx, qword [rax + 0x30]
mov qword [rbp - 0x20], rbx
mov rax, qword [rax + 0x38]
mov qword [rbp - 0x18], rax
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1400367e7
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400367e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003741c
call fcn.1400b3f70
movdqu xmmword [rsp + 0x70], xmm6
mov byte [rsp + 0x60], 0
movabs r15, 0x449cc00537280938
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
movabs rax, 0x449cc068564d7d6b
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x108], rax
movdqa xmm0, xmmword [rbp - 0x40]
xorps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp - 0x40], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x120], xmm1
lea rax, [rbp - 0x40]
mov r8, r14
inc r8
cmp byte [rax + r8], 0
jne 0x140036871
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x110]
call fcn.14002fe70
nop
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140042fb0
movzx ebx, al
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x1400368e0
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400368db
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037422
call fcn.1400b3f70
movdqu xmmword [rbp + 0x120], xmm6
mov byte [rbp + 0x110], 0
test bl, bl
jne 0x1400369f0
mov dword [rsp + 0x50], edi
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140036935
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140036935
mov rbx, qword [rbp - 0x18]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140036935
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x14003696e
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14003696e
mov rbx, qword [rbp - 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x14003696e
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + htons]
nop
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.1400375b0
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140037510
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x1400369ce
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400369c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037452
call fcn.1400b3f70
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140030d20
nop
jmp 0x140036084
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov rbx, qword [rbp - 0x20]
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
movabs rax, 0x449cc068564d7d6b
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x108], rax
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rsp + 0x60], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x140], xmm1
lea rax, [rsp + 0x60]
mov r8, r14
inc r8
cmp byte [rax + r8], 0
jne 0x140036a75
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x130]
call fcn.14002fe70
nop
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140043840
mov rax, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x140036ac0
lock inc dword [rcx + 8]
mov rbx, qword [rax + 0x30]
mov qword [rbp - 0x40], rbx
mov rax, qword [rax + 0x38]
mov qword [rbp - 0x38], rax
mov rdx, qword [rbp + 0x148]
cmp rdx, 0xf
jbe 0x140036b11
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036b0c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037428
call fcn.1400b3f70
movdqu xmmword [rbp + 0x140], xmm6
mov byte [rbp + 0x130], 0
movabs r15, 0x7e8a30d38231228
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
movabs rax, 0x8ef95065986de3a9
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
movabs rax, 0x449cc068564d7d6b
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x108], rax
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rsp + 0x60], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x120], xmm1
lea rax, [rsp + 0x60]
mov r8, r14
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140036bb0
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x110]
call fcn.14002fe70
nop
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140042fb0
movzx ebx, al
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140036c20
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036c1b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003742e
call fcn.1400b3f70
movdqu xmmword [rbp + 0x120], xmm6
mov byte [rbp + 0x110], 0
test bl, bl
jne 0x140036d6a
mov dword [rsp + 0x50], edi
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140036c75
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140036c75
mov rbx, qword [rbp - 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140036c75
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140036caf
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140036caf
mov rbx, qword [rbp - 0x18]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140036caf
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140036ce8
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140036ce8
mov rbx, qword [rbp - 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x140036ce8
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + htons]
nop
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.1400375b0
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140037510
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140036d48
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036d43
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037452
call fcn.1400b3f70
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140030d20
nop
jmp 0x140036084
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov rbx, qword [rbp - 0x40]
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
movabs rax, 0x8ef95065986de3a9
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
movabs rax, 0x449cc068564d7d6b
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x110], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x118], rax
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x110]
movdqa xmmword [rsp + 0x60], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x140], xmm1
lea rax, [rsp + 0x60]
mov r8, r14
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140036e00
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x130]
call fcn.14002fe70
nop
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140043840
mov rcx, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x100], xmm0
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x140036e4e
lock inc dword [rax + 8]
mov rdi, qword [rcx + 0x30]
mov qword [rbp + 0x100], rdi
mov rsi, qword [rcx + 0x38]
mov qword [rsp + 0x40], rsi
mov qword [rbp + 0x108], rsi
mov rdx, qword [rbp + 0x148]
cmp rdx, 0xf
jbe 0x140036eaa
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036ea5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037434
call fcn.1400b3f70
movdqu xmmword [rbp + 0x140], xmm6
mov byte [rbp + 0x130], 0
mov rdi, qword [rdi + 0x28]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1400371a3
mov r15d, dword [rsp + 0x50]
nop
mov rsi, qword [r12]
mov r12, qword [r12 + 8]
cmp rsi, r12
je 0x140036f12
nop
mov r8, rsi
lea rdx, [rbx + 0x30]
lea rcx, [rbp + 0xd8]
call fcn.140035bd0
nop
cmp byte [rbp + 0xf8], 0
jne 0x140036f28
lea rcx, [rbp + 0xd8]
call fcn.140030d20
add rsi, 0x40
cmp rsi, r12
jne 0x140036ee0
mov r13, qword [rbp - 0x78]
mov rbx, qword [rbx]
cmp rbx, rdi
je 0x14003719e
mov r12, qword [rbp - 0x70]
jmp 0x140036ed0
lea r9, [rsi + 0x20]
mov rcx, qword [r9 + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 2
jb 0x14003744c
cmp qword [r9 + 0x18], 0xf
jbe 0x140036f51
mov r9, qword [r9]
mov qword [rsp + 0x30], 2
lea rax, [0x1400e1b88]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x130]
call fcn.140046e90
or r15d, 8
mov dword [rsp + 0x50], r15d
lea rdx, [rbp + 0xd8]
cmp qword [rbp + 0xf0], 0xf
cmova rdx, qword [rbp + 0xd8]
mov r8, qword [rbp + 0xe8]
lea rcx, [rbp + 0x130]
call fcn.140040af0
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
xor esi, esi
mov qword [rbp + 0x120], rsi
mov qword [rbp + 0x128], rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x110], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x120], xmm1
mov qword [rax + 0x18], send
mov qword [rax + 0x10], rsi
mov byte [rax], sil
or r15d, 0x10
mov dword [rsp + 0x50], r15d
mov r8d, 1
lea rdx, [0x1400e1b84]
lea rcx, [rbp + 0x110]
call fcn.140040af0
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rsi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], send
mov byte [rax], sil
or r15d, 0x20
mov dword [rsp + 0x50], r15d
lea rdx, [rsp + 0x60]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
cmova rdx, rcx
movq r8, xmm1
mov r13, qword [rbp - 0x78]
mov rcx, r13
call fcn.140040af0
and r15d, 0xffffffdf
mov dword [rsp + 0x50], r15d
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1400370b4
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400370af
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003743a
call fcn.1400b3f70
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], send
mov byte [rsp + 0x60], 0
and r15d, 0xffffffef
mov dword [rsp + 0x50], r15d
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140037111
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003710c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037440
call fcn.1400b3f70
mov qword [rbp + 0x120], rsi
mov qword [rbp + 0x128], send
mov byte [rbp + 0x110], 0
and r15d, 0xfffffff7
mov dword [rsp + 0x50], r15d
mov rdx, qword [rbp + 0x148]
cmp rdx, 0xf
jbe 0x140037174
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003716f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037446
call fcn.1400b3f70
mov qword [rbp + 0x140], rsi
mov qword [rbp + 0x148], send
mov byte [rbp + 0x130], 0
lea rcx, [rbp + 0xd8]
call fcn.140030d20
jmp 0x140036f16
mov rsi, qword [rsp + 0x40]
xor edi, edi
mov dword [rsp + 0x50], edi
test rsi, rsi
je 0x1400371e5
mov eax, r14d
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x1400371e5
mov rbx, qword [rbp + 0x108]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400371e5
mov rcx, qword [rbp + 0x108]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14003721f
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14003721f
mov rbx, qword [rbp - 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14003721f
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140037259
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140037259
mov rbx, qword [rbp - 0x18]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140037259
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140037292
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140037292
mov rbx, qword [rbp - 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x140037292
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + htons]
nop
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.1400375b0
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140037510
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x1400372f2
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400372ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037452
call fcn.1400b3f70
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140030d20
nop
jmp 0x140036084
mov dword [rsp + 0x50], edi
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.1400375b0
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140037510
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140037378
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037373
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037452
call fcn.1400b3f70
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140030d20
nop
jmp 0x140036084
test ecx, ecx
jne 0x1400373e6
mov dword [rsp + 0x50], edi
mov rdx, qword [rbp + 8]
cmp rdx, 7
jbe 0x1400360cc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400360bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400373fe
jmp 0x1400360bf
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x100]
lea rcx, str.exists
call fcn.14002dc60
nop
call fcn.140097c38
nop
call fcn.140097c38
nop
call fcn.140097c38
nop
call fcn.140097c38
int3
call fcn.140097c38
nop
call fcn.140097c38
int3
call fcn.140097c38
nop
call fcn.140097c38
int3
call fcn.140097c38
nop
call fcn.140097c38
nop
call fcn.140097c38
nop
call fcn.140097c38
nop
call fcn.140097c38
nop
call fcn.14002b3e0
nop
call fcn.140097c38
int3