Function at 0x140144720
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 [0x1402b3040]
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 0x140144e15
cmp byte [r12 + 0x1470], 0
jne 0x140144e89
call fcn.14000c960
cmp byte [r13 + 2], 1
sete byte [r12 + 4]
sete al
cmp byte [r13 + 3], 1
sete dl
cmp qword [0x1402b5710], 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 0x1401448fc
cmp byte [r12 + 0x19b8], 1
je 0x140144e12
cmp byte [r13 + 0x1c], 1
sete byte [r12 + 0x13]
test cl, cl
jne 0x1401449f5
mov dword [r12 + 0x14], 0
test al, 1
jne 0x1401448e5
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, [0x14028bf38]
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, [0x140289038]
movsd xmm15, qword [0x140264f48]
mov ebp, Ordinal_14
mov r15d, Ordinal_14
mov r12d, Ordinal_14
mov r13d, reloc.WLDAP32.dll_Ordinal_14
mov esi, 0xf
mov ebx, 0x10
jmp 0x140144c6d
mov qword [r12 + 8], 4
mov dword [r12 + 0x14], 4
jmp 0x140144851
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.140137980
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.140137980
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 0x140144e46
lea r15, [rsp + 0x40]
mov rcx, r14
mov rdx, r15
call fcn.14000c770
mov byte [r12 + 0x19b8], 1
mov rcx, r15
call fcn.14016e0d0
mov r14, qword [r15 + 0x28]
mov rax, qword [r15 + 0x30]
cmp rax, r14
jne 0x140144e54
mov qword [rsp + 0x70], r14
test r14, r14
jne 0x140144e74
cmp byte [r13 + 0x1c], 1
mov al, byte [r12 + 4]
sete byte [r12 + 0x13]
test byte [r12 + 0x10], 1
je 0x140144840
test al, 1
jne 0x140144e71
mov dword [r12 + 0x14], 0
jmp 0x140144851
mov eax, 0x10000
xor edx, edx
div r14d
cvtsi2sd xmm1, edx
mulsd xmm1, qword [0x14028bec8]
mov eax, 0xf000
xor edx, edx
div r14d
add edx, 8
xorps xmm2, xmm2
cvtsi2sd xmm2, edx
divsd xmm2, qword [0x14028bed0]
mov eax, 0xe000
xor edx, edx
div r14d
add edx, 0x10
xorps xmm3, xmm3
cvtsi2sd xmm3, edx
divsd xmm3, qword [0x14028bed8]
mov eax, 0xd000
xor edx, edx
div r14d
add edx, 0x18
xorps xmm4, xmm4
cvtsi2sd xmm4, edx
divsd xmm4, qword [0x14028bee0]
mov eax, 0xc000
xor edx, edx
div r14d
xorps xmm5, xmm5
cvtsi2sd xmm5, edx
divsd xmm5, qword [0x14028bee8]
mov eax, 0xb000
xor edx, edx
div r14d
add edx, 8
cvtsi2sd xmm6, edx
divsd xmm6, qword [0x14028bef0]
mov eax, 0xa000
xor edx, edx
div r14d
add edx, 0x10
cvtsi2sd xmm7, edx
divsd xmm7, qword [0x14028bef8]
mov eax, 0x9000
xor edx, edx
div r14d
add edx, 0x18
cvtsi2sd xmm8, edx
divsd xmm8, qword [0x14028bf00]
mov eax, 0x8000
xor edx, edx
div r14d
cvtsi2sd xmm9, edx
mulsd xmm9, qword [0x14028bf08]
mov eax, 0x7000
xor edx, edx
div r14d
add edx, 8
cvtsi2sd xmm10, edx
divsd xmm10, qword [0x14028bf10]
mov eax, 0x6000
xor edx, edx
div r14d
add edx, 0x10
cvtsi2sd xmm11, edx
divsd xmm11, qword [0x14028bf18]
mov eax, 0x5000
xor edx, edx
div r14d
add edx, 0x18
cvtsi2sd xmm12, edx
divsd xmm12, qword [0x14028bf20]
mov eax, 0x4000
xor edx, edx
div r14d
cvtsi2sd xmm13, edx
mulsd xmm13, qword [0x14028bf28]
mov eax, 0x3000
xor edx, edx
div r14d
add edx, 8
cvtsi2sd xmm14, edx
divsd xmm14, qword [0x14028bf30]
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 0x140144cb4
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 0x140144a0b
test r14d, 0xff00000
jne 0x140144e0f
shr r14d, 0xc
jmp 0x140144c53
cmp r9, 0x7f
ja 0x140144cf5
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 0x140144cd4
lea rcx, [0x1402b57c0]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
je 0x140144e22
cmp byte [0x1402c5fe8], 0
je 0x140144dd4
lea rcx, [0x1402b57c0]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp byte [rdi], 1
sete byte [rsi + 3]
je 0x140144e33
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 [0x1402c5f8c], bl
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140191d70
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 [0x1402cbd50], 0
jne 0x140144e40
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
je 0x140144e43
mov dword [0x1402c5f90], eax
mov dword [0x1402cbd58], eax
lea rax, [0x14002a4e0]
mov qword [0x1402cbd50], rax
mov byte [0x1402c5fe8], 1
jmp 0x140144d21
int3
int3
mov rcx, rbx
call fcn.1401200d0
jmp 0x1401447c1
lea rcx, [0x1402b57c0]
call fcn.1401200d0
jmp 0x140144d14
mov rcx, rsi
call fcn.1400a2dc0
jmp 0x140144d3b
int3
int3
mov byte [r12 + 0x19b8], 0
jmp 0x140144999
add rax, 0xfffffffffffffff0
jne 0x1401449c2
lea rcx, [0x1402742d5]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.1401ceaf0
int3
call fcn.1400181b0
mov rcx, rax
mov rdx, r14
call fcn.14002a550
jmp 0x1401449d9
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140191d70
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]