Function at 0x140036050
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 [0x14012ac00]
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], 0xf
mov byte [rcx], dil
mov dword [rsp + 0x50], 1
mov rcx, qword [rdx + 8]
cmp qword [rdx], rcx
jne 0x1400360d3
mov dword [rsp + 0x50], edi
jmp 0x140036305
movabs rax, 0x5ffb15096e54a96c
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
movabs rax, 0xbe3c1b3b6258007
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
movabs rsi, 0x309749640f31dd3f
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x100], rax
movabs rbx, 0xb85a5c59849e164
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 0x140036170
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.14004bfc0
mov eax, 3
mov dword [rsp + 0x50], eax
and eax, 0xfffffffd
mov dword [rsp + 0x50], eax
lea r8, [rbp + 0x130]
lea rdx, [0x14012afa0]
lea rcx, [rbp - 0x10]
call fcn.14002d420
nop
mov rdx, qword [rbp + 0x148]
cmp rdx, 7
jbe 0x140036210
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003620b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037634
call fcn.1400a9a50
movdqa xmm6, xmmword [0x140112f70]
movdqu xmmword [rbp + 0x140], xmm6
mov word [rbp + 0x130], di
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x40]
call fcn.14002e700
movsd xmm0, qword [rax]
movsd qword [rbp - 0x30], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp + 0x100], ecx
lea rdx, [0x14012ae30]
mov qword [rbp + 0x108], rdx
movaps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x100], xmm0
mov eax, dword [rbp - 0x30]
test eax, eax
je 0x1400375ca
mov dword [rbp + 0x100], edi
mov qword [rbp + 0x108], rdx
cmp eax, 1
je 0x1400375ce
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0xb0]
call fcn.140076b30
nop
cmp byte [rbp + 0xd0], 0
jne 0x14003633a
mov dword [rsp + 0x50], edi
lea rcx, [rbp + 0xb0]
call fcn.140030f50
nop
mov rdx, qword [rbp + 8]
cmp rdx, 7
jbe 0x1400362f4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400362ef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003762e
call fcn.1400a9a50
movdqa xmm6, xmmword [0x140112f70]
movdqu xmmword [rbp], xmm6
mov word [rbp - 0x10], di
mov rax, r13
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.1400a9a30
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.1400430e0
nop
movabs rax, 0x65f2270d6752bc72
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x110], rax
movabs rax, 0x62e3cbaadb3b8417
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x118], rax
movabs rax, 0x67cbbe688ebe5236
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x120], rax
movabs rcx, 0x5689f27ba26f4916
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, 0x67cbdb1ae1ca0151
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 0x140036480
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0xf
cmova rcx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x20]
cmp r8, rax
jne 0x140037544
lea rdx, [rbp + 0x110]
call fcn.1400bd5e0
test eax, eax
jne 0x140037544
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.1400300a0
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 0x140036534
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 0x140036520
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 0x1400365a6
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 0x140036572
mov rdx, qword [rdx]
lea rcx, [rbp - 0x68]
cmp r15, 0xf
cmova rcx, rsi
cmp rdi, rax
jne 0x14003658f
mov r8, rdi
call fcn.1400bd5e0
test eax, eax
je 0x14003659a
cmp rbx, r12
je 0x1400365a2
mov rbx, qword [rbx + 8]
jmp 0x140036560
mov r12, qword [rbp - 0x70]
xor edi, edi
jmp 0x1400365aa
mov r12, qword [rbp - 0x70]
xor edi, edi
mov ebx, edi
cmp r15, 0xf
jbe 0x1400365e1
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400365d9
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003763a
mov rcx, rsi
call fcn.1400a9a50
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
test rbx, rbx
jne 0x140036680
mov dword [rsp + 0x50], edi
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.1400377e0
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140037740
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x14003665e
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036659
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037682
call fcn.1400a9a50
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140030f50
nop
jmp 0x1400362b4
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.1400300a0
nop
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x70]
call fcn.140043940
mov rax, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x30], xmm0
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1400366da
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 0x140036727
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036722
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037640
call fcn.1400a9a50
movdqa xmm6, xmmword [0x140112f80]
movdqu xmmword [rsp + 0x70], xmm6
mov byte [rsp + 0x60], 0
movabs r15, 0x30974901795dbc69
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
movabs rsi, 0xb85a5c59849e164
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
movabs rax, 0x309749640f31dd3f
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 0x1400367c3
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x110]
call fcn.1400300a0
nop
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140043110
movzx ebx, al
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140036832
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003682d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037646
call fcn.1400a9a50
movdqu xmmword [rbp + 0x120], xmm6
mov byte [rbp + 0x110], 0
test bl, bl
jne 0x140036908
mov dword [rsp + 0x50], edi
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140036886
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140036886
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 0x140036886
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.1400377e0
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140037740
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x1400368e6
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400368e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037682
call fcn.1400a9a50
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140030f50
nop
jmp 0x1400362b4
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, 0x309749640f31dd3f
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 0x140036984
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x60]
call fcn.1400300a0
nop
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140043940
mov rax, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x1400369ca
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 0x140036a17
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036a12
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003764c
call fcn.1400a9a50
movdqu xmmword [rsp + 0x70], xmm6
mov byte [rsp + 0x60], 0
movabs r15, 0x309749096e54a96c
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, 0x309749640f31dd3f
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 0x140036aa1
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x110]
call fcn.1400300a0
nop
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140043110
movzx ebx, al
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140036b10
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036b0b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037652
call fcn.1400a9a50
movdqu xmmword [rbp + 0x120], xmm6
mov byte [rbp + 0x110], 0
test bl, bl
jne 0x140036c20
mov dword [rsp + 0x50], edi
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140036b65
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140036b65
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 0x140036b65
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140036b9e
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140036b9e
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 0x140036b9e
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.1400377e0
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140037740
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140036bfe
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036bf9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037682
call fcn.1400a9a50
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140030f50
nop
jmp 0x1400362b4
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, 0x309749640f31dd3f
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 0x140036ca5
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x130]
call fcn.1400300a0
nop
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140043940
mov rax, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x140036cf0
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 0x140036d41
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036d3c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037658
call fcn.1400a9a50
movdqu xmmword [rbp + 0x140], xmm6
mov byte [rbp + 0x130], 0
movabs r15, 0x73e32a01615fb27c
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
movabs rax, 0xb85a5c5fd218205
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
movabs rax, 0x309749640f31dd3f
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 0x140036de0
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x110]
call fcn.1400300a0
nop
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140043110
movzx ebx, al
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140036e50
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036e4b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003765e
call fcn.1400a9a50
movdqu xmmword [rbp + 0x120], xmm6
mov byte [rbp + 0x110], 0
test bl, bl
jne 0x140036f9a
mov dword [rsp + 0x50], edi
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140036ea5
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140036ea5
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 0x140036ea5
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140036edf
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140036edf
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 0x140036edf
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140036f18
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140036f18
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 0x140036f18
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.1400377e0
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140037740
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140036f78
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036f73
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037682
call fcn.1400a9a50
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140030f50
nop
jmp 0x1400362b4
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, 0xb85a5c5fd218205
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x68], rax
movabs rax, 0x309749640f31dd3f
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 0x140037030
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x130]
call fcn.1400300a0
nop
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x110]
lea rcx, [rbx + 0x60]
call fcn.140043940
mov rcx, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x100], xmm0
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x14003707e
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 0x1400370da
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400370d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037664
call fcn.1400a9a50
movdqu xmmword [rbp + 0x140], xmm6
mov byte [rbp + 0x130], 0
mov rdi, qword [rdi + 0x28]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1400373d3
mov r15d, dword [rsp + 0x50]
nop
mov rsi, qword [r12]
mov r12, qword [r12 + 8]
cmp rsi, r12
je 0x140037142
nop
mov r8, rsi
lea rdx, [rbx + 0x30]
lea rcx, [rbp + 0xd8]
call fcn.140035e00
nop
cmp byte [rbp + 0xf8], 0
jne 0x140037158
lea rcx, [rbp + 0xd8]
call fcn.140030f50
add rsi, 0x40
cmp rsi, r12
jne 0x140037110
mov r13, qword [rbp - 0x78]
mov rbx, qword [rbx]
cmp rbx, rdi
je 0x1400373ce
mov r12, qword [rbp - 0x70]
jmp 0x140037100
lea r9, [rsi + 0x20]
mov rcx, qword [r9 + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 2
jb 0x14003767c
cmp qword [r9 + 0x18], 0xf
jbe 0x140037181
mov r9, qword [r9]
mov qword [rsp + 0x30], 2
lea rax, [0x14010fd38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x130]
call fcn.140046f90
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.140040c50
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], 0xf
mov qword [rax + 0x10], rsi
mov byte [rax], sil
or r15d, 0x10
mov dword [rsp + 0x50], r15d
mov r8d, 1
lea rdx, [0x14010fd34]
lea rcx, [rbp + 0x110]
call fcn.140040c50
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], 0xf
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.140040c50
and r15d, 0xffffffdf
mov dword [rsp + 0x50], r15d
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1400372e4
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400372df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003766a
call fcn.1400a9a50
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
and r15d, 0xffffffef
mov dword [rsp + 0x50], r15d
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140037341
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003733c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037670
call fcn.1400a9a50
mov qword [rbp + 0x120], rsi
mov qword [rbp + 0x128], 0xf
mov byte [rbp + 0x110], 0
and r15d, 0xfffffff7
mov dword [rsp + 0x50], r15d
mov rdx, qword [rbp + 0x148]
cmp rdx, 0xf
jbe 0x1400373a4
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003739f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037676
call fcn.1400a9a50
mov qword [rbp + 0x140], rsi
mov qword [rbp + 0x148], 0xf
mov byte [rbp + 0x130], 0
lea rcx, [rbp + 0xd8]
call fcn.140030f50
jmp 0x140037146
mov rsi, qword [rsp + 0x40]
xor edi, edi
mov dword [rsp + 0x50], edi
test rsi, rsi
je 0x140037415
mov eax, r14d
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x140037415
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 0x140037415
mov rcx, qword [rbp + 0x108]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14003744f
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14003744f
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 0x14003744f
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140037489
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140037489
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 0x140037489
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1400374c2
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400374c2
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 0x1400374c2
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.1400377e0
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140037740
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140037522
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003751d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037682
call fcn.1400a9a50
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140030f50
nop
jmp 0x1400362b4
mov dword [rsp + 0x50], edi
lea rax, [rbp + 0x70]
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x70]
call fcn.1400377e0
nop
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0x30]
call fcn.140037740
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x1400375a8
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400375a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037682
call fcn.1400a9a50
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0xb0]
call fcn.140030f50
nop
jmp 0x1400362b4
test ecx, ecx
jne 0x140037616
mov dword [rsp + 0x50], edi
mov rdx, qword [rbp + 8]
cmp rdx, 7
jbe 0x1400362fc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400362ef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003762e
jmp 0x1400362ef
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x100]
lea rcx, str.exists
call fcn.14002de50
nop
call fcn.14008d658
nop
call fcn.14008d658
nop
call fcn.14008d658
nop
call fcn.14008d658
int3
call fcn.14008d658
nop
call fcn.14008d658
int3
call fcn.14008d658
nop
call fcn.14008d658
int3
call fcn.14008d658
nop
call fcn.14008d658
nop
call fcn.14008d658
nop
call fcn.14008d658
nop
call fcn.14008d658
nop
call fcn.14002b5d0
nop
call fcn.14008d658
int3