Function at 0x140070630
Capabilities:
Allocate thread local storage

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
movaps xmmword [rsp + 0x130], xmm15
movapd xmmword [rsp + 0x120], xmm14
movapd xmmword [rsp + 0x110], xmm13
movapd xmmword [rsp + 0x100], xmm12
movapd xmmword [rsp + 0xf0], xmm11
movapd xmmword [rsp + 0xe0], xmm10
movapd xmmword [rsp + 0xd0], xmm9
movapd xmmword [rsp + 0xc0], xmm8
movapd xmmword [rsp + 0xb0], xmm7
movapd xmmword [rsp + 0xa0], xmm6
mov r13, rdx
mov r12, rcx
mov rax, qword [0x14013b040]
xor rax, rsp
mov qword [rsp + 0x98], rax
lea rbx, [rcx + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140070d25
cmp byte [r12 + 0x1470], 0
jne 0x140070d99
call fcn.140005900
cmp byte [r13 + 2], 1
sete byte [r12 + 4]
sete al
cmp byte [r13 + 3], 1
sete dl
cmp qword [0x14013d590], 0xffffffffffffffff
setne cl
and cl, dl
mov byte [r12 + 0x10], cl
cmp byte [r13 + 0x10], 1
sete byte [r12 + 0x11]
cmp byte [r13 + 4], 1
sete byte [r12 + 0x12]
mov qword [rsp + 0x38], rbx
je 0x14007080c
cmp byte [r12 + 0x19b8], 1
je 0x140070d22
cmp byte [r13 + 0x1c], 1
sete byte [r12 + 0x13]
test cl, cl
jne 0x140070905
mov dword [r12 + 0x14], 0
test al, 1
jne 0x1400707f5
mov qword [rsp + 0x28], r13
cmp byte [r13 + 1], 0
setne byte [r12]
xorps xmm0, xmm0
movaps xmmword [r12 + 0x1450], xmm0
movaps xmmword [r12 + 0x1460], xmm0
lea r10, [0x140129c08]
mov qword [r12 + 0x1448], r10
mov rax, r12
not rax
mov qword [r12 + 0x1920], rax
mov qword [rsp + 0x30], r12
lea r8, [r12 + 0x68]
mov r14d, 0x10
xor r9d, r9d
movabs rcx, 0x3ffffffffff
lea r11, [0x140128328]
movsd xmm15, qword [0x140111b00]
mov ebp, 0xb
mov r15d, 0xc
mov r12d, 0xd
mov r13d, 0xe
mov esi, 0xf
mov ebx, 0x10
jmp 0x140070b7d
mov qword [r12 + 8], 4
mov dword [r12 + 0x14], 4
jmp 0x140070761
mov rsi, qword [r13 + 8]
mov qword [r12 + 0x1930], rsi
lea r14, [r12 + 0x1968]
lea rax, [r12 + 0x1938]
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x48], 1
mov qword [rsp + 0x50], 0
movabs rdi, 0xaaaaaaaaaaaaaaaa
lea r15, [rsp + 0x90]
mov qword [r15], rdi
mov edx, 8
mov rcx, r15
call fcn.14006bba0
mov rax, qword [r15]
mov qword [rsp + 0x58], rax
mov qword [r15], rdi
lea r15, [rsp + 0x90]
mov edx, 8
mov rcx, r15
call fcn.14006bba0
mov rax, qword [r15]
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], rsi
cmp byte [r12 + 0x19b8], 1
je 0x140070d56
lea r15, [rsp + 0x40]
mov rcx, r14
mov rdx, r15
call fcn.140005710
mov byte [r12 + 0x19b8], 1
mov rcx, r15
call fcn.14008c210
mov r14, qword [r15 + 0x28]
mov rax, qword [r15 + 0x30]
cmp rax, r14
jne 0x140070d64
mov qword [rsp + 0x70], r14
test r14, r14
jne 0x140070d84
cmp byte [r13 + 0x1c], 1
mov al, byte [r12 + 4]
sete byte [r12 + 0x13]
test byte [r12 + 0x10], 1
je 0x140070750
test al, 1
jne 0x140070d81
mov dword [r12 + 0x14], 0
jmp 0x140070761
mov eax, 0x10000
xor edx, edx
div r14d
cvtsi2sd xmm1, edx
mulsd xmm1, qword [0x140129b98]
mov eax, 0xf000
xor edx, edx
div r14d
add edx, 8
xorps xmm2, xmm2
cvtsi2sd xmm2, edx
divsd xmm2, qword [0x140129ba0]
mov eax, 0xe000
xor edx, edx
div r14d
add edx, 0x10
xorps xmm3, xmm3
cvtsi2sd xmm3, edx
divsd xmm3, qword [0x140129ba8]
mov eax, 0xd000
xor edx, edx
div r14d
add edx, 0x18
xorps xmm4, xmm4
cvtsi2sd xmm4, edx
divsd xmm4, qword [0x140129bb0]
mov eax, 0xc000
xor edx, edx
div r14d
xorps xmm5, xmm5
cvtsi2sd xmm5, edx
divsd xmm5, qword [0x140129bb8]
mov eax, 0xb000
xor edx, edx
div r14d
add edx, 8
cvtsi2sd xmm6, edx
divsd xmm6, qword [0x140129bc0]
mov eax, 0xa000
xor edx, edx
div r14d
add edx, 0x10
cvtsi2sd xmm7, edx
divsd xmm7, qword [0x140129bc8]
mov eax, 0x9000
xor edx, edx
div r14d
add edx, 0x18
cvtsi2sd xmm8, edx
divsd xmm8, qword [0x140129bd0]
mov eax, 0x8000
xor edx, edx
div r14d
cvtsi2sd xmm9, edx
mulsd xmm9, qword [0x140129bd8]
mov eax, 0x7000
xor edx, edx
div r14d
add edx, 8
cvtsi2sd xmm10, edx
divsd xmm10, qword [0x140129be0]
mov eax, 0x6000
xor edx, edx
div r14d
add edx, 0x10
cvtsi2sd xmm11, edx
divsd xmm11, qword [0x140129be8]
mov eax, 0x5000
xor edx, edx
div r14d
add edx, 0x18
cvtsi2sd xmm12, edx
divsd xmm12, qword [0x140129bf0]
mov eax, 0x4000
xor edx, edx
div r14d
cvtsi2sd xmm13, edx
mulsd xmm13, qword [0x140129bf8]
mov eax, 0x3000
xor edx, edx
div r14d
add edx, 8
cvtsi2sd xmm14, edx
divsd xmm14, qword [0x140129c00]
xor eax, eax
ucomisd xmm15, xmm14
seta al
minsd xmm14, xmm15
ucomisd xmm14, xmm13
lea r14d, [rax + rax*2]
mov eax, 4
cmova r14d, eax
minsd xmm13, xmm14
ucomisd xmm13, xmm12
mov eax, 5
cmova r14d, eax
minsd xmm12, xmm13
ucomisd xmm12, xmm11
mov eax, 6
cmova r14d, eax
minsd xmm11, xmm12
ucomisd xmm11, xmm10
mov eax, 7
cmova r14d, eax
minsd xmm10, xmm11
ucomisd xmm10, xmm9
mov eax, 8
cmova r14d, eax
minsd xmm9, xmm10
ucomisd xmm9, xmm8
mov eax, 9
cmova r14d, eax
minsd xmm8, xmm9
ucomisd xmm8, xmm7
mov eax, 0xa
cmova r14d, eax
minsd xmm7, xmm8
ucomisd xmm7, xmm6
cmova r14d, ebp
minsd xmm6, xmm7
ucomisd xmm6, xmm5
cmova r14d, r15d
minsd xmm5, xmm6
ucomisd xmm5, xmm4
cmova r14d, r12d
minsd xmm4, xmm5
ucomisd xmm4, xmm3
cmova r14d, r13d
minsd xmm3, xmm4
ucomisd xmm3, xmm2
cmova r14d, esi
minsd xmm2, xmm3
ucomisd xmm2, xmm1
cmova r14d, ebx
movzx eax, r14b
mov dword [r8 - 4], eax
mov r14, qword [r11 + r9*8 + 8]
inc r9
add r8, 0x28
cmp r14, 1
je 0x140070bc4
mov dword [r8 - 8], r14d
mov edi, r14d
mov rax, rcx
xor edx, edx
div rdi
inc rax
mov qword [r8], rax
mov qword [r8 - 0x20], r10
movups xmmword [r8 - 0x18], xmm0
movzx eax, byte [r8 - 4]
mov dword [r8 - 4], eax
cmp r14d, 0x10001
jb 0x14007091b
test r14d, 0xff00000
jne 0x140070d1f
shr r14d, 0xc
jmp 0x140070b63
cmp r9, 0x7f
ja 0x140070c05
dec r9
movabs rax, 0x400000001
movabs rcx, 0x40000000000
xorps xmm0, xmm0
mov qword [r8 - 8], rax
mov qword [r8], rcx
movups xmmword [r8 - 0x18], xmm0
mov qword [r8 - 0x20], 0
inc r9
add r8, 0x28
cmp r9, 0x7f
jb 0x140070be4
lea rcx, [0x14013d600]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
je 0x140070d32
cmp byte [0x14014cf08], 0
je 0x140070ce4
lea rcx, [0x14013d600]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp byte [rdi], 1
sete byte [rsi + 3]
je 0x140070d43
mov bl, 1
mov byte [rsi + 0x1470], bl
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
xor eax, eax
lock cmpxchg byte [0x14014ceb4], bl
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.14009f1f0
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm11, xmmword [rsp + 0xf0]
movaps xmm12, xmmword [rsp + 0x100]
movaps xmm13, xmmword [rsp + 0x110]
movaps xmm14, xmmword [rsp + 0x120]
movaps xmm15, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp qword [0x140152a50], 0
jne 0x140070d50
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
je 0x140070d53
mov dword [0x14014ceb8], eax
mov dword [0x140152a58], eax
lea rax, [0x140016dd0]
mov qword [0x140152a50], rax
mov byte [0x14014cf08], 1
jmp 0x140070c31
int3
int3
mov rcx, rbx
call fcn.140068660
jmp 0x1400706d1
lea rcx, [0x14013d600]
call fcn.140068660
jmp 0x140070c24
mov rcx, rsi
call fcn.140056ae0
jmp 0x140070c4b
int3
int3
mov byte [r12 + 0x19b8], 0
jmp 0x1400708a9
add rax, 0xfffffffffffffff0
jne 0x1400708d2
lea rcx, [0x14011c264]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.1400d1300
int3
call fcn.14000d840
mov rcx, rax
mov rdx, r14
call fcn.140016e40
jmp 0x1400708e9
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.14009f1f0
mov rcx, rbx
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm11, xmmword [rsp + 0xf0]
movaps xmm12, xmmword [rsp + 0x100]
movaps xmm13, xmmword [rsp + 0x110]
movaps xmm14, xmmword [rsp + 0x120]
movaps xmm15, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]