Function at 0x1400e2980
Capabilities:
Allocate thread local storage

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
movapd xmmword [rsp + 0xa0], xmm7
movapd xmmword [rsp + 0x90], xmm6
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x140231040]
xor rax, rsp
mov qword [rsp + 0x88], rax
add rcx, 0x40
mov qword [rsp + 0x28], rcx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400e2eea
cmp byte [rdi + 0x1470], 0
jne 0x1400e2f2c
call fcn.14000e9c0
cmp byte [rsi + 2], 1
sete byte [rdi + 4]
sete al
cmp byte [rsi + 3], 1
sete dl
cmp qword [0x1402336d0], 0xffffffffffffffff
setne cl
and cl, dl
mov byte [rdi + 0x10], cl
cmp byte [rsi + 0x10], 1
sete byte [rdi + 0x11]
cmp byte [rsi + 4], 1
sete byte [rdi + 0x12]
je 0x1400e2ae1
cmp byte [rdi + 0x19b8], 0
jne 0x1400e2ee7
cmp byte [rsi + 0x1c], 1
sete byte [rdi + 0x13]
test cl, cl
jne 0x1400e2acd
mov dword [rdi + 0x14], 0
test al, al
jne 0x1400e2ab9
mov qword [rsp + 0x30], rsi
cmp byte [rsi + 1], 0
setne byte [rdi]
xorps xmm2, xmm2
movaps xmmword [rdi + 0x1450], xmm2
movaps xmmword [rdi + 0x1460], xmm2
lea r9, [0x140218187]
mov qword [rdi + 0x1448], r9
mov rax, rdi
not rax
mov qword [rdi + 0x1920], rax
lea r10, [rdi + 0x48]
mov r8d, 0x10
xor r11d, r11d
movabs rcx, 0x3ffffffffff
lea r14, [0x1401fe308]
movsd xmm3, qword [0x1401f2ec8]
movq xmm0, qword [0x140204da0]
movapd xmm1, xmmword [0x140204db0]
jmp 0x1400e2cf3
mov qword [rdi + 8], 4
mov dword [rdi + 0x14], 4
jmp 0x1400e2a46
test al, al
jne 0x1400e2f29
mov dword [rdi + 0x14], 0
jmp 0x1400e2a46
movabs r13, 0xaaaaaaaaaaaaaaaa
mov rbx, rsi
mov rax, qword [rsi + 8]
mov qword [rdi + 0x1930], rax
lea rcx, [rdi + 0x1938]
mov qword [rdi + 0x1940], rax
lea r12, [rsp + 0x60]
mov qword [r12 - 0x28], rcx
mov byte [r12 - 0x20], 1
mov qword [r12 - 0x18], 0
lea r14, [rsp + 0x80]
mov qword [r14], r13
mov edx, 8
mov rcx, r14
call fcn.14000e190
mov rax, qword [r14]
mov qword [r12 - 0x10], rax
mov qword [r14], r13
lea r14, [rsp + 0x80]
mov edx, 8
mov rcx, r14
call fcn.14000e190
mov rax, qword [r14]
mov qword [r12 - 8], rax
xorpd xmm6, xmm6
movupd xmmword [r12], xmm6
movupd xmmword [r12 + 0x10], xmm6
cmp byte [rdi + 0x19b8], 0
jne 0x1400e2f1d
lea r14, [rsp + 0x38]
mov rax, qword [r14]
mov qword [rdi + 0x1970], rax
mov al, byte [r14 + 8]
mov byte [rdi + 0x1978], al
movapd xmmword [rdi + 0x1980], xmm6
xor ebp, ebp
mov qword [rdi + 0x1990], rbp
lea r15, [rsp + 0x80]
mov qword [r15], r13
mov edx, 8
mov rcx, r15
call fcn.14000e190
mov rax, qword [r15]
mov qword [rdi + 0x1988], rax
mov qword [r15], r13
lea r15, [rsp + 0x80]
mov edx, 8
mov rcx, r15
call fcn.14000e190
mov rax, qword [r15]
mov qword [rdi + 0x1990], rax
mov rax, qword [r14 + 0x28]
mov qword [rdi + 0x1998], rax
mov rax, qword [r14 + 0x30]
mov qword [rdi + 0x19a0], rax
mov rax, qword [r14 + 0x38]
mov qword [rdi + 0x19a8], rax
mov qword [r12 + 0x10], rbp
movupd xmmword [r12], xmm6
mov rax, qword [r14 + 0x40]
mov qword [rdi + 0x19b0], rax
mov qword [r14 + 0x40], rbp
mov byte [rdi + 0x19b8], 1
mov rcx, r14
call fcn.14000e200
mov al, byte [rdi + 4]
mov cl, byte [rdi + 0x10]
mov rsi, rbx
jmp 0x1400e2a2b
mov r8d, 0x3000
mov r13w, 3
xor ebp, ebp
movapd xmm4, xmm3
nop word cs:[rax + rax]
mov rax, r8
xor edx, edx
div r12
mov eax, r13d
and eax, 3
lea esi, [rax*8]
mov ebx, 0x20
sub ebx, esi
test eax, eax
cmove ebx, eax
add rbx, rdx
xorps xmm5, xmm5
cvtsi2sd xmm5, rbx
movq xmm6, r8
punpckldq xmm6, xmm0
subpd xmm6, xmm1
movapd xmm7, xmm6
unpckhpd xmm7, xmm6
addsd xmm7, xmm6
divsd xmm5, xmm7
ucomisd xmm4, xmm5
minsd xmm5, xmm4
cmova ebp, r13d
add r8, 0x1000
inc r13d
movapd xmm4, xmm5
cmp r8, 0x11000
jne 0x1400e2c60
cmp bp, 0x10
ja 0x1400e2ede
movzx r8d, bp
lea rax, [r10 + r15*8]
movzx edx, r8b
mov dword [rax + 0x1c], edx
mov r8, qword [r14 + r11*8 + 8]
inc r11
cmp r8, 1
je 0x1400e2d44
lea r15, [r11 + r11*4]
mov dword [r10 + r15*8 + 0x18], r8d
mov r12d, r8d
mov rax, rcx
xor edx, edx
div r12
inc rax
mov qword [r10 + r15*8 + 0x20], rax
mov qword [r10 + r15*8], r9
movups xmmword [r10 + r15*8 + 8], xmm2
movzx eax, byte [r10 + r15*8 + 0x1c]
mov dword [r10 + r15*8 + 0x1c], eax
cmp r8d, 0x10000
jbe 0x1400e2c44
test r8d, 0xff00000
jne 0x1400e2ee1
shr r8d, 0xc
jmp 0x1400e2cda
cmp r11, 0x7f
ja 0x1400e2e15
movabs rax, 0x40000000000
xorps xmm2, xmm2
movsd xmm3, qword [0x1401f2ec8]
lea rcx, [r11 + r11*4]
lea rcx, [r10 + rcx*8]
mov dword [rcx + 0x18], 1
mov qword [rcx + 0x20], rax
mov qword [rcx], r9
movups xmmword [rcx + 8], xmm2
movzx edx, byte [rcx + 0x1c]
mov dword [rcx + 0x1c], edx
mov r8d, 0x3000
mov bp, 3
xor edx, edx
movapd xmm4, xmm3
mov esi, ebp
and esi, 3
lea ebx, [rsi*8]
mov r14d, 0x20
sub r14d, ebx
test esi, esi
cmove r14d, esi
xorps xmm5, xmm5
cvtsi2sd xmm5, r14d
movq xmm6, r8
punpckldq xmm6, xmm0
subpd xmm6, xmm1
haddpd xmm6, xmm6
divsd xmm5, xmm6
ucomisd xmm4, xmm5
minsd xmm5, xmm4
cmova edx, ebp
add r8, 0x1000
inc ebp
movapd xmm4, xmm5
cmp r8, 0x11000
jne 0x1400e2d94
cmp dx, 0x10
ja 0x1400e2ee4
movzx edx, dx
mov dword [rcx + 0x1c], edx
mov qword [rcx], 0
lea rcx, [r11 + 1]
cmp r11, 0x7f
mov r11, rcx
jb 0x1400e2d63
lea rcx, [0x140233770]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400e2ef9
cmp byte [0x140243da8], 0
mov rsi, qword [rsp + 0x30]
je 0x1400e2ea3
lea rcx, [0x140233770]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp byte [rsi], 1
sete byte [rdi + 3]
je 0x1400e2f0a
mov bl, 1
mov byte [rdi + 0x1470], bl
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
xor eax, eax
lock cmpxchg byte [0x140243d4c], bl
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.14012d2c0
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp qword [0x140249998], 0
jne 0x1400e2f17
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
je 0x1400e2f1a
mov dword [0x140243d50], eax
mov dword [0x1402499a0], eax
lea rax, [0x140033530]
mov qword [0x140249998], rax
mov byte [0x140243da8], 1
jmp 0x1400e2e38
int3
int3
int3
int3
mov rcx, qword [rsp + 0x28]
call fcn.1400b5570
jmp 0x1400e29d4
lea rcx, [0x140233770]
call fcn.1400b5570
jmp 0x1400e2e2a
mov rcx, rdi
call fcn.140099400
jmp 0x1400e2e52
int3
int3
mov byte [rdi + 0x19b8], 0
jmp 0x1400e2b7e
int3
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.14012d2c0
mov rcx, qword [rsp + 0x28]
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]