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

Disassembly:
xchg rsi, rbp
mov qword [rsp + 0x18], rsi
xchg rbp, rsi
nop
sub rsp, 8
mov qword [rsp], rdi
sub rsp, 0x20
mov rdi, qword gs:[0x30]
mov rbp, rcx
xchg r11, rax
mov r11, qword [rdi + 0x2d8]
xchg r11, rax
xchg r12, rax
mov qword [rcx + 0xf8], r12
xchg r12, rax
mov rax, qword [rdi + 0x2e0]
mov qword [rcx + 0x98], rax
xchg r15, rax
mov r15, qword [rcx + 0xc8]
xchg r15, rax
mov qword [rcx + 0x80], rax
cmp byte [rdi + 0x2ec], 0
jne 0x14002feb6
cmp qword [0x140216fe0], 0
je 0x14002feb6
mov byte [rdi + 0x2ec], 0x53
sub byte [rdi + 0x2ec], 0x46
add byte [rdi + 0x2ec], 0xf
add byte [rdi + 0x2ec], 0x4d
sub byte [rdi + 0x2ec], 0x5d
add byte [rdi + 0x2ec], 0x3c
xor byte [rdi + 0x2ec], 0x49
mov rax, qword [0x140216fe0]
mov rcx, qword [rax + 0x30]
cmp qword [rdi + 0x2d8], rcx
jne 0x14002fe77
xchg rdi, rbx
mov qword [rsp + 0x30], rdi
xchg rbx, rdi
xchg r11, rbx
mov r11, qword [rbp + 0x98]
xchg r11, rbx
cmp dword [rbx + 0x4f0], 0x80000003
jne 0x14002fd5b
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x38], rsi
cmp qword [rbx + 0x500], rcx
jne 0x14002fcae
lea rax, [0x14002dcc0]
mov byte [rdi + 0x2ec], 0x12
add byte [rdi + 0x2ec], 0x31
sub byte [rdi + 0x2ec], 0x2c
sub byte [rdi + 0x2ec], 0x15
xor byte [rdi + 0x2ec], 5
add byte [rdi + 0x2ec], 0x36
add byte [rdi + 0x2ec], 0x1c
xor byte [rdi + 0x2ec], 0x59
xor edx, edx
xchg rcx, rax
mov qword [rbx + 0xf8], rcx
xchg rcx, rax
xchg rcx, r12
mov r12, rbx
xchg r12, rcx
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 0x14002fd56
mov ecx, dword [rax + 0xc]
mov edx, 0x215aa6c8
xor edx, 0x62f1425e
add edx, 0x90e5710
sub edx, 0x2be2420f
add edx, 0x4fcdd55b
sub edx, 0x18e45dc0
add edx, 0xcec77ba
xor edx, 0x1cbc93
sub edx, 0x64b1547a
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov byte [rdi + 0x2ec], 0x6b
sub byte [rdi + 0x2ec], 0x4a
add byte [rdi + 0x2ec], 0x17
sub byte [rdi + 0x2ec], 0xe
xor byte [rdi + 0x2ec], 0x15
add byte [rdi + 0x2ec], 0xd
sub byte [rdi + 0x2ec], 0x4c
xor edx, edx
inc qword [rbx + 0xf8]
xchg rdi, rbx
mov rcx, rdi
xchg rdi, rbx
call qword [sym.imp.KERNEL32.dll_RtlRestoreContext]
mov rax, qword [0x140216fe0]
mov rsi, qword [rsp + 0x38]
cmp byte [rax + 6], 0
jne 0x14002fe1c
mov ecx, dword [rbx + 0x4f0]
cmp ecx, 1
je 0x14002fdf5
cmp ecx, 0x80000001
je 0x14002fdd4
cmp ecx, 0x80000003
je 0x14002fdaf
cmp ecx, 0x80000004
jne 0x14002fe1c
mov byte [rax], 0x70
xor byte [rax], 0x7a
add byte [rax], 0x2a
xor byte [rax], 0x4d
sub byte [rax], 0x26
sub byte [rax], 0x52
jmp 0x14002fe15
mov byte [rax + 2], 0x31
add byte [rax + 2], 0x25
sub byte [rax + 2], 0x25
add byte [rax + 2], 0
add byte [rax + 2], 0x46
sub byte [rax + 2], 0x6f
add byte [rax + 2], 0x35
sub byte [rax + 2], 0x3c
jmp 0x14002fe15
mov byte [rax + 4], 0x47
sub byte [rax + 4], 0xe
xor byte [rax + 4], 0x63
sub byte [rax + 4], 0x31
add byte [rax + 4], 0x46
xor byte [rax + 4], 0x55
xor byte [rax + 4], 0x3b
jmp 0x14002fe15
mov byte [rax + 3], 0x4f
add byte [rax + 3], 0xe
sub byte [rax + 3], 7
sub byte [rax + 3], 0x21
xor byte [rax + 3], 0x45
sub byte [rax + 3], 0x6e
add byte [rax + 3], 0x33
sub byte [rax + 3], 0x34
mov rax, qword [0x140216fe0]
cmp qword [rbx + 0x48], 0
jne 0x14002fe48
cmp qword [rbx + 0x50], 0
jne 0x14002fe48
cmp qword [rbx + 0x58], 0
jne 0x14002fe48
cmp qword [rbx + 0x60], 0
je 0x14002fe6c
mov byte [rax + 1], 0x11
xor byte [rax + 1], 0x13
xor byte [rax + 1], 0x5a
sub byte [rax + 1], 0x39
add byte [rax + 1], 0x1f
xor byte [rax + 1], 0x4d
xor byte [rax + 1], 0x17
sub byte [rax + 1], 0x64
xor byte [rax + 1], 1
xchg r14, rbx
mov r14, qword [rsp + 0x30]
xchg rbx, r14
mov byte [rdi + 0x2ec], 0xd
add byte [rdi + 0x2ec], 0x39
sub byte [rdi + 0x2ec], 0x1c
add byte [rdi + 0x2ec], 9
xor byte [rdi + 0x2ec], 0x6f
add byte [rdi + 0x2ec], 2
sub byte [rdi + 0x2ec], 0x2d
add byte [rdi + 0x2ec], 0xd
xor byte [rdi + 0x2ec], 0x3e
xor edx, edx
xchg rbx, rbp
mov rcx, rbx
xchg rbx, rbp
xchg rdi, rbp
mov rdi, qword [rsp + 0x40]
xchg rdi, rbp
add rsp, 0x20
nop
mov rdi, qword [rsp]
add rsp, 8
jmp qword [sym.imp.KERNEL32.dll_RtlRestoreContext]