Function at 0x140010b50
Capabilities:
Set thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
lea rax, vtable.nbase::MessageLoop.0
mov qword [rcx], rax
xor ebp, ebp
mov ebx, ebp
mov rcx, rdi
call fcn.140010e90
mov rcx, rdi
call fcn.140011540
mov rcx, rdi
call fcn.140010e90
test al, al
je 0x140010b98
inc ebx
cmp ebx, 0x64
jl 0x140010b75
mov rdx, rbp
lea rbx, [rdi + 0x128]
test rbx, rbx
je 0x140010baa
inc dword [rbx + 8]
mov rcx, qword [rdi + 0x140]
mov r8, qword [rdi + 0x138]
mov rax, rcx
sub rax, r8
sar rax, 3
test rax, rax
je 0x140010c0e
nop word [rax + rax]
sub rcx, r8
sar rcx, 3
lea rsi, [rdx + 1]
cmp rdx, rcx
jae 0x140010bee
mov rcx, qword [r8 + rdx*8]
test rcx, rcx
je 0x140010bee
mov rax, qword [rcx]
call qword [rax]
mov rcx, qword [rdi + 0x140]
mov r8, qword [rdi + 0x138]
mov rax, rcx
sub rax, r8
sar rax, 3
mov rdx, rsi
cmp rsi, rax
jb 0x140010bd0
test rbx, rbx
je 0x140010c25
dec dword [rbx + 8]
cmp dword [rbx + 8], 1
jge 0x140010c25
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
nop
mov rcx, qword [rdi + 0x150]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov qword [rdi + 0x150], rbp
mov rbx, qword [rdi + 0x158]
mov qword [rdi + 0x158], rbp
mov esi, 0xffffffff
test rbx, rbx
je 0x140010c7a
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140010c7a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140010c7a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
call fcn.140012090
xor edx, edx
mov ecx, dword [rax]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov rbx, qword [rdi + 0x158]
test rbx, rbx
je 0x140010cbe
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140010cbe
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140010cbe
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rcx, qword [rdi + 0x138]
test rcx, rcx
je 0x140010d17
mov rdx, qword [rdi + 0x148]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x140010cfd
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140010df6
mov rcx, r8
call fcn.140061530
mov qword [rdi + 0x138], rbp
mov qword [rdi + 0x140], rbp
mov qword [rdi + 0x148], rbp
mov rcx, qword [rdi + 0x110]
test rcx, rcx
je 0x140010d70
mov rdx, qword [rdi + 0x120]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x140010d56
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140010df6
mov rcx, r8
call fcn.140061530
mov qword [rdi + 0x110], rbp
mov qword [rdi + 0x118], rbp
mov qword [rdi + 0x120], rbp
lea rcx, [rdi + 0xd0]
call fcn.140012530
lea rcx, [rdi + 0xa8]
call fcn.1400126e0
lea rcx, [rdi + 0x80]
call fcn.1400126e0
lea rcx, [rdi + 0x58]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [rdi + 0x30]
call fcn.1400126e0
mov rbx, qword [rdi + 0x20]
test rbx, rbx
je 0x140010dd7
mov eax, esi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140010dd7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
cmp esi, 1
jne 0x140010dd7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
lea rax, vtable.nbase::MessagePump::Delegate.0
mov qword [rdi], rax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
call fcn.14006a6c0
int3