Function at 0x14002fab0
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 r11, rcx
mov rbp, r11
xchg rcx, r11
xchg r15, rax
mov r15, qword [rdi + 0x2d8]
xchg r15, rax
xchg rdx, rax
mov qword [rcx + 0xf8], rdx
xchg rdx, rax
xchg r15, rax
mov r15, qword [rdi + 0x2e0]
xchg r15, rax
xchg r11, rax
mov qword [rcx + 0x98], r11
xchg r11, rax
xchg r11, rax
mov r11, qword [rcx + 0xc8]
xchg r11, rax
mov qword [rcx + 0x80], rax
cmp byte [rdi + 0x2ec], 0
jne 0x14002fe1e
cmp qword [0x140216fe0], 0
je 0x14002fe1e
mov byte [rdi + 0x2ec], 0x61
xor byte [rdi + 0x2ec], 0x38
xor byte [rdi + 0x2ec], 0xf
sub byte [rdi + 0x2ec], 0x34
add byte [rdi + 0x2ec], 0x41
xor byte [rdi + 0x2ec], 0x62
mov rax, qword [0x140216fe0]
xchg rcx, rbp
mov rbp, qword [rax + 0x30]
xchg rbp, rcx
cmp qword [rdi + 0x2d8], rcx
jne 0x14002fddf
xchg rbx, r10
mov qword [rsp + 0x30], r10
xchg rbx, r10
mov rbx, qword [rbp + 0x98]
cmp dword [rbx + 0x4f0], 0x80000003
jne 0x14002fcc9
xchg rcx, rbx
mov rbx, qword [rax + 0x18]
xchg rcx, rbx
xchg rsi, r15
mov qword [rsp + 0x38], r15
xchg rsi, r15
cmp qword [rbx + 0x500], rcx
jne 0x14002fc22
lea rax, [0x14002dc30]
mov byte [rdi + 0x2ec], SHCreateMemStream
add byte [rdi + 0x2ec], 0x59
sub byte [rdi + 0x2ec], 0x5c
xor byte [rdi + 0x2ec], 0x76
xor byte [rdi + 0x2ec], 0xd
xor byte [rdi + 0x2ec], 0x12
add byte [rdi + 0x2ec], 0xd
sub byte [rdi + 0x2ec], 0x6e
xor edx, edx
xchg r9, rax
mov qword [rbx + 0xf8], r9
xchg r9, rax
xchg rbx, rcx
mov rbx, rcx
xchg rbx, 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 0x14002fcc4
mov ecx, dword [rax + 0xc]
mov edx, 0x7f4bbd31
sub edx, 0x22275aaa
xor edx, 0x35d151aa
sub edx, 0x3d445087
add edx, 0x109766a0
sub edx, 0x24e46b64
xor edx, 0x6db0854
sub edx, 0x11b8d5b1
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov byte [rdi + 0x2ec], 0x76
sub byte [rdi + 0x2ec], 0x6d
xor byte [rdi + 0x2ec], 0x51
add byte [rdi + 0x2ec], 0x1a
sub byte [rdi + 0x2ec], 2
sub byte [rdi + 0x2ec], 0x6f
xor byte [rdi + 0x2ec], 1
xor edx, edx
inc qword [rbx + 0xf8]
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
call qword [sym.imp.KERNEL32.dll_RtlRestoreContext]
mov rax, qword [0x140216fe0]
mov rsi, qword [rsp + 0x38]
cmp byte [rax + 6], 0
jne 0x14002fd92
mov ecx, dword [rbx + 0x4f0]
cmp ecx, 1
je 0x14002fd6f
cmp ecx, 0x80000001
je 0x14002fd46
cmp ecx, 0x80000003
je 0x14002fd1d
cmp ecx, 0x80000004
jne 0x14002fd92
mov byte [rax], 0x3b
xor byte [rax], 0x26
xor byte [rax], 0x5a
sub byte [rax], 0x3b
sub byte [rax], 3
sub byte [rax], 8
jmp 0x14002fd8b
mov byte [rax + 2], 0x35
sub byte [rax + 2], 0xe
xor byte [rax + 2], 0x36
add byte [rax + 2], 0x20
sub byte [rax + 2], 4
sub byte [rax + 2], 8
xor byte [rax + 2], 0x16
add byte [rax + 2], 0x17
xor byte [rax + 2], 0x4b
jmp 0x14002fd8b
mov byte [rax + 4], 0x1c
xor byte [rax + 4], 0x6b
sub byte [rax + 4], 0x72
xor byte [rax + 4], 0x76
xor byte [rax + 4], 0x64
add byte [rax + 4], 0x62
sub byte [rax + 4], 0x6f
add byte [rax + 4], 0x1b
sub byte [rax + 4], 0x24
jmp 0x14002fd8b
mov byte [rax + 3], 0x46
sub byte [rax + 3], 6
sub byte [rax + 3], 0x20
xor byte [rax + 3], 1
xor byte [rax + 3], 0x67
add byte [rax + 3], 0x25
xor byte [rax + 3], 0x6a
mov rax, qword [0x140216fe0]
cmp qword [rbx + 0x48], 0
jne 0x14002fdbe
cmp qword [rbx + 0x50], 0
jne 0x14002fdbe
cmp qword [rbx + 0x58], 0
jne 0x14002fdbe
cmp qword [rbx + 0x60], 0
je 0x14002fdda
mov byte [rax + 1], 0x25
xor byte [rax + 1], 0x2f
add byte [rax + 1], 4
add byte [rax + 1], 0x3d
add byte [rax + 1], 0x32
sub byte [rax + 1], 0x59
sub byte [rax + 1], 0x23
mov rbx, qword [rsp + 0x30]
mov byte [rdi + 0x2ec], 0x4f
sub byte [rdi + 0x2ec], 0x46
add byte [rdi + 0x2ec], 0x2c
add byte [rdi + 0x2ec], 4
sub byte [rdi + 0x2ec], 0x17
xor byte [rdi + 0x2ec], 0x4c
sub byte [rdi + 0x2ec], 0x31
add byte [rdi + 0x2ec], 7
sub byte [rdi + 0x2ec], 0x44
xor edx, edx
mov rcx, rbp
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
push rbx
push rax
xchg qword [rsp + 0x10], rdi
pop rax
pop rbx
add rsp, 8
jmp qword [sym.imp.KERNEL32.dll_RtlRestoreContext]