Function at 0x1400e5220
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, 0x148
movaps xmmword [rsp + 0x130], xmm7
movaps xmmword [rsp + 0x120], xmm6
mov r14, rdx
mov rax, qword [0x140260028]
xor rax, rsp
mov qword [rsp + 0x118], rax
test r8, r8
je 0x1400e6391
mov r12, r8
mov rdx, rcx
mov esi, dword [r8]
cmp esi, 4
je 0x1400e620d
mov qword [rsp + 0x40], r14
mov eax, dword [r12 + 4]
mov dword [rsp + 0x64], eax
mov ebp, dword [r12 + 8]
mov edi, dword [r12 + 0xc]
mov r13d, dword [r12 + 0x10]
mov eax, dword [r12 + 0x14]
mov qword [rsp + 0x48], r12
mov r14d, dword [r12 + 0x18]
mov qword [rsp + 0x58], rdx
mov rcx, qword [rdx + 8]
lea r8d, [rax + 0x14]
xor edx, edx
cmp r8d, 0x54
jb 0x1400e530e
mov r9d, eax
and r9d, 7
jne 0x1400e530e
mov r9d, dword [rcx + 0x14]
cmp r9d, r8d
jb 0x1400e6364
mov r8, qword [rcx + 8]
mov edx, dword [r8 + rax + 4]
cmp edx, 0xc8799269
jne 0x1400e6364
add r8, rax
mov edx, dword [r8]
cmp edx, 0x14
jb 0x1400e6364
xor edx, edx
mov r10d, dword [r8]
add r10d, eax
jb 0x1400e530e
cmp r10d, r9d
ja 0x1400e530e
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
jb 0x1400e539c
mov r8d, eax
and r8d, 7
jne 0x1400e539c
mov r8d, dword [rcx + 0x14]
cmp r8d, r9d
jb 0x1400e6372
mov r9, qword [rcx + 8]
mov edx, dword [r9 + rax + 4]
cmp edx, 0xc8799269
jne 0x1400e6372
add r9, rax
mov edx, dword [r9]
cmp edx, 0x10
jb 0x1400e6372
mov r10d, dword [r9]
add r10d, eax
setb r11b
xor edx, edx
test r9, r9
je 0x1400e539c
test r11b, r11b
jne 0x1400e539c
cmp r10d, r8d
ja 0x1400e539c
mov edx, dword [r9]
cmp rdx, 0x11
jb 0x1400e636b
add eax, edx
jb 0x1400e636b
cmp eax, r8d
ja 0x1400e636b
add rdx, 0xfffffffffffffff0
mov dword [rsp + 0x60], esi
test r15, r15
je 0x1400e638c
lea eax, [r13 - 0x3fffffff]
cmp eax, 0xc0000003
jb 0x1400e638c
lea r12d, [r13 + 1]
lea rsi, [r12*4]
cmp rdx, rsi
jb 0x1400e638c
mov ecx, 0x20
call fcn.140146648
mov rbx, rax
mov qword [rax + 8], 0
mov rcx, rsi
call fcn.140146648
mov qword [rbx], rax
lea rcx, [rax + r12*4]
mov qword [rbx + 0x10], rcx
xor ecx, ecx
nop word [rax + rax]
mov rdx, rax
add rdx, rcx
je 0x1400e638a
mov dword [rdx], 0
add rcx, 4
cmp rsi, rcx
jne 0x1400e5400
mov rdx, rax
add rdx, rcx
mov qword [rbx + 8], rdx
mov qword [rbx + 0x18], 0
mov ecx, dword [r15]
mov dword [rax], ecx
mov eax, 1
nop word [rax + rax]
mov ecx, dword [r15 + rax*4]
cmp ecx, dword [r15 + rax*4 - 4]
jle 0x1400e62d8
mov rdx, qword [rbx]
mov r8, qword [rbx + 8]
sub r8, rdx
sar r8, 2
cmp r8, rax
jbe 0x1400e638a
mov dword [rdx + rax*4], ecx
inc rax
cmp r12, rax
jne 0x1400e5440
mov rax, qword [rbx]
mov rdx, qword [rbx + 8]
mov rcx, rdx
sub rcx, rax
je 0x1400e639d
js 0x1400e63a5
test cl, 1
jne 0x1400e61e7
mov r8, rcx
shr r8, 2
mov r9, rax
lea r10, [rdx - 1]
cmp r10, rax
je 0x1400e54e0
lea r10, [0x14023e250]
nop dword [rax]
movzx r11d, r8b
movzx esi, byte [r9]
xor esi, r11d
shr r8d, 8
xor r8d, dword [r10 + rsi*4]
movzx r11d, r8b
movzx esi, byte [r9 + 1]
xor esi, r11d
shr r8d, 8
xor r8d, dword [r10 + rsi*4]
add r9, 2
cmp r9, rdx
jne 0x1400e54b0
mov dword [rbx + 0x18], r8d
cmp r8d, r14d
jne 0x1400e62d8
test rbx, rbx
je 0x1400e62e1
sar rcx, 2
cmp rcx, r12
mov rdx, qword [rsp + 0x58]
jne 0x1400e62e3
cmp r12d, 1
jbe 0x1400e638a
cmp dword [rax + 4], ebp
jne 0x1400e62e3
lea ecx, [r13 - 1]
cmp r12d, ecx
mov rbp, qword [rsp + 0x48]
jbe 0x1400e638a
mov ecx, ecx
cmp dword [rax + rcx*4], edi
jne 0x1400e62e3
mov rcx, qword [rdx + 0x10]
test rcx, rcx
jne 0x1400e5740
movabs rsi, 0xaaaaaaaaaaaaaaaa
mov rdi, qword [0x140272580]
cmp rdi, 1
jbe 0x1400e62f4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400e61ff
mov rax, qword [0x140272580]
cmp rax, 1
movabs rdx, 0xfffffffc00000000
jbe 0x1400e6328
mov qword [rsp + 0x68], rdi
mov r14, qword [0x140272590]
test r14, r14
je 0x1400e62b0
mov rax, rbx
and rax, rdx
cmp rax, qword [0x140262688]
jne 0x1400e55b8
mov rcx, rbx
call fcn.140004ab0
lea r8, [r14 + 0x70]
mov ebp, dword [rbx + 0x18]
mov r12, qword [r14 + 0x78]
test r12, r12
mov qword [rsp + 0x50], r8
je 0x1400e5f05
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 0x1400e6254
mov rsi, rbp
cmp r12, rbp
ja 0x1400e5648
mov eax, ebp
xor edx, edx
div r12d
mov esi, edx
mov rax, qword [r8]
mov rax, qword [rax + rsi*8]
test rax, rax
je 0x1400e5f05
mov r8, qword [rax]
test r8, r8
je 0x1400e5f05
mov rax, qword [r8 + 8]
cmp rax, rbp
jne 0x1400e5ee6
mov r15, qword [r8 + 0x10]
cmp dword [r15 + 0x18], ebp
jne 0x1400e5efd
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 0x1400e5efd
cmp r10, rax
je 0x1400e56df
sar rdx, 2
cmp rdx, 1
mov r10, rdx
adc r10, 0
xor r11d, r11d
nop word cs:[rax + rax]
cmp rdx, r11
je 0x1400e638a
mov edi, dword [rax + r11*4]
cmp edi, dword [r9 + r11*4]
jne 0x1400e5efd
inc r11
cmp r10, r11
jne 0x1400e56c0
mov rcx, rbx
mov rbp, qword [rsp + 0x48]
movabs rdx, 0xfffffffc00000000
mov rax, rcx
and rax, rdx
cmp rax, qword [0x140262688]
mov rsi, qword [rsp + 0x68]
jne 0x1400e570a
call fcn.140004bf0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp r15, rbx
je 0x1400e5797
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400e578f
mov rax, qword [rbx + 8]
nop word cs:[rax + rax]
cmp rax, rcx
je 0x1400e5786
add rax, 0xfffffffffffffffc
jne 0x1400e5730
jmp 0x1400e638a
mov rdx, rbx
call fcn.1400e6c30
mov r15, rax
xor eax, eax
cmp r15, rbx
cmove rbx, rax
jmp 0x1400e5799
mov rcx, rsi
call fcn.140004ab0
mov r8, qword [rsp + 0x58]
movabs rdx, 0xfffffffc00000000
jmp 0x1400e57e9
mov rcx, rsi
call fcn.140004ab0
movabs rdx, 0xfffffffc00000000
jmp 0x1400e5861
mov qword [rbx + 8], rcx
call fcn.140146640
mov rcx, rbx
call fcn.140146640
xor ebx, ebx
lea r14, [r13*8]
mov ecx, dword [rbp + 0x1c]
mov r8, qword [rsp + 0x58]
mov rsi, qword [r8 + 8]
test ecx, ecx
jne 0x1400e5e47
movabs rdx, 0xfffffffc00000000
movaps xmm6, xmmword [0x14022cb50]
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm6
mov rax, rsi
and rax, rdx
cmp rax, qword [0x140262688]
je 0x1400e5756
lea r12, [rbp + 0x1c]
mov qword [rsp + 0x90], rsi
mov dword [rsp + 0x98], 0x53215531
cmp r13d, 0x1fffffff
ja 0x1400e63a8
mov eax, r14d
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0xa0], 0
mov rdi, r12
and rdi, rdx
cmp rdi, qword [0x140262688]
je 0x1400e6402
mov qword [rsp + 0xa8], r12
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
mov rsi, qword [r8 + 8]
mov rax, rsi
and rax, rdx
cmp rax, qword [0x140262688]
je 0x1400e576f
lea eax, [r13*4]
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x78], 0x53215531
cmp r13d, 0x1fffffff
ja 0x1400e6463
mov dword [rsp + 0x7c], r14d
mov esi, dword [rsp + 0x60]
mov dword [rsp + 0x80], eax
cmp rdi, qword [0x140262688]
je 0x1400e63de
mov qword [rsp + 0x88], r12
cmp esi, 3
ja case.default.0x1400e58c5
lea r12, [rbp + 0x50]
mov eax, esi
lea rcx, [0x140244f5c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov ecx, 0x28
call fcn.140146648
mov r14, rax
mov qword [rax + 8], r12
mov dword [rax + 0x10], 0
lea rax, [0x14022ff80]
mov qword [r14], rax
xorps xmm7, xmm7
movups xmmword [r14 + 0x18], xmm7
mov rcx, r12
call fcn.140167410
lea rsi, [rsp + 0xc8]
movups xmmword [rsi + 0x34], xmm7
movups xmmword [rsi + 0x28], xmm7
movups xmmword [rsi + 0x18], xmm7
movups xmmword [rsi + 8], xmm7
movups xmmword [rsi - 8], xmm7
movaps xmm0, xmmword [0x140233190]
movups xmmword [rsi - 0x18], xmm0
test rax, rax
je 0x1400e5964
mov r13, rax
lea eax, [rax*8]
mov rcx, r13
shr rcx, 0x1d
mov dword [rsp + 0xc4], ecx
mov dword [rsp + 0xc0], eax
mov r8, r13
cmp r13, 0x40
jae 0x1400e60eb
mov dword [rsp + 0x108], r13d
mov rcx, rsi
mov rdx, r12
call fcn.14014ac10
lea r12, [rbp + 0x20]
mov eax, dword [rsp + 0x108]
lea rcx, [rax + 1]
mov ebp, dword [rsp + 0xc0]
mov edi, dword [rsp + 0xc4]
mov byte [rsp + rax + 0xc8], 0x80
cmp rax, 0x38
jae 0x1400e5e02
cmp rcx, 0x38
je 0x1400e59ac
mov r8d, 0x38
sub r8, rcx
add rcx, rsi
xor edx, edx
call fcn.14014b2c0
lea r13, [rsp + 0xb0]
mov dword [r13 + 0x50], ebp
mov dword [r13 + 0x54], edi
mov r8d, 1
mov rcx, r13
mov rdx, rsi
call fcn.1400793c0
mov rdi, qword [r13]
mov ecx, 0x50
call fcn.140146648
mov rsi, rax
lea rax, [0x1402309a0]
mov qword [rsi], rax
mov qword [rsi + 8], 0
mov rax, r12
movabs rcx, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x140262688]
je 0x1400e641e
mov qword [rsi + 0x10], r12
cmp qword [r12], 0
jne 0x1400e5a1f
bswap rdi
mov qword [r12], rdi
lea rax, [0x140230700]
mov qword [rsi], rax
mov r13, r15
and r13, rcx
cmp r13, qword [0x140262688]
jne 0x1400e5a4a
mov rcx, r15
call fcn.140004ab0
movabs rcx, 0xfffffffc00000000
mov qword [rsi + 0x18], r15
mov rax, qword [r15 + 8]
sub rax, qword [r15]
sar rax, 2
dec rax
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x28], 0
je 0x1400e63d8
lea rdi, [rsp + 0x98]
lea rbp, [0x140230800]
mov qword [rsi], rbp
mov r12, qword [rdi - 8]
mov rax, r12
and rax, rcx
cmp rax, qword [0x140262688]
je 0x1400e5deb
mov qword [rsi + 0x30], r12
mov eax, dword [rdi + 8]
mov dword [rsi + 0x40], eax
mov rax, qword [rdi]
mov qword [rsi + 0x38], rax
mov r12, qword [rsp + 0xa8]
mov rax, r12
and rax, rcx
cmp rax, qword [0x140262688]
je 0x1400e63f5
mov qword [rsi + 0x48], r12
mov rax, qword [rsi + 0x10]
mov eax, dword [rax + 0x14]
cmp eax, 0xffffffff
je 0x1400e611b
mov rax, qword [rsp + 0x48]
lea r12, [rax + 0x38]
lea rax, [r14 + 0x18]
mov rcx, qword [rax]
mov qword [rax], rsi
test rcx, rcx
jne 0x1400e6485
mov rax, qword [rsi + 0x10]
mov rdi, qword [rax]
mov ecx, 0x50
call fcn.140146648
mov rsi, rax
mov qword [rax + 8], 0
mov rax, r12
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x140262688]
je 0x1400e6435
mov qword [rsi + 0x10], r12
cmp qword [r12], 0
jne 0x1400e5b3b
mov qword [r12], rdi
cmp r13, qword [0x140262688]
jne 0x1400e5b56
mov rcx, r15
call fcn.140004ab0
movabs rdx, 0xfffffffc00000000
mov qword [rsi + 0x18], r15
mov rax, qword [r15 + 8]
sub rax, qword [r15]
sar rax, 2
dec rax
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x28], 0
je 0x1400e63db
lea rdi, [rsp + 0x78]
mov qword [rsi], rbp
mov r15, qword [rdi - 8]
mov rax, r15
and rax, rdx
cmp rax, qword [0x140262688]
je 0x1400e5d76
mov qword [rsi + 0x30], r15
mov eax, dword [rdi + 8]
mov dword [rsi + 0x40], eax
mov rax, qword [rdi]
mov qword [rsi + 0x38], rax
mov r15, qword [rsp + 0x88]
mov rax, r15
and rax, rdx
cmp rax, qword [0x140262688]
mov rdi, qword [rsp + 0x48]
je 0x1400e644c
mov qword [rsi + 0x48], r15
mov eax, dword [rdi + 0x4c]
cmp eax, 0xffffffff
je 0x1400e617d
mov rcx, qword [r14 + 0x20]
mov qword [r14 + 0x20], rsi
test rcx, rcx
jne 0x1400e649b
test r14, r14
je case.default.0x1400e58c5
mov eax, dword [rsp + 0x64]
lock or dword [r14 + 0x10], eax
mov rax, qword [rsp + 0x40]
mov qword [rax], r14
mov r14, rax
mov rcx, qword [rsp + 0x88]
mov rax, rcx
and rax, rdx
cmp rax, qword [0x140262688]
je 0x1400e63b0
mov qword [rsp + 0x88], 0
mov rcx, qword [rsp + 0x70]
mov rax, rcx
and rax, rdx
cmp rax, qword [0x140262688]
jne 0x1400e5c52
call fcn.140004bf0
movabs rdx, 0xfffffffc00000000
mov rcx, qword [rsp + 0xa8]
mov rax, rcx
and rax, rdx
cmp rax, qword [0x140262688]
je 0x1400e63c4
mov qword [rsp + 0xa8], 0
mov rcx, qword [rsp + 0x90]
and rdx, rcx
cmp rdx, qword [0x140262688]
jne 0x1400e5c92
call fcn.140004bf0
test rbx, rbx
jne 0x1400e5d3a
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.140149190
mov rax, r14
movaps xmm6, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rsi, [rbp + 0x38]
add rbp, 0x20
mov ecx, 0x40
call fcn.140146648
mov r14, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rbp
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
mov rcx, r14
mov rdx, r12
mov r8, r15
call fcn.1400e6710
lea rax, [0x140230040]
mov qword [r14], rax
lea rax, [r14 + 0x30]
xorps xmm0, xmm0
movups xmmword [r14 + 0x30], xmm0
mov qword [r14 + 0x28], rax
movabs rdx, 0xfffffffc00000000
jmp 0x1400e5beb
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400e5d69
mov rax, qword [rbx + 8]
nop word cs:[rax + rax]
cmp rax, rcx
je 0x1400e5d60
add rax, 0xfffffffffffffffc
jne 0x1400e5d50
jmp 0x1400e638a
mov qword [rbx + 8], rcx
call fcn.140146640
mov rcx, rbx
call fcn.140146640
jmp 0x1400e5c9b
mov rcx, r15
call fcn.140004ab0
movabs rdx, 0xfffffffc00000000
jmp 0x1400e5b99
lea rsi, [rbp + 0x38]
add rbp, 0x20
mov ecx, 0x40
call fcn.140146648
mov r14, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rbp
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
mov rcx, r14
mov rdx, r12
mov r8, r15
call fcn.1400e6710
lea rax, [r14 + 0x30]
xorps xmm0, xmm0
movups xmmword [r14 + 0x30], xmm0
mov qword [r14 + 0x28], rax
lea rax, [0x140230100]
mov qword [r14], rax
jmp 0x1400e5d2b
mov rcx, r12
call fcn.140004ab0
movabs rcx, 0xfffffffc00000000
jmp 0x1400e5a97
cmp eax, 0x3f
je 0x1400e5e18
add rcx, rsi
cmp eax, 0x3c
jne 0x1400e5e35
mov byte [rcx + 2], 0
mov word [rcx], 0
lea rcx, [rsp + 0xb0]
mov r8d, 1
mov rdx, rsi
call fcn.1400793c0
xor ecx, ecx
jmp 0x1400e5999
mov r8d, 0x3f
sub r8, rax
xor edx, edx
call fcn.14014b2c0
jmp 0x1400e5e18
lea r8d, [rcx + 0x10]
xor eax, eax
cmp r8d, 0x50
jb 0x1400e5ec5
mov edx, ecx
and edx, 7
jne 0x1400e5ec5
mov edx, dword [rsi + 0x14]
cmp edx, r8d
jb 0x1400e6383
mov r8, qword [rsi + 8]
mov eax, dword [r8 + rcx + 4]
cmp eax, 0xc8799269
jne 0x1400e6383
add r8, rcx
mov eax, dword [r8]
cmp eax, 0x10
jb 0x1400e6383
mov r9d, dword [r8]
add r9d, ecx
setb r10b
xor eax, eax
test r8, r8
je 0x1400e5ec5
test r10b, r10b
jne 0x1400e5ec5
cmp r9d, edx
ja 0x1400e5ec5
mov eax, dword [r8]
cmp rax, 0x11
jb 0x1400e6379
add ecx, eax
jb 0x1400e6379
cmp ecx, edx
ja 0x1400e6379
add rax, 0xfffffffffffffff0
cmp rax, r14
jb 0x1400e62e3
mov r8, qword [rsp + 0x58]
mov rsi, qword [r8 + 8]
jmp 0x1400e57b5
lea rdx, [r12 - 1]
and rax, rdx
jmp 0x1400e5ef8
cmp ecx, 1
jbe 0x1400e5edc
cmp rax, r12
jb 0x1400e5ef8
xor edx, edx
div r12
mov rax, rdx
cmp rax, rsi
jne 0x1400e5f05
mov r8, qword [r8]
jmp 0x1400e565b
mov ecx, 0x18
call fcn.140146648
test rax, rax
je 0x1400e638a
mov rdi, rax
mov qword [rax + 8], rbp
mov qword [rax + 0x10], rbx
mov rax, qword [r14 + 0x88]
inc rax
jns 0x1400e5f46
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x1400e5f4b
cvtsi2ss xmm0, rax
mov rcx, qword [rsp + 0x50]
mov rdx, r12
shr rdx, 1
mov eax, r12d
and eax, 1
or rax, rdx
test r12, r12
jns 0x1400e5f6f
cvtsi2ss xmm1, rax
addss xmm1, xmm1
jmp 0x1400e5f74
cvtsi2ss xmm1, r12
movss xmm2, dword [r14 + 0x90]
je 0x1400e6027
mulss xmm1, xmm2
ucomiss xmm0, xmm1
ja 0x1400e6027
mov r8, qword [rcx]
mov rax, qword [r8 + rsi*8]
test rax, rax
mov rbp, qword [rsp + 0x48]
jne 0x1400e6010
lea rdx, [r14 + 0x80]
mov rax, qword [r14 + 0x80]
mov qword [rdi], rax
mov qword [r14 + 0x80], rdi
mov qword [r8 + rsi*8], rdx
mov r15, rbx
test rax, rax
movabs rdx, 0xfffffffc00000000
je 0x1400e6002
mov rax, qword [rax + 8]
lea r8, [r12 - 1]
test r12, r8
je 0x1400e6022
cmp rax, r12
jb 0x1400e5ff4
xor edx, edx
div r12
mov rax, rdx
movabs rdx, 0xfffffffc00000000
shl rax, 3
add rax, qword [rcx]
mov qword [rax], rdi
mov r15, qword [rdi + 0x10]
inc qword [r14 + 0x88]
xor ecx, ecx
jmp 0x1400e56f1
mov rcx, qword [rax]
mov qword [rdi], rcx
movabs rdx, 0xfffffffc00000000
jmp 0x1400e5ffb
and rax, r8
jmp 0x1400e5ff4
divss xmm0, xmm2
call fcn.140146e7c
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x140233160]
sar rdx, 0x3f
cvttss2si rax, xmm0
and rax, rdx
or rax, rcx
lea rcx, [r12 + r12]
mov esi, 1
cmp r12, 3
jb 0x1400e606c
lea rdx, [r12 - 1]
xor esi, esi
test r12, rdx
setne sil
or rsi, rcx
cmp rsi, rax
cmovbe rsi, rax
cmp rsi, 1
je 0x1400e60d2
lea rax, [rsi - 1]
test rsi, rax
je 0x1400e6094
mov rcx, rsi
call fcn.14011d7f0
mov rsi, rax
mov r12, qword [r14 + 0x78]
cmp rsi, r12
mov rcx, qword [rsp + 0x50]
jbe 0x1400e64bd
mov rdx, rsi
call fcn.1400057b0
mov rcx, qword [rsp + 0x50]
mov r12, qword [r14 + 0x78]
lea rax, [r12 - 1]
test r12, rax
je 0x1400e60d9
cmp r12, rbp
ja 0x1400e60e3
mov rax, rbp
xor edx, edx
div r12
mov rsi, rdx
jmp 0x1400e5f90
mov esi, 2
jmp 0x1400e6094
mov eax, 0xffffffff
add eax, r12d
and ebp, eax
mov rsi, rbp
jmp 0x1400e5f90
shr r8, 6
lea rcx, [rsp + 0xb0]
mov rdx, r12
call fcn.1400793c0
mov r8, r13
and r8, 0x3f
je 0x1400e5964
and r13, 0xffffffffffffffc0
add r12, r13
mov r13d, r8d
jmp 0x1400e5951
mov rax, qword [rsi + 0x48]
mov eax, dword [rax]
test eax, eax
je 0x1400e5ad7
test byte [rsi + 0x40], 3
jne 0x1400e64b1
mov rcx, rsi
add rcx, 0x30
lea r12, [rsp + 0xb0]
movaps xmmword [r12], xmm6
mov rdx, r12
call fcn.1400bdb10
mov rax, qword [r12 + 8]
cmp rax, 4
jb 0x1400e5ad7
shr rax, 2
cmp rax, qword [rsi + 0x20]
jb 0x1400e64b4
mov rax, qword [rsp + 0xb0]
mov qword [rsi + 0x28], rax
jmp 0x1400e5ad7
mov rax, qword [rsi + 0x48]
mov eax, dword [rax]
test eax, eax
je 0x1400e5bda
test byte [rsi + 0x40], 3
jne 0x1400e64b7
mov rcx, rsi
add rcx, 0x30
lea r15, [rsp + 0xb0]
movaps xmmword [r15], xmm6
mov rdx, r15
call fcn.1400bdb10
mov rax, qword [r15 + 8]
cmp rax, 4
movabs rdx, 0xfffffffc00000000
jb 0x1400e5bda
shr rax, 2
cmp rax, qword [rsi + 0x20]
jb 0x1400e64ba
mov rax, qword [rsp + 0xb0]
mov qword [rsi + 0x28], rax
jmp 0x1400e5bda
movzx r8d, byte [rax]
lea r9, [0x14023e250]
mov r8d, dword [r9 + r8*4]
lea r9, [rax + 1]
jmp 0x1400e549d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400e5571
lea rdi, [r12 + 0x38]
lea rsi, [r12 + 0x20]
lea rbx, [r12 + 0x50]
mov ecx, 0x38
mov r13, rdx
call fcn.140146648
mov r15, rax
mov qword [rsp + 0x20], rdi
mov rcx, rax
mov rdx, r13
mov r8, rbx
mov r9, rsi
call fcn.14001e990
mov qword [r14], r15
mov eax, dword [r12 + 4]
lock or dword [r15 + 0x10], eax
jmp 0x1400e5c9b
mov eax, 0xffffffff
add eax, r12d
mov esi, ebp
and esi, eax
jmp 0x1400e5648
lea rsi, [rbp + 0x38]
add rbp, 0x20
mov ecx, 0x28
call fcn.140146648
mov r14, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rbp
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
mov rcx, r14
mov rdx, r12
mov r8, r15
call fcn.1400e6710
lea rax, [0x1402301c0]
jmp 0x1400e5de3
mov ecx, 0xb0
call fcn.140146648
mov rcx, rax
call fcn.1400075e0
movabs rdx, 0xfffffffc00000000
mov r14, qword [0x140272590]
jmp 0x1400e55a1
test rbx, rbx
jne 0x1400e66f4
xor ebx, ebx
mov r14, qword [rsp + 0x40]
mov qword [r14], 0
jmp 0x1400e5c92
mov ecx, 1
xor eax, eax
lock cmpxchg qword [0x140272580], rcx
jne 0x1400e65ca
mov qword [0x140272588], 0
lea rdi, [0x140272588]
mov qword [0x140272580], rdi
jmp 0x1400e5560
mov ecx, 1
xor eax, eax
lock cmpxchg qword [0x140272580], rcx
jne 0x1400e6657
mov qword [0x140272588], 0
lea rax, [0x140272588]
mov qword [0x140272580], rax
jmp 0x1400e558c
xor r14d, r14d
jmp 0x1400e5bfd
xor edx, edx
jmp 0x1400e530e
mov dl, 1
call fcn.1401833b0
xor edx, edx
jmp 0x1400e539c
mov rcx, rsi
mov dl, 1
call fcn.1401833b0
xor eax, eax
jmp 0x1400e5ec5
ud2
mov r14, qword [rsp + 0x40]
mov qword [r14], 0
jmp 0x1400e5c9b
xor r8d, r8d
jmp 0x1400e54e0
int3
int3
call fcn.140004bf0
movabs rdx, 0xfffffffc00000000
jmp 0x1400e5c23
call fcn.140004bf0
movabs rdx, 0xfffffffc00000000
jmp 0x1400e5c6d
int3
int3
mov rcx, r12
call fcn.140004ab0
movabs rdx, 0xfffffffc00000000
jmp 0x1400e58a0
mov rcx, r12
call fcn.140004ab0
jmp 0x1400e5ac3
mov rcx, r12
call fcn.140004ab0
mov r8, qword [rsp + 0x58]
movabs rdx, 0xfffffffc00000000
jmp 0x1400e5835
mov rcx, r12
call fcn.140004ab0
movabs rcx, 0xfffffffc00000000
jmp 0x1400e5a0d
mov rcx, r12
call fcn.140004ab0
movabs rdx, 0xfffffffc00000000
jmp 0x1400e5b2c
mov rcx, r15
call fcn.140004ab0
movabs rdx, 0xfffffffc00000000
jmp 0x1400e5bca
int3
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400e5af3
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x1402529a0]
jmp 0x1400e5d2b
int3
int3
int3
int3
jae 0x1400e60af
mov rax, qword [r14 + 0x88]
test rax, rax
jns 0x1400e64e9
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x1400e64f1
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
divss xmm0, dword [r14 + 0x90]
call fcn.140146e7c
cvttss2si rax, xmm0
mov rcx, rax
subss xmm0, dword [0x140233160]
cvttss2si rdx, xmm0
sar rcx, 0x3f
and rdx, rcx
or rdx, rax
cmp r12, 3
jb 0x1400e65a8
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 0x1400e65a8
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 0x1400e65b0
mov rcx, rdx
call fcn.14011d7f0
cmp rsi, rax
cmovbe rsi, rax
cmp rsi, r12
mov rcx, qword [rsp + 0x50]
jb 0x1400e60a2
jmp 0x1400e60af
mov rax, qword [0x140272580]
cmp rax, 1
je 0x1400e65e3
mov rdi, qword [0x140272580]
jmp 0x1400e5560
lea rcx, [rsp + 0xb0]
mov qword [rcx], rsi
call fcn.1401398b0
lea r15, [rsp + 0x90]
movabs rdi, 0x7fffffffffffffff
jmp 0x1400e6619
call fcn.1400a7860
mov rax, qword [0x140272580]
cmp rax, 1
jne 0x1400e65d7
mov rcx, r15
call fcn.1401398b0
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xb0]
xor edx, edx
cmp rax, rcx
setns dl
add rdx, rdi
sub rax, rcx
cmovo rax, rdx
cmp rax, 0x3e7
jle 0x1400e6607
mov ecx, 0x3e8
call fcn.1401a1d90
jmp 0x1400e660c
mov r14, rdi
mov rax, qword [0x140272580]
cmp rax, 1
je 0x1400e6680
mov rax, qword [0x140272580]
movabs rdx, 0xfffffffc00000000
mov rdi, r14
jmp 0x1400e558c
lea rcx, [rsp + 0xb0]
mov qword [rcx], rsi
call fcn.1401398b0
lea r15, [rsp + 0x90]
movabs rdi, 0x7fffffffffffffff
jmp 0x1400e66b6
call fcn.1400a7860
mov rax, qword [0x140272580]
cmp rax, 1
jne 0x1400e6667
mov rcx, r15
call fcn.1401398b0
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xb0]
xor edx, edx
cmp rax, rcx
setns dl
add rdx, rdi
sub rax, rcx
cmovo rax, rdx
cmp rax, 0x3e7
jle 0x1400e66a4
mov ecx, 0x3e8
call fcn.1401a1d90
jmp 0x1400e66a9
mov rcx, rbx
call fcn.14013fcd0
mov rcx, rbx
call fcn.140146640
jmp 0x1400e62e1