Function at 0x140038b60
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 [0x1401e4c00]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov r13, rdx
mov qword [rbp - 0x78], rdx
mov rax, rcx
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x48], rcx
mov dword [rsp + 0x50], 1
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
xor r14d, r14d
mov qword [rcx + 0x10], r14
mov qword [rcx + 0x18], send
mov byte [rcx], r14b
mov dword [rsp + 0x50], 1
mov rcx, qword [rdx + 8]
cmp qword [rdx], rcx
jne 0x140038be5
mov dword [rsp + 0x50], r14d
jmp 0x140038e1d
movabs rax, 0x945854caeafdb95e
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
movabs rax, 0x8d1abb4ce5081965
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
movabs rbx, 0xfb3408a78b98cd0d
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
movabs r12, 0x8d7cdf3acb647806
mov qword [rsp + 0x40], r12
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 r15, 0xffffffffffffffff
mov rax, r15
inc rax
cmp byte [rcx + rax], 0
jne 0x140038c80
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.14004f090
mov eax, 3
mov dword [rsp + 0x50], eax
and eax, 0xfffffffd
mov dword [rsp + 0x50], eax
lea r8, [rbp + 0x130]
lea rdx, [0x1401e4f70]
lea rcx, [rbp - 0x10]
call fcn.14002ff50
nop
mov rdx, qword [rbp + 0x148]
cmp rdx, 7
jbe 0x140038d20
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038d1b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a13b
call fcn.1400b5fd0
movdqa xmm6, xmmword [0x1401c81a0]
movdqu xmmword [rbp + 0x140], xmm6
mov word [rbp + 0x130], r14w
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140031230
movsd xmm0, qword [rax]
movsd qword [rbp - 0x30], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp + 0x100], ecx
lea rdx, [0x1401e4e60]
mov qword [rbp + 0x108], rdx
movaps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x100], xmm0
mov eax, dword [rbp - 0x30]
test eax, eax
je 0x14003a0d0
mov dword [rbp + 0x100], r14d
mov qword [rbp + 0x108], rdx
cmp eax, 1
je 0x14003a0d4
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0xb0]
call fcn.14007c5e0
nop
cmp byte [rbp + 0xd0], 0
jne 0x140038e4f
mov dword [rsp + 0x50], r14d
lea rcx, [rbp + 0xb0]
call fcn.140033a40
nop
mov rdx, qword [rbp + 8]
cmp rdx, 7
jbe 0x140038e07
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038e02
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a135
call fcn.1400b5fd0
movdqa xmm6, xmmword [0x1401c81a0]
movdqu xmmword [rbp], xmm6
mov word [rbp - 0x10], r14w
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.1400b5fb0
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.140046360
nop
movabs rax, 0xae5166cee3fbac40
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x110], rax
movabs rax, 0xe41ab15588161d75
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x118], rax
movabs rax, 0x79677d9f1f78dff8
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x120], rax
movabs rcx, 0xa12a9f7875e1bd88
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x128], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x130], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x138], rax
movabs rax, 0x796718ed700c8c9f
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, r15
inc rax
cmp byte [rcx + rax], 0
jne 0x140038f91
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0xf
cmova rcx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x20]
cmp r8, rax
jne 0x14003a04a
lea rdx, [rbp + 0x110]
call fcn.1400fdeb0
test eax, eax
jne 0x14003a04a
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], r14
mov r8d, 8
lea rdx, str.Software
lea rcx, [rbp - 0x68]
call fcn.140048050
nop
lea r8, [rbp - 0x68]
mov rsi, qword [rbp - 0x68]
mov r14, qword [rbp - 0x50]
cmp r14, 0xf
cmova r8, rsi
movabs rcx, 0xcbf29ce484222325
xor edx, edx
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x140039044
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 0x140039030
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 0x1400390c0
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 0x140039082
mov rdx, qword [rdx]
lea rcx, [rbp - 0x68]
cmp r14, 0xf
cmova rcx, rsi
cmp rdi, rax
jne 0x14003909f
mov r8, rdi
call fcn.1400fdeb0
test eax, eax
je 0x1400390aa
cmp rbx, r12
je 0x1400390b6
mov rbx, qword [rbx + 8]
jmp 0x140039070
movabs r12, 0x8d7cdf3acb647806
jmp 0x1400390c2
movabs r12, 0x8d7cdf3acb647806
xor ebx, ebx
cmp r14, 0xf
jbe 0x1400390f9
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400390f1
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a141
mov rcx, rsi
call fcn.1400b5fd0
xor r14d, r14d
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], send
mov byte [rbp - 0x68], r14b
test rbx, rbx
jne 0x14003919b
mov dword [rsp + 0x50], r14d
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.14003a2e0
nop
lea rax, [rbp + 0x30]
mov qword [rbp - 0x78], rax
lea rcx, [rbp + 0x30]
call fcn.14003a240
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140039179
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039174
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a189
call fcn.1400b5fd0
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140033a40
nop
jmp 0x140038dc7
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.140048050
nop
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x70]
call fcn.1400468e0
mov rax, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x30], xmm0
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1400391f5
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 0x140039242
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003923d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a147
call fcn.1400b5fd0
movdqa xmm6, xmmword [0x1401c81b0]
movdqu xmmword [rsp + 0x70], xmm6
mov byte [rsp + 0x60], 0
movabs rdi, 0xfb3408c2fdf4ac5b
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
movabs rsi, 0xfb3408a78b98cd0d
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
mov qword [rsp + 0x40], r12
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, r15
inc r8
cmp byte [rax + r8], 0
jne 0x1400392d4
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x110]
call fcn.140048050
nop
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140046390
movzx ebx, al
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140039343
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003933e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a14d
call fcn.1400b5fd0
movdqu xmmword [rbp + 0x120], xmm6
mov byte [rbp + 0x110], 0
test bl, bl
jne 0x140039419
mov dword [rsp + 0x50], r14d
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140039398
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140039398
mov rbx, qword [rbp - 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r15d
cmp r15d, 1
jne 0x140039398
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.14003a2e0
nop
lea rax, [rbp + 0x30]
mov qword [rbp - 0x78], rax
lea rcx, [rbp + 0x30]
call fcn.14003a240
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x1400393f7
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400393f2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a189
call fcn.1400b5fd0
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140033a40
nop
jmp 0x140038dc7
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov rbx, qword [rbp - 0x30]
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
mov qword [rsp + 0x40], r12
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, r15
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140039490
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x60]
call fcn.140048050
nop
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.1400468e0
mov rax, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1400394d6
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 0x140039523
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003951e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a153
call fcn.1400b5fd0
movdqu xmmword [rsp + 0x70], xmm6
mov byte [rsp + 0x60], 0
movabs rdi, 0xfb3408caeafdb95e
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
mov qword [rsp + 0x40], r12
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, r15
inc r8
cmp byte [rax + r8], 0
jne 0x1400395a3
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x110]
call fcn.140048050
nop
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140046390
movzx ebx, al
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140039612
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003960d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a159
call fcn.1400b5fd0
movdqu xmmword [rbp + 0x120], xmm6
mov byte [rbp + 0x110], 0
test bl, bl
jne 0x140039722
mov dword [rsp + 0x50], r14d
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140039668
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140039668
mov rbx, qword [rbp - 0x18]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140039668
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1400396a1
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400396a1
mov rbx, qword [rbp - 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r15d
cmp r15d, 1
jne 0x1400396a1
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.14003a2e0
nop
lea rax, [rbp + 0x30]
mov qword [rbp - 0x78], rax
lea rcx, [rbp + 0x30]
call fcn.14003a240
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140039700
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400396fb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a189
call fcn.1400b5fd0
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140033a40
nop
jmp 0x140038dc7
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov rbx, qword [rbp - 0x20]
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x40], r12
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
mov qword [rsp + 0x40], r12
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, r15
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400397a0
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x130]
call fcn.140048050
nop
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.1400468e0
mov rax, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1400397eb
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 0x14003983c
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039837
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a15f
call fcn.1400b5fd0
movdqu xmmword [rbp + 0x140], xmm6
mov byte [rbp + 0x130], 0
movabs rdi, 0xb8406bc2e5f6a24e
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
movabs rsi, 0x8d7cdf3aae0c1b67
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
movabs rax, 0xfb3408a78b98cd0d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
mov qword [rsp + 0x40], r12
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, r15
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400398e0
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x110]
call fcn.140048050
nop
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140046390
movzx ebx, al
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140039950
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003994b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a165
call fcn.1400b5fd0
movdqu xmmword [rbp + 0x120], xmm6
mov byte [rbp + 0x110], 0
test bl, bl
jne 0x140039a9a
mov dword [rsp + 0x50], r14d
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x1400399a6
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400399a6
mov rbx, qword [rbp - 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400399a6
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x1400399e0
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400399e0
mov rbx, qword [rbp - 0x18]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400399e0
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140039a19
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140039a19
mov rbx, qword [rbp - 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r15d
cmp r15d, 1
jne 0x140039a19
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.14003a2e0
nop
lea rax, [rbp + 0x30]
mov qword [rbp - 0x78], rax
lea rcx, [rbp + 0x30]
call fcn.14003a240
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140039a78
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039a73
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a189
call fcn.1400b5fd0
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140033a40
nop
jmp 0x140038dc7
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov rbx, qword [rbp - 0x40]
mov qword [rsp + 0x40], rdi
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, 0xfb3408a78b98cd0d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x110], rax
mov qword [rsp + 0x40], r12
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, r15
inc r8
cmp byte [rax + r8], 0
jne 0x140039b22
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x130]
call fcn.140048050
nop
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.1400468e0
mov rcx, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x100], xmm0
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x140039b70
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 0x140039bcc
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039bc7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a16b
call fcn.1400b5fd0
movdqu xmmword [rbp + 0x140], xmm6
mov byte [rbp + 0x130], 0
mov rdi, qword [rdi + 0x28]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x140039edb
movzx esi, byte [rbp - 0x7d]
mov r12d, dword [rsp + 0x50]
nop dword [rax]
nop dword [rax + rax]
lea rax, [rbx + 0x30]
mov r14, qword [r13]
mov r13, qword [r13 + 8]
cmp r14, r13
je 0x140039c46
mov r8, r14
mov rdx, rax
lea rcx, [rbp + 0xd8]
call fcn.140038910
nop
cmp byte [rbp + 0xf8], 0
jne 0x140039c5b
lea rcx, [rbp + 0xd8]
call fcn.140033a40
add r14, 0x40
cmp r14, r13
lea rax, [rbx + 0x30]
jne 0x140039c11
xor r14d, r14d
mov rbx, qword [rbx]
cmp rbx, rdi
je 0x140039ed6
mov r13, qword [rbp - 0x78]
jmp 0x140039c00
lea r8, [r14 + 0x20]
mov rcx, qword [r8 + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 2
jb 0x14003a183
mov r9, r8
cmp qword [r8 + 0x18], 0xf
jbe 0x140039c87
mov r9, qword [r8]
mov qword [rsp + 0x30], 2
lea rax, [0x1401c4fd0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
movzx edx, sil
lea rcx, [rbp + 0x130]
call fcn.140049f00
or r12d, 8
mov dword [rsp + 0x50], r12d
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.140043ad0
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
xor r14d, r14d
mov qword [rbp + 0x120], r14
mov qword [rbp + 0x128], r14
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], r14
mov byte [rax], r14b
or r12d, 0x10
mov dword [rsp + 0x50], r12d
mov r8d, 1
lea rdx, [0x1401c4fcc]
lea rcx, [rbp + 0x110]
call fcn.140043ad0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], send
mov byte [rax], r14b
or r12d, 0x20
mov dword [rsp + 0x50], r12d
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 rcx, qword [rbp - 0x70]
call fcn.140043ad0
and r12d, 0xffffffdf
mov dword [rsp + 0x50], r12d
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140039dec
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039de7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a171
call fcn.1400b5fd0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], send
mov byte [rsp + 0x60], 0
and r12d, 0xffffffef
mov dword [rsp + 0x50], r12d
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140039e49
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039e44
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a177
call fcn.1400b5fd0
mov qword [rbp + 0x120], r14
mov qword [rbp + 0x128], send
mov byte [rbp + 0x110], 0
and r12d, 0xfffffff7
mov dword [rsp + 0x50], r12d
mov rdx, qword [rbp + 0x148]
cmp rdx, 0xf
jbe 0x140039eac
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039ea7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a17d
call fcn.1400b5fd0
mov qword [rbp + 0x140], r14
mov qword [rbp + 0x148], send
mov byte [rbp + 0x130], 0
lea rcx, [rbp + 0xd8]
call fcn.140033a40
jmp 0x140039c49
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x50], r14d
test rsi, rsi
je 0x140039f1c
mov eax, r15d
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x140039f1c
mov rbx, qword [rbp + 0x108]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140039f1c
mov rcx, qword [rbp + 0x108]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140039f56
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140039f56
mov rbx, qword [rbp - 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140039f56
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140039f90
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140039f90
mov rbx, qword [rbp - 0x18]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140039f90
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140039fc9
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140039fc9
mov rbx, qword [rbp - 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r15d
cmp r15d, 1
jne 0x140039fc9
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.14003a2e0
nop
lea rax, [rbp + 0x30]
mov qword [rbp - 0x78], rax
lea rcx, [rbp + 0x30]
call fcn.14003a240
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x14003a028
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003a023
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a189
call fcn.1400b5fd0
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140033a40
nop
jmp 0x140038dc7
mov dword [rsp + 0x50], r14d
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.14003a2e0
nop
lea rax, [rbp + 0x30]
mov qword [rbp - 0x78], rax
lea rcx, [rbp + 0x30]
call fcn.14003a240
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x14003a0ae
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003a0a9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a189
call fcn.1400b5fd0
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140033a40
nop
jmp 0x140038dc7
test ecx, ecx
jne 0x14003a11d
mov dword [rsp + 0x50], r14d
mov rdx, qword [rbp + 8]
cmp rdx, 7
jbe 0x140038e0f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038e02
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003a135
jmp 0x140038e02
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x100]
lea rcx, str.exists
call fcn.140030980
nop
call fcn.140093bc4
nop
call fcn.140093bc4
nop
call fcn.140093bc4
nop
call fcn.140093bc4
int3
call fcn.140093bc4
nop
call fcn.140093bc4
int3
call fcn.140093bc4
nop
call fcn.140093bc4
int3
call fcn.140093bc4
nop
call fcn.140093bc4
nop
call fcn.140093bc4
nop
call fcn.140093bc4
nop
call fcn.140093bc4
nop
call fcn.14002dfd0
nop
call fcn.140093bc4
int3