Function at 0x140037e70
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 [0x140130c00]
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 0x140037ef3
mov dword [rsp + 0x50], edi
jmp 0x140038125
movabs rax, 0x9ab0aa83ed7065dc
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
movabs rax, 0xd8ba73510f2fce0f
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
movabs rsi, 0xf5dcf6ee8c15118f
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
movabs rbx, 0xd8dc17272143af6c
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 0x140037f90
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.140055c20
mov eax, 3
mov dword [rsp + 0x50], eax
and eax, 0xfffffffd
mov dword [rsp + 0x50], eax
lea r8, [rbp + 0x130]
lea rdx, [0x140130f30]
lea rcx, [rbp - 0x10]
call fcn.14002d810
nop
mov rdx, qword [rbp + 0x148]
cmp rdx, 7
jbe 0x140038030
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003802b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039454
call fcn.1400ae880
movdqa xmm6, xmmword [0x1401181f0]
movdqu xmmword [rbp + 0x140], xmm6
mov word [rbp + 0x130], di
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x40]
call fcn.14002eaf0
movsd xmm0, qword [rax]
movsd qword [rbp - 0x30], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp + 0x100], ecx
lea rdx, [0x140130e30]
mov qword [rbp + 0x108], rdx
movaps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x100], xmm0
mov eax, dword [rbp - 0x30]
test eax, eax
je 0x1400393ea
mov dword [rbp + 0x100], edi
mov qword [rbp + 0x108], rdx
cmp eax, 1
je 0x1400393ee
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0xb0]
call fcn.14007f020
nop
cmp byte [rbp + 0xd0], 0
jne 0x14003815a
mov dword [rsp + 0x50], edi
lea rcx, [rbp + 0xb0]
call fcn.14002f380
nop
mov rdx, qword [rbp + 8]
cmp rdx, 7
jbe 0x140038114
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003810f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003944e
call fcn.1400ae880
movdqa xmm6, xmmword [0x1401181f0]
movdqu xmmword [rbp], xmm6
mov word [rbp - 0x10], di
mov rax, r13
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.1400ae860
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.140046590
nop
movabs rax, 0xa0b99887e47670c2
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x110], rax
movabs rax, 0xb1ba79486231ca1f
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x118], rax
movabs rax, 0xfeb31b3eca350f2e
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x120], rax
movabs rcx, 0xaf0a0b35f66f393e
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, 0xfeb37e4ca5415c49
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 0x1400382a0
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0xf
cmova rcx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x20]
cmp r8, rax
jne 0x140039364
lea rdx, [rbp + 0x110]
call fcn.1400c19f0
test eax, eax
jne 0x140039364
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.1400486b0
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 0x140038354
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 0x140038340
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 0x1400383c6
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 0x140038392
mov rdx, qword [rdx]
lea rcx, [rbp - 0x68]
cmp r15, 0xf
cmova rcx, rsi
cmp rdi, rax
jne 0x1400383af
mov r8, rdi
call fcn.1400c19f0
test eax, eax
je 0x1400383ba
cmp rbx, r12
je 0x1400383c2
mov rbx, qword [rbx + 8]
jmp 0x140038380
mov r12, qword [rbp - 0x70]
xor edi, edi
jmp 0x1400383ca
mov r12, qword [rbp - 0x70]
xor edi, edi
mov ebx, edi
cmp r15, 0xf
jbe 0x140038401
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400383f9
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003945a
mov rcx, rsi
call fcn.1400ae880
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], send
mov byte [rbp - 0x68], 0
test rbx, rbx
jne 0x1400384a0
mov dword [rsp + 0x50], edi
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.140039600
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140039560
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x14003847e
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038479
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400394a2
call fcn.1400ae880
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.14002f380
nop
jmp 0x1400380d4
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.1400486b0
nop
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x70]
call fcn.140046df0
mov rax, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x30], xmm0
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1400384fa
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 0x140038547
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038542
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039460
call fcn.1400ae880
movdqa xmm6, xmmword [0x140118200]
movdqu xmmword [rsp + 0x70], xmm6
mov byte [rsp + 0x60], 0
movabs r15, 0xf5dcf68bfa7970d9
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
movabs rsi, 0xd8dc17272143af6c
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
movabs rax, 0xf5dcf6ee8c15118f
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 0x1400385e3
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x110]
call fcn.1400486b0
nop
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.1400465c0
movzx ebx, al
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140038652
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003864d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039466
call fcn.1400ae880
movdqu xmmword [rbp + 0x120], xmm6
mov byte [rbp + 0x110], 0
test bl, bl
jne 0x140038728
mov dword [rsp + 0x50], edi
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1400386a6
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400386a6
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 0x1400386a6
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.140039600
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140039560
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140038706
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038701
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400394a2
call fcn.1400ae880
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.14002f380
nop
jmp 0x1400380d4
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, 0xf5dcf6ee8c15118f
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 0x1400387a4
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x60]
call fcn.1400486b0
nop
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140046df0
mov rax, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1400387ea
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 0x140038837
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038832
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003946c
call fcn.1400ae880
movdqu xmmword [rsp + 0x70], xmm6
mov byte [rsp + 0x60], 0
movabs r15, 0xf5dcf683ed7065dc
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, 0xf5dcf6ee8c15118f
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 0x1400388c1
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x110]
call fcn.1400486b0
nop
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.1400465c0
movzx ebx, al
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140038930
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003892b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039472
call fcn.1400ae880
movdqu xmmword [rbp + 0x120], xmm6
mov byte [rbp + 0x110], 0
test bl, bl
jne 0x140038a40
mov dword [rsp + 0x50], edi
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140038985
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140038985
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 0x140038985
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1400389be
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400389be
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 0x1400389be
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.140039600
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140039560
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140038a1e
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038a19
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400394a2
call fcn.1400ae880
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.14002f380
nop
jmp 0x1400380d4
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, 0xf5dcf6ee8c15118f
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 0x140038ac5
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x130]
call fcn.1400486b0
nop
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140046df0
mov rax, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x140038b10
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 0x140038b61
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038b5c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039478
call fcn.1400ae880
movdqu xmmword [rbp + 0x140], xmm6
mov byte [rbp + 0x130], 0
movabs r15, 0xb6a8958be27b7ecc
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
movabs rax, 0xd8dc1727442bcc0d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
movabs rax, 0xf5dcf6ee8c15118f
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 0x140038c00
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x110]
call fcn.1400486b0
nop
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.1400465c0
movzx ebx, al
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140038c70
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038c6b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003947e
call fcn.1400ae880
movdqu xmmword [rbp + 0x120], xmm6
mov byte [rbp + 0x110], 0
test bl, bl
jne 0x140038dba
mov dword [rsp + 0x50], edi
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140038cc5
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140038cc5
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 0x140038cc5
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140038cff
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140038cff
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 0x140038cff
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140038d38
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140038d38
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 0x140038d38
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.140039600
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140039560
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140038d98
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038d93
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400394a2
call fcn.1400ae880
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.14002f380
nop
jmp 0x1400380d4
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, 0xd8dc1727442bcc0d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
movabs rax, 0xf5dcf6ee8c15118f
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 0x140038e50
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x130]
call fcn.1400486b0
nop
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140046df0
mov rcx, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x100], xmm0
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x140038e9e
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 0x140038efa
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038ef5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039484
call fcn.1400ae880
movdqu xmmword [rbp + 0x140], xmm6
mov byte [rbp + 0x130], 0
mov rdi, qword [rdi + 0x28]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1400391f3
mov r15d, dword [rsp + 0x50]
nop
mov rsi, qword [r12]
mov r12, qword [r12 + 8]
cmp rsi, r12
je 0x140038f62
nop
mov r8, rsi
lea rdx, [rbx + 0x30]
lea rcx, [rbp + 0xd8]
call fcn.140037c20
nop
cmp byte [rbp + 0xf8], 0
jne 0x140038f78
lea rcx, [rbp + 0xd8]
call fcn.14002f380
add rsi, 0x40
cmp rsi, r12
jne 0x140038f30
mov r13, qword [rbp - 0x78]
mov rbx, qword [rbx]
cmp rbx, rdi
je 0x1400391ee
mov r12, qword [rbp - 0x70]
jmp 0x140038f20
lea r9, [rsi + 0x20]
mov rcx, qword [r9 + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 2
jb 0x14003949c
cmp qword [r9 + 0x18], 0xf
jbe 0x140038fa1
mov r9, qword [r9]
mov qword [rsp + 0x30], 2
lea rax, [0x140114e08]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x130]
call fcn.14004b220
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.140043d70
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, [0x140114e04]
lea rcx, [rbp + 0x110]
call fcn.140043d70
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.140043d70
and r15d, 0xffffffdf
mov dword [rsp + 0x50], r15d
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140039104
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400390ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003948a
call fcn.1400ae880
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 0x140039161
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003915c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039490
call fcn.1400ae880
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 0x1400391c4
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400391bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039496
call fcn.1400ae880
mov qword [rbp + 0x140], rsi
mov qword [rbp + 0x148], send
mov byte [rbp + 0x130], 0
lea rcx, [rbp + 0xd8]
call fcn.14002f380
jmp 0x140038f66
mov rsi, qword [rsp + 0x40]
xor edi, edi
mov dword [rsp + 0x50], edi
test rsi, rsi
je 0x140039235
mov eax, r14d
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x140039235
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 0x140039235
mov rcx, qword [rbp + 0x108]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14003926f
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14003926f
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 0x14003926f
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x1400392a9
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400392a9
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 0x1400392a9
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + htons]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1400392e2
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400392e2
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 0x1400392e2
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.140039600
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140039560
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140039342
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003933d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400394a2
call fcn.1400ae880
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.14002f380
nop
jmp 0x1400380d4
mov dword [rsp + 0x50], edi
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.140039600
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140039560
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x1400393c8
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400393c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400394a2
call fcn.1400ae880
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], send
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.14002f380
nop
jmp 0x1400380d4
test ecx, ecx
jne 0x140039436
mov dword [rsp + 0x50], edi
mov rdx, qword [rbp + 8]
cmp rdx, 7
jbe 0x14003811c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003810f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003944e
jmp 0x14003810f
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x100]
lea rcx, str.exists
call fcn.14002e240
nop
call fcn.140098254
nop
call fcn.140098254
nop
call fcn.140098254
nop
call fcn.140098254
int3
call fcn.140098254
nop
call fcn.140098254
int3
call fcn.140098254
nop
call fcn.140098254
int3
call fcn.140098254
nop
call fcn.140098254
nop
call fcn.140098254
nop
call fcn.140098254
nop
call fcn.140098254
nop
call fcn.14002b8e0
nop
call fcn.140098254
int3