Function at 0x1400cea30
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
movapd xmmword [rsp + 0x160], xmm8
movapd xmmword [rsp + 0x150], xmm7
movapd xmmword [rsp + 0x140], xmm6
mov rax, qword [0x14033f038]
xor rax, rsp
mov qword [rsp + 0x138], rax
test rcx, rcx
je 0x1400cf84e
mov r13, r9
mov r14d, r8d
mov ebp, edx
mov rbx, rcx
movabs rsi, 0x7fffffffffffffef
call fcn.140198c60
cmp rax, rsi
ja 0x1400cf72e
mov r15, rax
lea rdi, [rsp + 0x68]
cmp rax, 0x16
jbe 0x1400cf87a
mov r12, r15
or r12, 0xf
inc r12
mov rcx, r12
call fcn.14016ecd4
mov qword [rsp + 0x68], rax
add rsi, 0x11
or rsi, r12
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], r15
lea rsi, [rax + r15]
cmp rax, rbx
ja 0x1400ceae9
cmp rsi, rbx
ja 0x1400cff07
test r15, r15
je 0x1400ceafc
mov rcx, rax
mov rdx, rbx
mov r8, r15
call fcn.1401730b0
mov byte [rsi], 0
cmp r14d, 1
jne 0x1400ceb1b
mov rsi, r13
cmp r13, 2
jne 0x1400ceb1e
mov esi, 3
mov r14d, 2
jmp 0x1400ceb1e
mov rsi, r13
movzx eax, byte [rsp + 0x7f]
mov r12d, eax
and r12d, 0x7f
test al, al
mov rbx, qword [rsp + 0x68]
cmovs r12, qword [rsp + 0x70]
cmovns rbx, rdi
mov r13b, 1
cmp r14d, ebp
jl 0x1400cf887
mov ecx, ebp
mov ebp, r14d
test ecx, ecx
jle 0x1400cf892
cmp ebp, 0x7fffffff
je 0x1400cf8a9
mov edx, ebp
cmp rsi, 0x3eb
mov qword [rsp + 0x60], rcx
jae 0x1400cf8b3
cmp edx, ecx
je 0x1400cf9fd
cmp rsi, 3
jb 0x1400cf6ff
test r13b, r13b
je 0x1400cf6ff
mov eax, edx
sub eax, ecx
add eax, 2
cdqe
cmp rsi, rax
ja 0x1400cf6ff
mov r14d, dword [rsp + 0x1e0]
mov rax, qword [0x1403428e0]
and rax, rdi
cmp rax, qword [0x1403428c8]
je 0x1400cfa08
mov qword [rsp + 0x88], rdi
mov dword [rsp + 0x90], 1
mov dword [rsp + 0x94], ecx
mov dword [rsp + 0x4c], edx
mov dword [rsp + 0x98], edx
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0xa0], rsi
mov dword [rsp + 0xa8], r14d
lea rax, [0x1402ff208]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0xb0], 0
movzx eax, byte [rsp + 0x7f]
mov ebx, eax
and ebx, 0x7f
test al, al
mov r14, qword [rsp + 0x68]
cmovs rbx, qword [rsp + 0x70]
cmovns r14, rdi
mov r12, qword [0x14035aa40]
test r12, r12
je 0x1400cee0c
mov ebp, dword [r12 + 0x50]
movabs r13, 0xaaaaaaaaaaaaaaaa
mov r15d, 0xaaaaaaab
mov qword [rsp + 0xd8], r13
mov edx, dword [r12 + 0x6c]
mov eax, dword [r12 + 0x68]
mov rcx, qword [r12 + 0x60]
cmp eax, 0x30
jne 0x1400cec7b
mov rcx, qword [rcx + 8]
add rcx, 0x30
jmp 0x1400cecda
cmp eax, 0x40
jb 0x1400cee0c
mov r9d, eax
mov r8d, r9d
and r8d, 7
jne 0x1400cee0c
lea r10, [r9 + 0x10]
mov r8d, dword [rcx + 0x14]
cmp r10, r8
ja 0x1400cee0c
mov rcx, qword [rcx + 8]
mov r10d, dword [rcx + r9 + 4]
cmp r10d, 0xc8799269
jne 0x1400cee0c
add rcx, r9
mov r9d, dword [rcx]
cmp r9d, 0x10
jb 0x1400cee0c
mov r9d, dword [rcx]
add r9d, eax
cmp r9d, r8d
ja 0x1400cee0c
test rcx, rcx
je 0x1400cee0c
mov r8d, dword [rcx + 0xc]
cmp r8d, 0x30
je 0x1400cee0c
mov rcx, qword [r12 + 0x60]
cmp r8d, 0x40
jb 0x1400cee07
mov r9d, r8d
and r9d, 7
jne 0x1400cee07
lea r9, [r8 + 0x10]
mov r10d, dword [rcx + 0x14]
cmp r9, r10
ja 0x1400cee07
mov r9, qword [rcx + 8]
mov r11d, dword [r9 + r8 + 4]
cmp r11d, 0xc8799269
jne 0x1400cee07
add r9, r8
mov r11d, dword [r9]
cmp r11d, 0x10
jb 0x1400cee07
mov r11d, dword [r9]
add r11d, r8d
cmp r11d, r10d
ja 0x1400cee07
test r9, r9
je 0x1400cee07
lock cmpxchg dword [r12 + 0x68], r8d
jne 0x1400cec67
mov eax, dword [r9 + 8]
mov rcx, qword [r12 + 0x60]
mov r9, qword [rcx + 8]
mov r9d, dword [r9 + 0x28]
mov r10d, dword [rcx + 0x14]
cmp r10d, r9d
cmovb r9d, r10d
imul r9, r15
shr r9, 0x24
cmp edx, r9d
ja 0x1400cee07
lock inc dword [r12 + 0x6c]
cmp eax, 0xf1645913
jne 0x1400cec5d
cmp r8d, ebp
je 0x1400cec5d
mov rcx, qword [r12 + 0x58]
lea rsi, [rsp + 0xd8]
mov rdx, rsi
call fcn.14004c1b0
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cee0c
xor esi, esi
mov qword [rsp + 0xd8], rsi
call fcn.1400ab580
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
test rcx, rcx
je 0x1400cec55
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x140211850.0]
jmp 0x1400cec55
call fcn.140220540
mov r15, qword [0x140352bb8]
cmp r15, 1
jbe 0x1400cfa21
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400cfa5e
mov rax, qword [0x140352bb8]
cmp rax, 1
jbe 0x1400cfa6b
mov rcx, qword [0x140352bc8]
test rcx, rcx
je 0x1400cfaa8
test rbx, rbx
je 0x1400cfac6
xor eax, eax
xor r12d, r12d
movsx rdx, byte [r14 + rax]
imul r12, r12, 0x83
add r12, rdx
inc rax
cmp rbx, rax
jne 0x1400cee5d
mov rbp, qword [rcx + 8]
test rbp, rbp
je 0x1400ceefa
mov rax, rbp
shr rax, 1
movabs rdx, 0x5555555555555555
and rdx, rax
mov rax, rbp
sub rax, rdx
movabs rdx, 0x3333333333333333
mov r8, rax
and r8, rdx
shr rax, 2
and rax, rdx
add rax, r8
mov rdx, rax
shr rdx, 4
add rdx, rax
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rdx
movabs rsi, 0x101010101010101
imul rsi, rax
shr rsi, 0x38
cmp rsi, 1
ja 0x1400cface
lea r13, [rbp - 1]
and r13, r12
mov rax, qword [rcx]
mov rax, qword [rax + r13*8]
test rax, rax
jne 0x1400cfe9b
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movzx eax, byte [rsp + 0x7f]
mov esi, eax
and esi, 0x7f
test al, al
mov r14, qword [rsp + 0x68]
cmovs rsi, qword [rsp + 0x70]
cmovns r14, rdi
xorpd xmm0, xmm0
lea rbx, [rsp + 0xf0]
movupd xmmword [rbx + 0x34], xmm0
movupd xmmword [rbx + 0x28], xmm0
movupd xmmword [rbx + 0x18], xmm0
movupd xmmword [rbx + 8], xmm0
movupd xmmword [rbx - 8], xmm0
movapd xmm6, xmmword [0x140309930]
movupd xmmword [rbx - 0x18], xmm6
test rsi, rsi
je 0x1400cef90
lea eax, [rsi*8]
mov rcx, rsi
shr rcx, 0x1d
mov dword [rsp + 0xec], ecx
mov dword [rsp + 0xe8], eax
mov r8, rsi
cmp rsi, 0x40
jae 0x1400cfd08
mov dword [rsp + 0x130], esi
mov rcx, rbx
mov rdx, r14
call fcn.1401730b0
mov eax, dword [rsp + 0x130]
lea rcx, [rax + 1]
mov esi, dword [rsp + 0xe8]
mov ebp, dword [rsp + 0xec]
mov byte [rsp + rax + 0xf0], 0x80
cmp rax, 0x38
jae 0x1400cfaea
cmp rcx, 0x38
je 0x1400cefd4
mov r8d, 0x38
sub r8, rcx
add rcx, rbx
xor edx, edx
call fcn.140173760
lea r14, [rsp + 0xd8]
mov dword [r14 + 0x50], esi
mov dword [r14 + 0x54], ebp
mov r8d, 1
mov rcx, r14
mov rdx, rbx
call fcn.14000ce40
mov r14d, dword [r14]
mov r15, qword [0x140352bb8]
cmp r15, 1
jbe 0x1400cfb1f
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400cfb5c
mov rax, qword [0x140352bb8]
cmp rax, 1
jbe 0x1400cfb69
mov rax, qword [0x140352bc8]
test rax, rax
je 0x1400cfba6
mov rcx, qword [rax + 0x68]
mov bpl, 1
test rcx, rcx
jne 0x1400cfbc4
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movzx eax, byte [rsp + 0x7f]
mov esi, eax
and esi, 0x7f
test al, al
cmovs rdi, qword [rsp + 0x68]
cmovs rsi, qword [rsp + 0x70]
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x124], xmm0
movupd xmmword [rsp + 0x118], xmm0
movupd xmmword [rsp + 0x108], xmm0
movupd xmmword [rsp + 0xf8], xmm0
movupd xmmword [rsp + 0xe8], xmm0
movupd xmmword [rsp + 0xd8], xmm6
test rsi, rsi
mov r15, qword [rsp + 0x50]
je 0x1400cf0eb
lea eax, [rsi*8]
mov rcx, rsi
shr rcx, 0x1d
mov dword [rsp + 0xec], ecx
mov dword [rsp + 0xe8], eax
mov r8, rsi
cmp rsi, 0x40
jae 0x1400cfd38
mov dword [rsp + 0x130], esi
mov rcx, rbx
mov rdx, rdi
call fcn.1401730b0
mov eax, dword [rsp + 0x130]
lea rcx, [rax + 1]
mov esi, dword [rsp + 0xe8]
mov r14d, dword [rsp + 0xec]
mov byte [rsp + rax + 0xf0], 0x80
cmp rax, 0x38
jae 0x1400cfbde
cmp rcx, 0x38
je 0x1400cf130
mov r8d, 0x38
sub r8, rcx
add rcx, rbx
xor edx, edx
call fcn.140173760
lea rdi, [rsp + 0xd8]
mov dword [rdi + 0x50], esi
mov dword [rdi + 0x54], r14d
mov r8d, 1
mov rcx, rdi
mov rdx, rbx
call fcn.14000ce40
mov rdi, qword [rdi]
mov rbx, qword [0x140352bb8]
cmp rbx, 1
jbe 0x1400cfc18
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
mov esi, dword [rsp + 0x1e0]
je 0x1400cfc5a
mov rax, qword [0x140352bb8]
cmp rax, 1
jbe 0x1400cfc67
mov rax, qword [0x140352bc8]
test rax, rax
je 0x1400cfcb0
mov rcx, qword [rax + 0x70]
test rcx, rcx
jne 0x1400cfcce
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test esi, esi
setne al
xor bpl, 1
test al, bpl
jne 0x1400cf841
mov ecx, 0x20
call fcn.14016ecd4
mov rdi, rax
mov rsi, r15
xorpd xmm0, xmm0
movupd xmmword [rax], xmm0
mov qword [rax + 0x10], 0
inc rsi
je 0x1400cfd68
mov rax, rsi
shr rax, 0x3e
jne 0x1400cf72e
lea rcx, [rsi*4]
call fcn.14016ecd4
mov qword [rdi], rax
mov qword [rdi + 8], rax
lea r8, [rax + rsi*4]
mov qword [rdi + 0x10], r8
lea rcx, [r15*4 + 4]
xor edx, edx
mov r9, rax
add r9, rdx
je 0x1400cf6a7
mov dword [r9], 0
add rdx, 4
cmp rcx, rdx
jne 0x1400cf221
mov qword [rdi + 8], r8
mov qword [rdi + 0x18], 0
mov rcx, r8
sub rcx, rax
sar rcx, 2
lea rdx, [rcx - 1]
cmp rdx, 2
mov r9d, dword [rsp + 0x4c]
jb 0x1400cf339
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [rsp + 0x60]
cvtsi2sd xmm1, r9d
add rcx, 0xfffffffffffffffd
movq xmm3, rcx
punpckldq xmm3, xmmword [0x140309940]
subpd xmm3, xmmword [0x140309950]
movapd xmm2, xmm3
unpckhpd xmm2, xmm3
addsd xmm2, xmm3
mov eax, 1
movdqa xmm3, xmmword [0x140309940]
movapd xmm4, xmmword [0x140309950]
movsd xmm5, qword [0x1402ee600]
mov r8, qword [rdi]
mov r9, qword [rdi + 8]
sub r9, r8
sar r9, 2
cmp r9, rax
jbe 0x1400cf6d3
movq xmm6, rcx
punpckldq xmm6, xmm3
subpd xmm6, xmm4
movapd xmm7, xmm6
unpckhpd xmm7, xmm6
addsd xmm7, xmm6
mulsd xmm7, xmm0
lea r9, [rax - 1]
movq xmm6, r9
punpckldq xmm6, xmm3
subpd xmm6, xmm4
movapd xmm8, xmm6
unpckhpd xmm8, xmm6
addsd xmm8, xmm6
mulsd xmm8, xmm1
addsd xmm8, xmm7
divsd xmm8, xmm2
addsd xmm8, xmm5
cvttsd2si r9d, xmm8
mov dword [r8 + rax*4], r9d
dec rcx
inc rax
cmp rax, rdx
jne 0x1400cf2b6
mov rax, qword [rdi]
mov r8, qword [rdi + 8]
cmp r8, rax
je 0x1400cf6d3
mov dword [r8 - 4], 0x7fffffff
mov rax, qword [rdi]
mov rcx, qword [rdi + 8]
sub rcx, rax
je 0x1400cfd72
mov rdx, rcx
shr rdx, 2
xor r8d, r8d
lea r9, [0x140311e40]
movzx r10d, dl
movzx r11d, byte [rax + r8]
xor r11d, r10d
shr edx, 8
xor edx, dword [r9 + r11*4]
inc r8
cmp rcx, r8
jne 0x1400cf36b
mov dword [rdi + 0x18], edx
mov rcx, rdi
call fcn.1400ac950
mov rsi, rax
cmp qword [rsp + 0xa0], 0
je 0x1400cfdd0
mov dword [rsp + 0xc8], 0
mov rdi, qword [0x14035aa40]
test rdi, rdi
je 0x1400cfd79
mov r9, qword [rsp + 0x88]
test r9, r9
je 0x1400cfe30
mov r8d, dword [rsp + 0x90]
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x98]
mov ebp, dword [rsp + 0xa8]
lea rdx, [rsp + 0xc8]
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x38], ebp
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
lea rbx, [rsp + 0xd8]
mov rcx, rdi
mov rdx, rbx
call fcn.14004a340
mov r14, qword [rbx]
test r14, r14
je 0x1400cfd80
lea rcx, [rsp + 0x80]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov rdx, r14
call qword [case.0x140211850.0]
mov rcx, r14
call fcn.1400ab580
mov rbx, rax
mov edx, dword [rsp + 0xc8]
test rdx, rdx
je 0x1400cf591
mov rcx, qword [rdi + 8]
cmp rbx, r14
jne 0x1400cfe33
mov al, byte [rcx + 0x29]
test al, 1
jne 0x1400cf69d
mov rax, qword [rcx + 8]
mov r8d, dword [rax + 0x24]
test r8b, 1
jne 0x1400cf69d
cmp edx, 0x40
jb 0x1400cf591
mov r8d, edx
and r8d, 7
jne 0x1400cf591
lea r9, [rdx + 0x10]
mov r8d, dword [rcx + 0x14]
cmp r9, r8
ja 0x1400cf591
mov r9d, dword [rax + rdx + 4]
cmp r9d, 0xc8799269
jne 0x1400cf591
add rax, rdx
mov r9d, dword [rax]
cmp r9d, 0x10
jb 0x1400cf591
mov r9d, dword [rax]
add r9d, edx
cmp r9d, r8d
ja 0x1400cf591
test rax, rax
je 0x1400cf591
mov r8d, dword [rax + 0xc]
test r8d, r8d
jne 0x1400cf591
mov dword [rax + 0xc], 0x30
mov rax, qword [rcx + 8]
mov r8d, dword [rax + 0x2c]
cmp r8d, 0x30
je 0x1400cfe4b
cmp r8d, 0x40
jb 0x1400cf69d
mov r10d, r8d
mov eax, r10d
and eax, 7
jne 0x1400cf69d
lea r9, [r10 + 0x10]
mov eax, dword [rcx + 0x14]
cmp r9, rax
ja 0x1400cf69d
mov r9, qword [rcx + 8]
mov r11d, dword [r9 + r10 + 4]
cmp r11d, 0xc8799269
jne 0x1400cf69d
add r9, r10
mov r10d, dword [r9]
cmp r10d, 0x10
jb 0x1400cf69d
mov r10d, dword [r9]
add r10d, r8d
cmp r10d, eax
ja 0x1400cf69d
test r9, r9
je 0x1400cf69d
mov eax, 0x30
lock cmpxchg dword [r9 + 0xc], edx
jne 0x1400cfe58
mov rcx, qword [rcx + 8]
mov eax, r8d
lock cmpxchg dword [rcx + 0x2c], edx
mov esi, dword [rsp + 0x90]
mov rax, qword [rbx]
mov rax, qword [rax + 0x18]
mov rcx, rbx
call qword [case.0x140211850.0]
cmp esi, eax
jne 0x1400cf733
mov r9, qword [rsp + 0xa0]
test r9, r9
je 0x1400cf5e4
mov edx, dword [rsp + 0x94]
mov r8d, dword [rsp + 0x98]
mov rax, qword [rbx]
mov rax, qword [rax + 0x20]
mov rcx, rbx
call qword [case.0x140211850.0]
test al, al
je 0x1400cf733
lea rax, [0x1402ff208]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0xb0]
mov rax, qword [0x1403428e0]
and rax, rcx
cmp rax, qword [0x1403428c8]
je 0x1400cfdbc
mov qword [rsp + 0xb0], 0
lea rax, [0x1402ff1e8]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x88]
mov rax, qword [0x1403428e0]
and rax, rcx
cmp rax, qword [0x1403428c8]
je 0x1400cfdc6
cmp byte [rsp + 0x7f], 0
jns 0x1400cf65d
mov rcx, qword [rsp + 0x68]
call fcn.14016eccc
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.140171860
mov rax, rbx
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
movaps xmm8, xmmword [rsp + 0x160]
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140220540
jmp 0x1400cf591
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x23
call fcn.1401c469a
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str.__n___size__
mov r8d, 0x587
call fcn.1401c469a
lea rcx, [rsp + 0xb8]
mov qword [rcx], rbx
mov qword [rcx + 8], r12
call fcn.14008e390
lea rcx, str.Histogram.BadConstructionArguments
mov edx, eax
call fcn.1400841f0
call fcn.140157fb0
mov rbx, rax
jmp 0x1400cf64c
call fcn.14016fee0
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x1400d002f
movzx ecx, byte [rax + 0x17]
mov ebx, ecx
and ebx, 0x7f
test cl, cl
mov rdi, qword [rax]
cmovs rbx, qword [rax + 8]
cmovns rdi, rax
xorpd xmm0, xmm0
lea rsi, [rsp + 0xf0]
movupd xmmword [rsi + 0x34], xmm0
movupd xmmword [rsi + 0x28], xmm0
movupd xmmword [rsi + 0x18], xmm0
movupd xmmword [rsi + 8], xmm0
movupd xmmword [rsi - 8], xmm0
movapd xmm0, xmmword [0x140309930]
movupd xmmword [rsi - 0x18], xmm0
test rbx, rbx
je 0x1400cf7cd
lea eax, [rbx*8]
mov rcx, rbx
shr rcx, 0x1d
mov dword [rsp + 0xec], ecx
mov dword [rsp + 0xe8], eax
mov r8, rbx
cmp rbx, 0x40
jae 0x1400cff33
mov dword [rsp + 0x130], ebx
mov rcx, rsi
mov rdx, rdi
call fcn.1401730b0
mov eax, dword [rsp + 0x130]
lea rcx, [rax + 1]
mov ebx, dword [rsp + 0xe8]
mov ebp, dword [rsp + 0xec]
mov byte [rsp + rax + 0xf0], 0x80
cmp rax, 0x38
jae 0x1400cff63
cmp rcx, 0x38
je 0x1400cf811
mov r8d, 0x38
sub r8, rcx
add rcx, rsi
xor edx, edx
call fcn.140173760
lea rdi, [rsp + 0xd8]
mov dword [rdi + 0x50], ebx
mov dword [rdi + 0x54], ebp
mov r8d, 1
mov rcx, rdi
mov rdx, rsi
call fcn.14000ce40
mov edx, dword [rdi + 4]
bswap edx
lea rcx, str.Histogram.MismatchedConstructionArguments
call fcn.1400841f0
call fcn.140157fb0
mov rbx, rax
jmp 0x1400cf5e4
lea rax, str.basic_string_const_char__detected_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_string
lea r9, str.__s___nullptr
mov r8d, 0x368
call fcn.1401c469a
mov byte [rsp + 0x7f], r15b
mov rax, rdi
jmp 0x1400cead7
xor r13d, r13d
mov ecx, r14d
jmp 0x1400ceb4c
mov ecx, 1
mov edx, 1
test ebp, ebp
jg 0x1400ceb54
jmp 0x1400ceb62
mov edx, 0x7ffffffe
jmp 0x1400ceb62
mov dword [rsp + 0x4c], edx
mov qword [rsp + 0x50], rsi
xorps xmm0, xmm0
lea r14, [rsp + 0xf0]
movups xmmword [r14 + 0x34], xmm0
movups xmmword [r14 + 0x28], xmm0
movups xmmword [r14 + 0x18], xmm0
movups xmmword [r14 + 8], xmm0
movups xmmword [r14 - 8], xmm0
movapd xmm0, xmmword [0x140309930]
movupd xmmword [r14 - 0x18], xmm0
test r12, r12
je 0x1400cf932
lea eax, [r12*8]
mov rcx, r12
shr rcx, 0x1d
mov dword [rsp + 0xec], ecx
mov dword [rsp + 0xe8], eax
mov eax, r12d
mov r8, r12
mov rdx, rbx
cmp r12, 0x40
jae 0x1400cff98
mov dword [rsp + 0x130], eax
mov rcx, r14
call fcn.1401730b0
mov eax, dword [rsp + 0x130]
lea rcx, [rax + 1]
mov esi, dword [rsp + 0xe8]
mov ebp, dword [rsp + 0xec]
mov byte [rsp + rax + 0xf0], 0x80
cmp rax, 0x38
jae 0x1400cffce
cmp rcx, 0x38
je 0x1400cf976
mov r8d, 0x38
sub r8, rcx
add rcx, r14
xor edx, edx
call fcn.140173760
lea r15, [rsp + 0xd8]
mov dword [r15 + 0x50], esi
mov dword [r15 + 0x54], ebp
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.14000ce40
mov edx, dword [r15 + 4]
bswap edx
lea rcx, str.Histogram.TooManyBuckets.1000
call fcn.1400841f0
lea rax, str.Blink.UseCounter
lea rdx, [rsp + 0x80]
mov qword [rdx], rax
mov qword [rdx + 8], 0x10
lea rcx, [rsp + 0xc8]
mov qword [rcx], rbx
mov qword [rcx + 8], r12
xor r8d, r8d
call fcn.140095430
test al, al
mov rsi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
mov edx, dword [rsp + 0x4c]
jne 0x1400ceb74
mov esi, 0x66
xor r13d, r13d
jmp 0x1400ceb74
lea edx, [rcx + 1]
xor r13d, r13d
jmp 0x1400ceb7c
mov rbx, rcx
lea rcx, [rsp + 0x68]
mov ebp, edx
call fcn.140156f20
mov edx, ebp
mov rcx, rbx
jmp 0x1400cebc0
lea rcx, [0x140352bb8]
call fcn.14006d330
test al, al
je 0x1400d0032
lea r15, [0x140352bc0]
mov rcx, r15
call fcn.140075520
lea rcx, [0x140352bb8]
mov rdx, r15
xor r8d, r8d
mov r9, rcx
call fcn.14006d410
jmp 0x1400cee1d
mov rcx, r15
call fcn.140047ff0
jmp 0x1400cee2e
lea rcx, [0x140352bb8]
call fcn.14006d330
test al, al
je 0x1400d003e
lea r12, [0x140352bc0]
mov rcx, r12
call fcn.140075520
lea rcx, [0x140352bb8]
mov rdx, r12
xor r8d, r8d
mov r9, rcx
call fcn.14006d410
jmp 0x1400cee3f
mov ecx, 0xc0
call fcn.14016ecd4
mov rcx, rax
call fcn.1400ce3a0
mov rcx, qword [0x140352bc8]
jmp 0x1400cee4f
xor r12d, r12d
jmp 0x1400cee74
mov r13, r12
cmp r12, rbp
jb 0x1400ceeea
mov rax, r12
xor edx, edx
div rbp
mov r13, rdx
jmp 0x1400ceeea
cmp eax, 0x3f
je 0x1400cfb02
mov r8d, 0x3f
sub r8, rax
add rcx, rbx
xor edx, edx
call fcn.140173760
lea rcx, [rsp + 0xd8]
mov r8d, 1
mov rdx, rbx
call fcn.14000ce40
xor ecx, ecx
jmp 0x1400cefc1
lea rcx, [0x140352bb8]
call fcn.14006d330
test al, al
je 0x1400d004a
lea r15, [0x140352bc0]
mov rcx, r15
call fcn.140075520
lea rcx, [0x140352bb8]
mov rdx, r15
xor r8d, r8d
mov r9, rcx
call fcn.14006d410
jmp 0x1400cf009
mov rcx, r15
call fcn.140047ff0
jmp 0x1400cf01a
lea rcx, [0x140352bb8]
call fcn.14006d330
test al, al
je 0x1400d0056
lea r12, [0x140352bc0]
mov rcx, r12
call fcn.140075520
lea rcx, [0x140352bb8]
mov rdx, r12
xor r8d, r8d
mov r9, rcx
call fcn.14006d410
jmp 0x1400cf02b
mov ecx, 0xc0
call fcn.14016ecd4
mov rcx, rax
call fcn.1400ce3a0
mov rax, qword [0x140352bc8]
jmp 0x1400cf03b
bswap r14d
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov edx, r14d
call qword [case.0x140211850.0]
mov ebp, eax
jmp 0x1400cf04b
cmp eax, 0x3f
je 0x1400cfbf6
mov r8d, 0x3f
sub r8, rax
add rcx, rbx
xor edx, edx
call fcn.140173760
lea rcx, [rsp + 0xd8]
mov r8d, 1
mov rdx, rbx
call fcn.14000ce40
xor ecx, ecx
mov r15, qword [rsp + 0x50]
jmp 0x1400cf11d
lea rcx, [0x140352bb8]
call fcn.14006d330
test al, al
je 0x1400d0062
lea rbx, [0x140352bc0]
mov rcx, rbx
call fcn.140075520
lea rcx, [0x140352bb8]
mov rdx, rbx
xor r8d, r8d
mov r9, rcx
call fcn.14006d410
mov r15, qword [rsp + 0x50]
jmp 0x1400cf164
mov rcx, rbx
call fcn.140047ff0
jmp 0x1400cf17c
lea rcx, [0x140352bb8]
call fcn.14006d330
test al, al
je 0x1400d006e
lea r14, [0x140352bc0]
mov rcx, r14
call fcn.140075520
lea rcx, [0x140352bb8]
mov rdx, r14
xor r8d, r8d
mov r9, rcx
call fcn.14006d410
mov r15, qword [rsp + 0x50]
mov esi, dword [rsp + 0x1e0]
jmp 0x1400cf18d
mov ecx, 0xc0
call fcn.14016ecd4
mov rcx, rax
call fcn.1400ce3a0
mov rax, qword [0x140352bc8]
jmp 0x1400cf19d
bswap rdi
mov byte [rsp + 0x40], bpl
mov dword [rsp + 0x38], esi
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x60]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x30], 1
lea r8, [rsp + 0x68]
mov rdx, rdi
mov r9d, r15d
call fcn.140224690
jmp 0x1400cf1aa
shr r8, 6
lea rcx, [rsp + 0xd8]
mov rdx, r14
call fcn.14000ce40
mov r8, rsi
and r8, 0x3f
je 0x1400cef90
and rsi, 0xffffffffffffffc0
add r14, rsi
mov esi, r8d
jmp 0x1400cef7e
shr r8, 6
lea rcx, [rsp + 0xd8]
mov rdx, rdi
call fcn.14000ce40
mov r8, rsi
and r8, 0x3f
je 0x1400cf0eb
and rsi, 0xffffffffffffffc0
add rdi, rsi
mov esi, r8d
jmp 0x1400cf0d9
xor eax, eax
xor r8d, r8d
jmp 0x1400cf241
xor edx, edx
jmp 0x1400cf386
mov ebp, dword [rsp + 0xa8]
and ebp, 0xffffffbf
lea rbx, [rsp + 0x80]
mov dword [rbx + 0x28], ebp
mov rax, qword [rbx]
mov rax, qword [rax + 8]
lea r14, [rsp + 0xd8]
mov rcx, rbx
mov rdx, r14
mov r8, rsi
call qword [case.0x140211850.0]
mov r14, qword [r14]
mov eax, dword [rbx + 0x28]
lock or dword [r14 + 0x10], eax
jmp 0x1400cf429
call fcn.1401571d0
jmp 0x1400cf612
call fcn.1401571d0
jmp 0x1400cf64c
mov rax, qword [rsi + 8]
sub rax, qword [rsi]
sar rax, 2
lea rcx, [rax - 1]
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
sub rdx, rcx
cmp rdx, 4
jbe 0x1400d0003
mov ecx, dword [rcx + 4]
mov dword [rsp + 0x94], ecx
lea rdx, [rax - 2]
mov rcx, qword [rsi]
mov r8, qword [rsi + 8]
sub r8, rcx
sar r8, 2
cmp r8, rdx
jbe 0x1400d0003
mov eax, dword [rcx + rax*4 - 8]
mov dword [rsp + 0x98], eax
jmp 0x1400cf3a3
int3
mov byte [rsp + 0x20], 0
xor r8d, r8d
mov r9d, 0xf1645913
call fcn.1400dff00
jmp 0x1400cf591
mov r9, qword [rcx + 8]
add r9, 0x30
jmp 0x1400cf56b
mov r9d, eax
mov r10, qword [rcx + 8]
mov eax, r8d
lock cmpxchg dword [r10 + 0x2c], r9d
mov r8d, eax
jmp 0x1400cf503
cmp esi, 1
jbe 0x1400cfe92
cmp rax, rbp
jb 0x1400cfe82
xor edx, edx
div rbp
mov rax, rdx
cmp rax, r13
jne 0x1400ceefa
mov rax, qword [rsp + 0x58]
jmp 0x1400cfe9b
lea rcx, [rbp - 1]
and rax, rcx
jmp 0x1400cfe82
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400ceefa
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 8]
cmp rax, r12
jne 0x1400cfe70
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x18], rbx
jne 0x1400cfe8b
test rbx, rbx
je 0x1400cfee2
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10]
mov rdx, r14
mov r8, rbx
call fcn.140172fb0
test eax, eax
jne 0x1400cfe8b
mov rax, qword [rsp + 0x58]
mov rbx, qword [rax + 0x20]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov esi, 1
test rbx, rbx
jne 0x1400cf598
jmp 0x1400cef03
lea rax, str.char_traits::copy_overlapped_range
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__stringchar_traits.h
lea r9, str.__s2_____s1____s2_____s1__n
mov r8d, 0xec
call fcn.1401c469a
shr r8, 6
lea rcx, [rsp + 0xd8]
mov rdx, rdi
call fcn.14000ce40
mov r8, rbx
and r8, 0x3f
je 0x1400cf7cd
and rbx, 0xffffffffffffffc0
add rdi, rbx
mov ebx, r8d
jmp 0x1400cf7bb
cmp eax, 0x3f
je 0x1400cff7b
mov r8d, 0x3f
sub r8, rax
add rcx, rsi
xor edx, edx
call fcn.140173760
lea rcx, [rsp + 0xd8]
mov r8d, 1
mov rdx, rsi
call fcn.14000ce40
xor ecx, ecx
jmp 0x1400cf7fe
mov r8, r12
shr r8, 6
lea rcx, [rsp + 0xd8]
mov rdx, rbx
call fcn.14000ce40
mov r8, r12
and r8, 0x3f
je 0x1400cf932
mov rdx, r12
and rdx, 0xffffffffffffffc0
add rdx, rbx
mov eax, r8d
jmp 0x1400cf923
cmp eax, 0x3f
je 0x1400cffe6
mov r8d, 0x3f
sub r8, rax
add rcx, r14
xor edx, edx
call fcn.140173760
lea rcx, [rsp + 0xd8]
mov r8d, 1
mov rdx, r14
call fcn.14000ce40
xor ecx, ecx
jmp 0x1400cf963
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str.__n___size__
mov r8d, 0x591
call fcn.1401c469a
int3
mov r15, qword [0x140352bb8]
jmp 0x1400cee1d
mov rax, qword [0x140352bb8]
jmp 0x1400cee3f
mov r15, qword [0x140352bb8]
jmp 0x1400cf009
mov rax, qword [0x140352bb8]
jmp 0x1400cf02b
mov rbx, qword [0x140352bb8]
jmp 0x1400cfc50
mov rax, qword [0x140352bb8]
jmp 0x1400cfc9f