Function at 0x1400b7e40
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, 0x138
movaps xmmword [rsp + 0x120], xmm6
mov r13, rdx
mov rax, qword [0x14022d028]
xor rax, rsp
mov qword [rsp + 0x118], rax
mov r15, qword [rcx + 8]
mov al, byte [r15 + 0x2c]
test al, 1
jne 0x1400b9120
mov rax, qword [r15 + 8]
mov eax, dword [rax + 0x24]
test al, 1
jne 0x1400b9282
mov r14, r9
mov ebx, r8d
mov rbp, rcx
mov rax, qword [r9 + 8]
add rax, 0x51
cmp rax, 0x59
mov r12d, 0x58
cmovae r12, rax
mov rcx, r15
mov rdx, r12
mov r8d, 0xf1645913
call fcn.1400b98d0
xor ecx, ecx
cmp eax, 0x40
jb 0x1400b7f2e
mov eax, eax
mov edx, eax
and edx, 7
jne 0x1400b7f2e
add r12, 0x10
xor ecx, ecx
mov rdx, rax
add rdx, r12
jb 0x1400b7f2e
mov r8, rdx
shr r8, 0x20
jne 0x1400b7f2e
mov r8d, dword [r15 + 0x14]
cmp r8d, edx
jb 0x1400b9223
mov rdx, qword [r15 + 8]
mov ecx, dword [rdx + rax + 4]
cmp ecx, 0xc8799269
jne 0x1400b9223
add rdx, rax
mov ecx, dword [rdx]
cmp r12, rcx
ja 0x1400b9223
xor ecx, ecx
add eax, dword [rdx]
jb 0x1400b7f2e
cmp eax, r8d
ja 0x1400b7f2e
mov eax, dword [rdx + 8]
xor ecx, ecx
cmp eax, 0xf1645913
cmove rcx, rdx
lea rsi, [rcx + 0x10]
test rcx, rcx
cmove rsi, rcx
test rsi, rsi
je 0x1400b9117
mov edi, dword [rsp + 0x1b8]
xorps xmm0, xmm0
movups xmmword [rsi + 0x40], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x50], 0
lea rcx, [rsi + 0x50]
mov rdx, qword [r14]
mov r8, qword [r14 + 8]
call fcn.140147fd0
mov rax, qword [r14 + 8]
mov byte [rsi + rax + 0x50], 0
mov dword [rsi], ebx
or edi, 0x40
mov dword [rsi + 4], edi
mov dword [rsi + 0x1c], 0
cmp ebx, 4
je 0x1400b9013
mov rdi, qword [rsp + 0x1b0]
mov rbx, qword [rdi + 8]
sub rbx, qword [rdi]
mov r14, rbx
sar r14, 2
movabs rax, 0xdfffffffffffffff
lea rcx, [r14 + rax]
add rax, 2
cmp rcx, rax
jb 0x1400b9120
mov eax, dword [rdi + 0x1c]
test eax, eax
je 0x1400b8b9e
test rsi, rsi
je 0x1400b9120
mov ecx, dword [rsp + 0x1a8]
mov edx, dword [rsp + 0x1a0]
movabs r8, 0xaaaaaaaaaaaaaaaa
mov dword [rsi + 8], edx
mov dword [rsi + 0xc], ecx
dec r14d
mov dword [rsi + 0x10], r14d
mov dword [rsi + 0x14], eax
mov eax, dword [rdi + 0x18]
mov dword [rsi + 0x18], eax
mov ebx, dword [rsi]
mov qword [r13], r8
cmp ebx, 4
je 0x1400b9021
mov eax, dword [rsi + 4]
mov dword [rsp + 0x74], eax
mov r11d, dword [rsi + 0x10]
mov eax, dword [rsi + 0x14]
mov edi, dword [rsi + 0x18]
mov rcx, qword [rbp + 8]
lea r8d, [rax + 0x14]
xor edx, edx
cmp r8d, 0x54
jb 0x1400b8095
mov r9d, eax
and r9d, 7
jne 0x1400b8095
mov r9d, dword [rcx + 0x14]
cmp r9d, r8d
jb 0x1400b922a
mov r8, qword [rcx + 8]
mov edx, dword [r8 + rax + 4]
cmp edx, 0xc8799269
jne 0x1400b922a
add r8, rax
mov edx, dword [r8]
cmp edx, 0x14
jb 0x1400b922a
xor edx, edx
mov r10d, dword [r8]
add r10d, eax
jb 0x1400b8095
cmp r10d, r9d
ja 0x1400b8095
mov r9d, dword [r8 + 8]
xor edx, edx
cmp r9d, 0xbcea225b
cmove rdx, r8
lea r15, [rdx + 0x10]
test rdx, rdx
cmove r15, rdx
lea r9d, [rax + 0x10]
xor edx, edx
cmp r9d, 0x50
mov qword [rsp + 0x38], r11
jb 0x1400b813d
mov r8d, eax
and r8d, 7
jne 0x1400b813d
mov r8d, dword [rcx + 0x14]
cmp r8d, r9d
jb 0x1400b91ba
mov r9, qword [rcx + 8]
mov edx, dword [r9 + rax + 4]
cmp edx, 0xc8799269
jne 0x1400b91ba
add r9, rax
mov edx, dword [r9]
cmp edx, 0x10
jb 0x1400b9231
mov r10d, dword [r9]
add r10d, eax
setb r11b
xor edx, edx
test r9, r9
je 0x1400b9233
test r11b, r11b
jne 0x1400b9233
cmp r10d, r8d
mov r11, qword [rsp + 0x38]
ja 0x1400b813d
mov edx, dword [r9]
cmp rdx, 0x11
jb 0x1400b91ae
mov r9d, edx
add r9d, eax
jb 0x1400b91ae
cmp r9d, r8d
ja 0x1400b91ae
add rdx, 0xfffffffffffffff0
mov dword [rsp + 0x54], ebx
test r15, r15
je 0x1400b919a
cmp r11d, 2
jb 0x1400b919a
cmp r11d, 0x3ffffffe
ja 0x1400b919a
lea r12d, [r11 + 1]
lea r14, [r12*4]
cmp rdx, r14
jb 0x1400b919a
mov ecx, 0x20
call fcn.140143bb8
mov rbx, rax
mov rcx, r14
call fcn.140143bb8
mov qword [rbx], rax
mov qword [rbx + 8], rax
lea rcx, [rax + r12*4]
mov qword [rbx + 0x10], rcx
xor edx, edx
nop dword [rax]
mov r8, rax
add r8, rdx
je 0x1400b91ea
mov dword [r8], 0
add rdx, 4
cmp r14, rdx
jne 0x1400b81a0
mov qword [rbx + 8], rcx
mov qword [rbx + 0x18], 0
mov ecx, dword [r15]
mov dword [rax], ecx
mov eax, 1
nop word cs:[rax + rax]
mov ecx, dword [r15 + rax*4]
cmp ecx, dword [r15 + rax*4 - 4]
jle 0x1400b9191
mov rdx, qword [rbx]
mov r8, qword [rbx + 8]
sub r8, rdx
sar r8, 2
cmp r8, rax
jbe 0x1400b91d7
mov dword [rdx + rax*4], ecx
inc rax
cmp r12, rax
jne 0x1400b81e0
mov r8, qword [rbx]
mov rax, qword [rbx + 8]
mov rdx, rax
sub rdx, r8
je 0x1400b923d
js 0x1400b9244
mov rcx, rdx
shr rcx, 2
test dl, 1
jne 0x1400b9074
mov rdx, r8
lea r9, [rax - 1]
cmp r9, r8
je 0x1400b827e
lea r8, [0x14020d470]
nop dword [rax]
movzx r9d, byte [rdx]
movzx r10d, cl
xor r10d, r9d
shr ecx, 8
xor ecx, dword [r8 + r10*4]
movzx r9d, byte [rdx + 1]
movzx r10d, cl
xor r10d, r9d
shr ecx, 8
xor ecx, dword [r8 + r10*4]
add rdx, 2
cmp rdx, rax
jne 0x1400b8250
mov dword [rbx + 0x18], ecx
cmp ecx, edi
jne 0x1400b9191
test rbx, rbx
je 0x1400b919a
movabs r14, 0xfffffffc00000000
mov rcx, qword [rbp + 0x10]
test rcx, rcx
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x58], rbp
jne 0x1400b8c87
mov r14, qword [0x14023f580]
cmp r14, 1
jbe 0x1400b912d
mov rdi, r14
movabs rax, 0xfffffffc00000000
and rdi, rax
cmp rdi, qword [0x14022f688]
jne 0x1400b82e5
mov rcx, r14
call fcn.1400b3f20
test r14, r14
je 0x1400b925b
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400b9096
mov rax, qword [0x14023f580]
cmp rax, 1
jbe 0x1400b915f
mov qword [rsp + 0x40], rdi
mov rdi, qword [0x14023f590]
test rdi, rdi
je 0x1400b90f9
lea r8, [rdi + 0x70]
mov ebp, dword [rbx + 0x18]
mov r12, qword [rdi + 0x78]
movabs r13, 0xaaaaaaaaaaaaaaaa
test r12, r12
mov qword [rsp + 0x68], r8
je 0x1400b8da3
mov rax, r12
shr rax, 1
movabs rcx, 0x5555555555555555
and rcx, rax
mov rax, r12
sub rax, rcx
movabs rcx, 0x3333333333333333
mov rdx, rax
and rdx, rcx
shr rax, 2
and rax, rcx
add rax, rdx
mov rcx, rax
shr rcx, 4
add rcx, rax
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rcx
movabs rcx, 0x101010101010101
imul rcx, rax
shr rcx, 0x38
cmp rcx, 1
jbe 0x1400b9061
mov r13, rbp
cmp r12, rbp
ja 0x1400b83c0
mov eax, ebp
xor edx, edx
div r12d
mov r13d, edx
mov rax, qword [r8]
mov rax, qword [rax + r13*8]
test rax, rax
je 0x1400b8da3
mov qword [rsp + 0x60], rdi
mov r8, qword [rax]
test r8, r8
je 0x1400b8d9e
mov rax, qword [r8 + 8]
cmp rax, rbp
jne 0x1400b8d7f
mov r15, qword [r8 + 0x10]
cmp dword [r15 + 0x18], ebp
jne 0x1400b8d96
mov rax, qword [r15]
mov r10, qword [r15 + 8]
mov rdx, r10
sub rdx, rax
mov r9, qword [rbx]
mov r11, qword [rbx + 8]
sub r11, r9
cmp rdx, r11
jne 0x1400b8d96
cmp r10, rax
je 0x1400b845f
sar rdx, 2
cmp rdx, 1
mov r10, rdx
adc r10, 0
xor r11d, r11d
nop word cs:[rax + rax]
cmp rdx, r11
je 0x1400b91fd
mov edi, dword [rax + r11*4]
cmp edi, dword [r9 + r11*4]
jne 0x1400b8d96
inc r11
cmp r10, r11
jne 0x1400b8440
mov rbp, qword [rsp + 0x58]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0x40]
cmp rax, qword [0x14022f688]
jne 0x1400b8483
mov rcx, r14
call fcn.1400b4080
cmp r15, rbx
je 0x1400b8f7b
mov rcx, qword [rbx]
test rcx, rcx
movabs r14, 0xfffffffc00000000
jne 0x1400b8b79
mov rcx, rbx
call fcn.140143bb0
xor edi, edi
mov r11, qword [rsp + 0x38]
lea r13, [r11*8]
mov ecx, dword [rsi + 0x1c]
mov rbx, qword [rbp + 8]
test ecx, ecx
jne 0x1400b8ca0
movabs rax, 0xaaaaaaaa00000000
mov qword [rsp + 0xa8], rax
mov rax, rbx
and rax, r14
cmp rax, qword [0x14022f688]
jne 0x1400b84f6
mov rcx, rbx
call fcn.1400c5cb0
mov r11, qword [rsp + 0x38]
lea r12, [rsi + 0x1c]
mov qword [rsp + 0x98], rbx
mov dword [rsp + 0xa0], 0x53215531
cmp r11d, 0x1fffffff
mov qword [rsp + 0x40], rdi
ja 0x1400b925e
mov eax, r13d
mov dword [rsp + 0xa4], eax
mov rdi, r12
and rdi, r14
cmp rdi, qword [0x14022f688]
je 0x1400b9291
mov qword [rsp + 0xb0], r12
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x88], rax
mov rbx, qword [rbp + 8]
mov rax, rbx
and rax, r14
cmp rax, qword [0x14022f688]
jne 0x1400b8576
mov rcx, rbx
call fcn.1400c5cb0
mov r11, qword [rsp + 0x38]
lea eax, [r11*4]
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x80], 0x53215531
cmp r11d, 0x1fffffff
ja 0x1400b9266
mov ebx, dword [rsp + 0x54]
mov dword [rsp + 0x84], r13d
mov dword [rsp + 0x88], eax
cmp rdi, qword [0x14022f688]
je 0x1400b926f
mov qword [rsp + 0x90], r12
cmp ebx, 3
ja case.default.0x1400b85e0
lea r13, [rsi + 0x50]
mov eax, ebx
lea rcx, [0x1402131bc]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov ecx, 0x28
call fcn.140143bb8
mov rbx, rax
mov qword [rax + 8], r13
mov dword [rax + 0x10], 0
lea rax, [0x1401fe458]
mov qword [rbx], rax
xorps xmm6, xmm6
movups xmmword [rbx + 0x18], xmm6
mov rcx, r13
call fcn.140164990
lea r12, [rsp + 0xd0]
movups xmmword [r12 + 0x34], xmm6
movups xmmword [r12 + 0x28], xmm6
movups xmmword [r12 + 0x18], xmm6
movups xmmword [r12 + 8], xmm6
movups xmmword [r12 - 8], xmm6
movaps xmm0, xmmword [0x14020c6d0]
movups xmmword [r12 - 0x18], xmm0
test rax, rax
je 0x1400b8689
mov rbp, rax
lea eax, [rax*8]
mov rcx, rbp
shr rcx, 0x1d
mov dword [rsp + 0xcc], ecx
mov dword [rsp + 0xc8], eax
mov r8, rbp
cmp rbp, 0x40
jae 0x1400b8f8f
mov dword [rsp + 0x110], ebp
mov rcx, r12
mov rdx, r13
call fcn.140147fd0
lea r13, [rsi + 0x20]
mov eax, dword [rsp + 0x110]
lea rcx, [rax + 1]
mov r14d, dword [rsp + 0xc8]
mov edi, dword [rsp + 0xcc]
mov byte [rsp + rax + 0xd0], 0x80
cmp rax, 0x38
jae 0x1400b8d42
cmp rcx, 0x38
je 0x1400b86d2
mov r8d, 0x38
sub r8, rcx
add rcx, r12
xor edx, edx
call fcn.140148680
lea rbp, [rsp + 0xb8]
mov dword [rbp + 0x50], r14d
mov dword [rbp + 0x54], edi
mov r8d, 1
mov rcx, rbp
mov rdx, r12
call fcn.140070500
mov rdi, qword [rbp]
mov ecx, 0x48
call fcn.140143bb8
mov r12, rax
mov qword [rax + 8], 0
mov rax, r13
movabs r14, 0xfffffffc00000000
and rax, r14
cmp rax, qword [0x14022f688]
je 0x1400b92b4
mov qword [r12 + 0x10], r13
cmp qword [r13], 0
jne 0x1400b873b
bswap rdi
mov qword [r13], rdi
mov qword [r12 + 0x18], 0
mov rbp, r15
and rbp, r14
cmp rbp, qword [0x14022f688]
jne 0x1400b875b
mov rcx, r15
call fcn.1400c5cb0
mov qword [r12 + 0x20], r15
mov rax, qword [r15 + 8]
sub rax, qword [r15]
cmp rax, 4
je 0x1400b927c
lea rdi, [rsp + 0xa0]
lea rax, [0x1401fe0e8]
mov qword [r12], rax
mov r13, qword [rdi - 8]
mov rax, r13
movabs r14, 0xfffffffc00000000
and rax, r14
cmp rax, qword [0x14022f688]
jne 0x1400b87a9
mov rcx, r13
call fcn.1400c5cb0
mov qword [r12 + 0x28], r13
mov eax, dword [rdi + 8]
mov dword [r12 + 0x38], eax
mov rax, qword [rdi]
mov qword [r12 + 0x30], rax
mov r13, qword [rsp + 0xb0]
mov rax, r13
and rax, r14
cmp rax, qword [0x14022f688]
je 0x1400b92c1
lea rdi, [rbx + 0x18]
mov qword [r12 + 0x40], r13
mov eax, dword [rsi + 0x34]
cmp eax, 0xffffffff
je 0x1400b8fbf
lea r13, [rsi + 0x38]
mov rcx, qword [rdi]
mov qword [rdi], r12
test rcx, rcx
jne 0x1400b92fe
mov rax, qword [r12 + 0x10]
mov rdi, qword [rax]
mov ecx, 0x48
call fcn.140143bb8
mov r12, rax
mov qword [rax + 8], 0
mov rax, r13
movabs rcx, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x14022f688]
je 0x1400b92ce
mov qword [r12 + 0x10], r13
cmp qword [r13], 0
jne 0x1400b884b
mov qword [r13], rdi
mov qword [r12 + 0x18], 0
cmp rbp, qword [0x14022f688]
jne 0x1400b8865
mov rcx, r15
call fcn.1400c5cb0
mov qword [r12 + 0x20], r15
mov rax, qword [r15 + 8]
sub rax, qword [r15]
cmp rax, 4
mov r13, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x58]
je 0x1400b927f
lea rdi, [rsp + 0x80]
lea rax, [0x1401fe0e8]
mov qword [r12], rax
mov r15, qword [rdi - 8]
mov rax, r15
movabs r14, 0xfffffffc00000000
and rax, r14
cmp rax, qword [0x14022f688]
jne 0x1400b88bd
mov rcx, r15
call fcn.1400c5cb0
mov qword [r12 + 0x28], r15
mov eax, dword [rdi + 8]
mov dword [r12 + 0x38], eax
mov rax, qword [rdi]
mov qword [r12 + 0x30], rax
mov r15, qword [rsp + 0x90]
mov rax, r15
and rax, r14
cmp rax, qword [0x14022f688]
je 0x1400b92db
mov qword [r12 + 0x40], r15
mov eax, dword [rsi + 0x4c]
cmp eax, 0xffffffff
mov rdi, qword [rsp + 0x40]
je 0x1400b8fe9
mov rcx, qword [rbx + 0x20]
mov qword [rbx + 0x20], r12
test rcx, rcx
jne 0x1400b92e8
test rbx, rbx
je 0x1400b91a7
mov eax, dword [rsp + 0x74]
lock or dword [rbx + 0x10], eax
mov qword [r13], rbx
mov rcx, qword [rsp + 0x90]
mov rax, rcx
and rax, r14
cmp rax, qword [0x14022f688]
je 0x1400b9247
mov qword [rsp + 0x90], 0
mov rcx, qword [rsp + 0x78]
mov rax, rcx
and rax, r14
cmp rax, qword [0x14022f688]
jne 0x1400b8969
call fcn.1400c5e10
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
and rax, r14
cmp rax, qword [0x14022f688]
je 0x1400b9251
mov qword [rsp + 0xb0], 0
mov rcx, qword [rsp + 0x98]
and r14, rcx
cmp r14, qword [0x14022f688]
jne 0x1400b89a9
call fcn.1400c5e10
test rdi, rdi
jne 0x1400b8a69
mov rax, qword [rsp + 0x1c0]
mov r8, qword [rbp + 8]
mov rdx, qword [r8 + 8]
xor ecx, ecx
cmp rdx, rsi
ja 0x1400b8a30
sub rsi, rdx
cmp rsi, 0x10
jb 0x1400b8a30
mov r9d, dword [r8 + 0x14]
cmp rsi, r9
jae 0x1400b8a30
lea r8d, [rsi - 0x10]
cmp r8d, 0x40
jb 0x1400b8a30
mov r10d, r8d
and r10d, 7
jne 0x1400b8a30
cmp r9d, esi
jbe 0x1400b8a30
mov r10d, dword [rdx + r8 + 4]
cmp r10d, 0xc8799269
jne 0x1400b8a30
add rdx, r8
mov r10d, dword [rdx]
cmp r10d, 0x11
jb 0x1400b8a30
mov r10d, dword [rdx]
add r10d, r8d
jb 0x1400b8a30
cmp r10d, r9d
ja 0x1400b8a30
mov r9d, dword [rdx + 8]
cmp r9d, 0xf1645913
jne 0x1400b8a30
xor ecx, ecx
test rdx, rdx
cmovne ecx, r8d
test rax, rax
je 0x1400b8a37
mov dword [rax], ecx
mov dword [rbp + 0x50], ecx
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.140146540
mov rax, r13
movaps xmm6, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rdi]
test rcx, rcx
jne 0x1400b8b57
mov rcx, rdi
call fcn.140143bb0
jmp 0x1400b89b2
lea rdi, [rsi + 0x38]
lea r14, [rsi + 0x20]
mov ecx, 0x40
call fcn.140143bb8
mov rbx, rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r14
movabs r14, 0xfffffffc00000000
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x98]
mov rcx, rbx
mov rdx, r13
mov r8, r15
call fcn.1400b9460
lea rax, [0x1401fe518]
mov qword [rbx], rax
lea rax, [rbx + 0x30]
xorps xmm0, xmm0
movups xmmword [rbx + 0x30], xmm0
mov qword [rbx + 0x28], rax
mov r13, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
jmp 0x1400b8914
lea rdi, [rsi + 0x38]
lea r14, [rsi + 0x20]
mov ecx, 0x40
call fcn.140143bb8
mov rbx, rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r14
movabs r14, 0xfffffffc00000000
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x98]
mov rcx, rbx
mov rdx, r13
mov r8, r15
call fcn.1400b9460
lea rax, [rbx + 0x30]
xorps xmm0, xmm0
movups xmmword [rbx + 0x30], xmm0
mov qword [rbx + 0x28], rax
lea rax, [0x1401fe5d8]
mov qword [rbx], rax
jmp 0x1400b8ae4
mov rax, qword [rdi + 8]
cmp rax, rcx
je 0x1400b8b6b
add rax, 0xfffffffffffffffc
jne 0x1400b8b5b
jmp 0x1400b9210
mov qword [rdi + 8], rcx
call fcn.140143bb0
jmp 0x1400b8a75
mov rax, qword [rbx + 8]
nop dword [rax]
cmp rax, rcx
je 0x1400b8b90
add rax, 0xfffffffffffffffc
jne 0x1400b8b80
jmp 0x1400b9210
mov qword [rbx + 8], rcx
call fcn.140143bb0
jmp 0x1400b84a2
mov rcx, qword [rbp + 8]
mov rdx, rbx
mov r8d, 0xbcea225b
call fcn.1400b98d0
test eax, eax
je 0x1400b9120
cmp eax, 0x40
jb 0x1400b9120
mov edx, eax
mov ecx, edx
and ecx, 7
jne 0x1400b9120
add rbx, 0x10
mov rcx, rdx
add rcx, rbx
jb 0x1400b9120
mov r8, rcx
shr r8, 0x20
jne 0x1400b9120
mov r9, qword [rbp + 8]
mov r8d, dword [r9 + 0x14]
cmp r8d, ecx
jb 0x1400b9120
mov rcx, qword [r9 + 8]
mov r9d, dword [rcx + rdx + 4]
cmp r9d, 0xc8799269
jne 0x1400b9120
add rcx, rdx
mov edx, dword [rcx]
cmp rbx, rdx
ja 0x1400b9120
mov edx, dword [rcx]
add edx, eax
jb 0x1400b9120
cmp edx, r8d
ja 0x1400b9120
mov edx, dword [rcx + 8]
cmp edx, 0xbcea225b
jne 0x1400b9120
test rcx, rcx
je 0x1400b9120
mov rdx, qword [rdi]
cmp qword [rdi + 8], rdx
je 0x1400b8c7f
xor r8d, r8d
nop word [rax + rax]
mov edx, dword [rdx + r8*4]
mov dword [rcx + r8*4 + 0x10], edx
inc r8
mov rdx, qword [rdi]
mov r9, qword [rdi + 8]
sub r9, rdx
sar r9, 2
cmp r8, r9
jb 0x1400b8c60
mov dword [rdi + 0x1c], eax
jmp 0x1400b7fd4
mov rdx, rbx
call fcn.1400ba4b0
mov r15, rax
xor edi, edi
cmp rax, rbx
cmovne rdi, rbx
jmp 0x1400b84ac
lea r8d, [rcx + 0x10]
xor eax, eax
cmp r8d, 0x50
jb 0x1400b8d1e
mov edx, ecx
and edx, 7
jne 0x1400b8d1e
mov edx, dword [rbx + 0x14]
cmp edx, r8d
jb 0x1400b91d0
mov r8, qword [rbx + 8]
mov eax, dword [r8 + rcx + 4]
cmp eax, 0xc8799269
jne 0x1400b91d0
add r8, rcx
mov eax, dword [r8]
cmp eax, 0x10
jb 0x1400b91d0
mov r9d, dword [r8]
add r9d, ecx
setb r10b
xor eax, eax
test r8, r8
je 0x1400b8d1e
test r10b, r10b
jne 0x1400b8d1e
cmp r9d, edx
ja 0x1400b8d1e
mov eax, dword [r8]
cmp rax, 0x11
jb 0x1400b91c1
add ecx, eax
jb 0x1400b91c1
cmp ecx, edx
ja 0x1400b91c1
add rax, 0xfffffffffffffff0
cmp rax, r13
jb 0x1400b9314
mov rbx, qword [rbp + 8]
jmp 0x1400b84c8
mov r8d, 0x3f
sub r8, rax
xor edx, edx
call fcn.140148680
jmp 0x1400b8d58
cmp eax, 0x3f
je 0x1400b8d58
add rcx, r12
cmp eax, 0x3c
jne 0x1400b8d30
mov byte [rcx + 2], 0
mov word [rcx], 0
lea rcx, [rsp + 0xb8]
mov r8d, 1
mov rdx, r12
call fcn.140070500
xor ecx, ecx
jmp 0x1400b86bf
lea rdx, [r12 - 1]
and rax, rdx
jmp 0x1400b8d91
cmp ecx, 1
jbe 0x1400b8d75
cmp rax, r12
jb 0x1400b8d91
xor edx, edx
div r12
mov rax, rdx
cmp rax, r13
jne 0x1400b8d9e
mov r8, qword [r8]
jmp 0x1400b83d8
mov rdi, qword [rsp + 0x60]
mov ecx, 0x18
call fcn.140143bb8
test rax, rax
je 0x1400b91ea
mov r9, rax
mov qword [rax + 8], rbp
mov qword [rax + 0x10], rbx
mov r8, rdi
mov rax, qword [rdi + 0x88]
inc rax
jns 0x1400b8de7
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x1400b8dec
cvtsi2ss xmm0, rax
mov rcx, r12
shr rcx, 1
mov eax, r12d
and eax, 1
or rax, rcx
test r12, r12
jns 0x1400b8e0b
cvtsi2ss xmm1, rax
addss xmm1, xmm1
jmp 0x1400b8e10
cvtsi2ss xmm1, r12
movss xmm2, dword [r8 + 0x90]
je 0x1400b8ead
mulss xmm1, xmm2
ucomiss xmm0, xmm1
ja 0x1400b8ead
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
mov rax, qword [rcx + r13*8]
test rax, rax
mov rbp, qword [rsp + 0x58]
jne 0x1400b8e8f
lea rdx, [r8 + 0x80]
mov rax, qword [r8 + 0x80]
mov qword [r9], rax
mov qword [r8 + 0x80], r9
mov qword [rcx + r13*8], rdx
mov r15, rbx
test rax, rax
je 0x1400b8e9c
mov rax, qword [rax + 8]
lea rcx, [r12 - 1]
test r12, rcx
je 0x1400b8ea8
cmp rax, r12
jb 0x1400b8e81
xor edx, edx
div r12
mov rax, rdx
shl rax, 3
mov rcx, qword [rsp + 0x68]
add rax, qword [rcx]
jmp 0x1400b8e95
mov rcx, qword [rax]
mov qword [r9], rcx
mov qword [rax], r9
mov r15, qword [r9 + 0x10]
inc qword [r8 + 0x88]
jmp 0x1400b8464
and rax, rcx
jmp 0x1400b8e81
mov r13, r9
divss xmm0, xmm2
call fcn.1401621dc
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x14020275c]
sar rdx, 0x3f
cvttss2si rax, xmm0
and rax, rdx
or rax, rcx
lea rcx, [r12 + r12]
mov r15d, 1
cmp r12, 3
jb 0x1400b8ef7
lea rdx, [r12 - 1]
xor r15d, r15d
test r12, rdx
setne r15b
or r15, rcx
cmp r15, rax
cmovbe r15, rax
cmp r15, 1
je 0x1400b8f61
lea rax, [r15 - 1]
test r15, rax
je 0x1400b8f22
mov rcx, r15
call fcn.1400f72d0
mov r15, rax
mov rax, rdi
mov r12, qword [rdi + 0x78]
cmp r15, r12
jbe 0x1400b9326
mov rcx, qword [rsp + 0x68]
mov rdx, r15
call fcn.1400ba920
mov r8, rdi
mov r12, qword [rdi + 0x78]
lea rax, [r12 - 1]
test r12, rax
mov r9, r13
je 0x1400b8f69
cmp r12, rbp
ja 0x1400b8f73
mov rax, rbp
xor edx, edx
div r12
mov r13, rdx
jmp 0x1400b8e2c
mov r15d, 2
jmp 0x1400b8f22
mov eax, 0xffffffff
add eax, r12d
and ebp, eax
mov r13, rbp
jmp 0x1400b8e2c
xor edi, edi
mov r15, rbx
movabs r14, 0xfffffffc00000000
jmp 0x1400b84ac
shr r8, 6
lea rcx, [rsp + 0xb8]
mov rdx, r13
call fcn.140070500
mov r8, rbp
and r8, 0x3f
je 0x1400b8689
and rbp, 0xffffffffffffffc0
add r13, rbp
mov ebp, r8d
jmp 0x1400b8677
mov rax, qword [r12 + 0x40]
mov eax, dword [rax]
test eax, eax
je 0x1400b87ee
mov rcx, r12
add rcx, 0x28
call fcn.1400b7390
mov qword [r12 + 0x18], rax
mov rax, qword [r12 + 0x18]
jmp 0x1400b87ee
mov rax, qword [r12 + 0x40]
mov eax, dword [rax]
test eax, eax
je 0x1400b8903
mov rcx, r12
add rcx, 0x28
call fcn.1400b7390
mov qword [r12 + 0x18], rax
mov rax, qword [r12 + 0x18]
jmp 0x1400b8903
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [r13], rax
lea rdi, [rsi + 0x38]
lea rbx, [rsi + 0x20]
lea r14, [rsi + 0x50]
mov ecx, 0x38
call fcn.140143bb8
mov r15, rax
mov qword [rsp + 0x20], rdi
mov rcx, rax
mov rdx, rbp
mov r8, r14
mov r9, rbx
call fcn.14001d640
mov qword [r13], r15
mov eax, dword [rsi + 4]
lock or dword [r15 + 0x10], eax
jmp 0x1400b89b2
mov eax, 0xffffffff
add eax, r12d
mov r13d, ebp
and r13d, eax
jmp 0x1400b83c0
movzx edx, byte [r8]
movzx r9d, cl
xor r9d, edx
lea rdx, [0x14020d470]
shr ecx, 8
xor ecx, dword [rdx + r9*4]
lea rdx, [r8 + 1]
jmp 0x1400b823d
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400b82ff
lea rdi, [rsi + 0x38]
lea r14, [rsi + 0x20]
mov ecx, 0x28
call fcn.140143bb8
mov rbx, rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r14
movabs r14, 0xfffffffc00000000
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x98]
mov rcx, rbx
mov rdx, r13
mov r8, r15
call fcn.1400b9460
lea rax, [0x1401fe698]
jmp 0x1400b8b52
mov ecx, 0xb0
call fcn.140143bb8
mov rcx, rax
call fcn.140001800
mov rdi, qword [0x14023f590]
jmp 0x1400b8325
cmp ebx, 4
jne 0x1400b7f98
mov qword [r13], 0
jmp 0x1400b8a3a
lea rcx, [0x14023f580]
call fcn.14000bf00
test al, al
je 0x1400b942d
mov qword [0x14023f588], 0
lea r14, [0x14023f588]
mov qword [0x14023f580], r14
jmp 0x1400b82c4
lea rcx, [0x14023f580]
call fcn.14000bf00
test al, al
je 0x1400b9439
mov qword [0x14023f588], 0
lea rax, [0x14023f588]
mov qword [0x14023f580], rax
jmp 0x1400b8310
test rbx, rbx
jne 0x1400b9445
mov qword [r13], 0
jmp 0x1400b89b2
xor ebx, ebx
jmp 0x1400b8925
mov dl, 1
call fcn.14017dfb0
mov r11, qword [rsp + 0x38]
xor edx, edx
jmp 0x1400b813d
mov rcx, rbx
mov dl, 1
call fcn.14017dfb0
mov r11, qword [rsp + 0x38]
xor eax, eax
jmp 0x1400b8d1e
lea rcx, [0x1401fff03]
lea rdx, str....._third_partylibc_srcinclude_vector:1393:_assertion___n___size___failed:_vector___index_out_of_bounds_n
call fcn.140180910
lea rcx, [0x1401fff03]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
call fcn.140180910
lea rcx, [0x1401fff03]
lea rdx, str....._third_partylibc_srcinclude_vector:1400:_assertion___n___size___failed:_vector___index_out_of_bounds_n
call fcn.140180910
lea rcx, [0x1401fff03]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.140180910
xor ecx, ecx
jmp 0x1400b7f2e
xor edx, edx
jmp 0x1400b8095
xor edx, edx
mov r11, qword [rsp + 0x38]
jmp 0x1400b813d
xor ecx, ecx
jmp 0x1400b827e
int3
call fcn.1400c5e10
jmp 0x1400b8944
call fcn.1400c5e10
jmp 0x1400b8984
int3
int3
int3
mov rcx, r12
call fcn.1400c5cb0
jmp 0x1400b85bb
int3
int3
mov rcx, r15
xor edx, edx
call fcn.14017dfb0
jmp 0x1400b9120
mov rcx, r12
call fcn.1400c5cb0
mov r11, qword [rsp + 0x38]
jmp 0x1400b853c
xor ebx, ebx
mov r13, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
jmp 0x1400b8925
mov rcx, r13
call fcn.1400c5cb0
jmp 0x1400b8728
mov rcx, r13
call fcn.1400c5cb0
jmp 0x1400b87d9
mov rcx, r13
call fcn.1400c5cb0
jmp 0x1400b883b
mov rcx, r15
call fcn.1400c5cb0
jmp 0x1400b88ed
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x14021f820]
jmp 0x1400b8914
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x14021f820]
jmp 0x1400b8801
mov r13, qword [rsp + 0x48]
mov qword [r13], 0
jmp 0x1400b89a9
jae 0x1400b8f38
mov rax, qword [rdi + 0x88]
test rax, rax
jns 0x1400b9352
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x1400b935a
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
divss xmm0, dword [rdi + 0x90]
call fcn.1401621dc
cvttss2si rax, xmm0
mov rcx, rax
subss xmm0, dword [0x14020275c]
cvttss2si rdx, xmm0
sar rcx, 0x3f
and rdx, rcx
or rdx, rax
cmp r12, 3
jb 0x1400b9410
mov rax, r12
shr rax, 1
movabs rcx, 0x5555555555555555
and rcx, rax
mov rax, r12
sub rax, rcx
movabs rcx, 0x3333333333333333
mov r8, rax
shr r8, 2
and rax, rcx
and r8, rcx
add r8, rax
mov rax, r8
shr rax, 4
add rax, r8
movabs rcx, 0xf0f0f0f0f0f0f0f
and rcx, rax
movabs rax, 0x101010101010101
imul rax, rcx
shr rax, 0x38
cmp eax, 1
ja 0x1400b9410
lea rax, [rdx - 1]
bsr rcx, rax
xor ecx, 0x3f
neg cl
mov eax, 1
shl rax, cl
cmp rdx, 2
cmovb rax, rdx
jmp 0x1400b9418
mov rcx, rdx
call fcn.1400f72d0
cmp r15, rax
cmovbe r15, rax
cmp r15, r12
jb 0x1400b8f2b
jmp 0x1400b8f38
mov r14, qword [0x14023f580]
jmp 0x1400b82c4
mov rax, qword [0x14023f580]
jmp 0x1400b8310
mov rcx, rbx
call fcn.140139b20
mov rcx, rbx
call fcn.140143bb0
jmp 0x1400b919a