Function at 0x14002fa90
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
xchg r9, rbp
mov qword [rsp + 0x18], r9
xchg r9, rbp
nop
mov qword [rsp - 8], rdi
sub rsp, 8
sub rsp, 0x20
mov rdi, qword gs:[0x30]
xchg rbp, rbx
mov rbx, rcx
xchg rbp, rbx
xchg rbx, rax
mov rbx, qword [rdi + 0x2d8]
xchg rbx, rax
xchg r11, rax
mov qword [rcx + 0xf8], r11
xchg r11, rax
xchg r9, rax
mov r9, qword [rdi + 0x2e0]
xchg r9, rax
xchg rbx, rax
mov qword [rcx + 0x98], rbx
xchg rbx, rax
xchg rbp, rax
mov rbp, qword [rcx + 0xc8]
xchg rbp, rax
xchg r10, rax
mov qword [rcx + 0x80], r10
xchg r10, rax
cmp byte [rdi + 0x2ec], 0
jne 0x14002fdce
cmp qword [0x140216fe0], 0
je 0x14002fdce
mov byte [rdi + 0x2ec], 0x4e
sub byte [rdi + 0x2ec], 0x24
xor byte [rdi + 0x2ec], 0x56
xor byte [rdi + 0x2ec], 0x54
add byte [rdi + 0x2ec], 0x45
xor byte [rdi + 0x2ec], 0x33
sub byte [rdi + 0x2ec], 0x5d
mov rax, qword [0x140216fe0]
mov rcx, qword [rax + 0x30]
cmp qword [rdi + 0x2d8], rcx
jne 0x14002fda4
mov qword [rsp + 0x30], rbx
xchg rbx, rsi
mov rsi, qword [rbp + 0x98]
xchg rbx, rsi
cmp dword [rbx + 0x4f0], 0x80000003
jne 0x14002fc8f
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x38], rsi
cmp qword [rbx + 0x500], rcx
jne 0x14002fbe9
lea rax, [0x14002dbf0]
mov byte [rdi + 0x2ec], 0x5e
sub byte [rdi + 0x2ec], 8
xor byte [rdi + 0x2ec], 0x5d
add byte [rdi + 0x2ec], 0x43
add byte [rdi + 0x2ec], 0xa
sub byte [rdi + 0x2ec], 0x58
xor edx, edx
mov qword [rbx + 0xf8], rax
xchg rbx, r9
mov rcx, r9
xchg r9, rbx
call qword [sym.imp.KERNEL32.dll_RtlRestoreContext]
mov rax, qword [0x140216fe0]
mov ecx, dword [rax + 0xc]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp rax, 4
mov rax, qword [0x140216fe0]
jne 0x14002fc8a
mov ecx, dword [rax + 0xc]
mov edx, 0x4d413c81
sub edx, 0x18cdd56e
add edx, 0x1a16c62
sub edx, 0x16841cfd
xor edx, 0xb573696
xor edx, 0x25212097
add edx, 0x29904530
sub edx, 0x3a077e37
sub edx, 0x216f676d
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov byte [rdi + 0x2ec], 0x42
sub byte [rdi + 0x2ec], 0x33
add byte [rdi + 0x2ec], 0x26
xor byte [rdi + 0x2ec], 0x72
sub byte [rdi + 0x2ec], 0x23
xor byte [rdi + 0x2ec], 0x24
xor edx, edx
inc qword [rbx + 0xf8]
xchg r9, rbx
mov rcx, r9
xchg r9, rbx
call qword [sym.imp.KERNEL32.dll_RtlRestoreContext]
mov rax, qword [0x140216fe0]
mov rsi, qword [rsp + 0x38]
cmp byte [rax + 6], 0
jne 0x14002fd4f
mov ecx, dword [rbx + 0x4f0]
cmp ecx, 1
je 0x14002fd28
cmp ecx, 0x80000001
je 0x14002fd07
cmp ecx, 0x80000003
je 0x14002fce6
cmp ecx, 0x80000004
jne 0x14002fd4f
mov byte [rax], 0x7d
sub byte [rax], 0x46
add byte [rax], 0x1f
add byte [rax], 0x18
xor byte [rax], 0x4a
xor byte [rax], 0x65
sub byte [rax], 0x40
jmp 0x14002fd48
mov byte [rax + 2], 0x6e
sub byte [rax + 2], 0x44
sub byte [rax + 2], 0xc
add byte [rax + 2], 0x3a
add byte [rax + 2], 0x15
xor byte [rax + 2], 0x60
xor byte [rax + 2], 0xc
jmp 0x14002fd48
mov byte [rax + 4], 0x3c
add byte [rax + 4], 0x2e
sub byte [rax + 4], 0x62
xor byte [rax + 4], 1
add byte [rax + 4], 3
xor byte [rax + 4], 0x39
sub byte [rax + 4], 0x34
jmp 0x14002fd48
mov byte [rax + 3], 0x3f
xor byte [rax + 3], 0x24
xor byte [rax + 3], 0x61
sub byte [rax + 3], 0x1d
sub byte [rax + 3], 0x1e
sub byte [rax + 3], 0x3a
xor byte [rax + 3], 0x27
sub byte [rax + 3], 0x21
mov rax, qword [0x140216fe0]
cmp qword [rbx + 0x48], 0
jne 0x14002fd7b
cmp qword [rbx + 0x50], 0
jne 0x14002fd7b
cmp qword [rbx + 0x58], 0
jne 0x14002fd7b
cmp qword [rbx + 0x60], 0
je 0x14002fd9f
mov byte [rax + 1], 0x14
sub byte [rax + 1], 9
add byte [rax + 1], 0x53
sub byte [rax + 1], 0x22
add byte [rax + 1], 7
sub byte [rax + 1], 0x15
xor byte [rax + 1], 0x59
add byte [rax + 1], 3
sub byte [rax + 1], 0x79
mov rbx, qword [rsp + 0x30]
mov byte [rdi + 0x2ec], 0x72
sub byte [rdi + 0x2ec], 0x2c
sub byte [rdi + 0x2ec], 0xf
add byte [rdi + 0x2ec], 5
xor byte [rdi + 0x2ec], 0x3e
xor byte [rdi + 0x2ec], 2
xor edx, edx
xchg rdx, rbp
mov rcx, rdx
xchg rbp, rdx
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
push rcx
push rcx
push rdx
push rbx
xchg qword [rsp + 0x20], rdi
add rsp, 0x28
jmp qword [sym.imp.KERNEL32.dll_RtlRestoreContext]