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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r13, rcx
mov r12, rdx
mov ecx, dword [0x14003d17c]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TlsGetValue]
or ebx, 0xffffffff
xor ebp, ebp
mov rsi, rax
test rax, rax
jne 0x140028d67
mov ebx, dword [0x14003d17c]
lea rdx, [rsp + 0x68]
mov ecx, ebx
mov dword [rsp + 0x68], ebp
lea rsi, [rsp + 0x68]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TlsSetValue]
inc dword [rsi]
mov r10, qword [0x14003d048]
lea rax, [0x14003d048]
lea rdx, [0x140035650]
mov r14d, 0x1df
cmp r10, rax
je 0x140028dc8
test byte [r10 + 0x1c], 1
je 0x140028dc8
mov eax, dword [rsi]
lea ecx, [rax + rax*4]
cmp ecx, 0x1e1
ja 0x140028da7
mov eax, ecx
mov ecx, r14d
sub rcx, rax
jmp 0x140028daa
mov rcx, rbp
lea r9, [rcx + rdx]
mov qword [rsp + 0x20], r13
mov rcx, qword [r10 + 0x10]
lea r8, [0x140036f48]
mov edx, reloc.ProximityCommon.dll_Ordinal_20
call fcn.140001370
mov rax, r12
mov r15, rbp
neg rax
sbb edi, edi
not edi
and edi, 0x80070057
test r12, r12
je 0x140028dec
cmp qword [r13 + 8], rbp
mov eax, 0x8007139f
cmove edi, eax
test edi, edi
js 0x140028e91
mov dword [r12], ebp
mov r8, qword [r13 + 8]
mov al, byte [r8]
and al, 7
dec al
cmp al, 1
ja 0x140028e91
movzx r9d, byte [r8 + 1]
mov edx, 8
add r8, 9
mov dword [rsp + 0x28], ebp
mov ecx, 0xfde9
mov qword [rsp + 0x20], rbp
call qword [sym.imp.api_ms_win_core_string_l1_1_0.dll_MultiByteToWideChar]
xor ecx, ecx
mov ebp, eax
test eax, eax
je 0x140028e39
mov edi, ecx
jmp 0x140028e5b
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov eax, 0x80004005
test edi, edi
cmovns edi, eax
test edi, edi
js 0x140028e8f
lea ecx, [rbp + 1]
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
lea rdx, [0x140035918]
cmovo rax, rcx
mov rcx, rax
call fcn.140030598
mov r15, rax
xor eax, eax
test r15, r15
jne 0x140028ed5
mov edi, 0x8007000e
xor ebp, ebp
mov rcx, r15
call fcn.14003010c
mov rcx, qword [0x14003d048]
lea rax, [0x14003d048]
cmp rcx, rax
je 0x140029006
test byte [rcx + 0x1c], 1
je 0x140029006
mov eax, dword [rsi]
lea edx, [rax + rax*4]
cmp edx, 0x1e1
ja 0x140028fdb
mov eax, edx
sub r14, rax
jmp 0x140028fde
mov word [r15], ax
mov edx, 8
mov r8, qword [r13 + 8]
mov ecx, 0xfde9
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], r15
movzx r9d, byte [r8 + 1]
add r8, 9
call qword [sym.imp.api_ms_win_core_string_l1_1_0.dll_MultiByteToWideChar]
test eax, eax
je 0x140028f0f
mov rax, rbp
xor ebp, ebp
mov word [r15 + rax*2], bp
jmp 0x140028f2f
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
movzx edi, ax
xor ebp, ebp
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov eax, 0x80004005
test edi, edi
cmovns edi, eax
test edi, edi
js 0x140028e91
mov r10, qword [0x14003d048]
lea rax, [0x14003d048]
cmp r10, rax
je 0x140028f91
test byte [r10 + 0x1c], 4
je 0x140028f91
mov eax, dword [rsi]
inc eax
lea ecx, [rax + rax*4]
cmp ecx, 0x1e1
ja 0x140028f6a
mov eax, ecx
mov rcx, r14
sub rcx, rax
jmp 0x140028f6d
mov rcx, rbp
lea r9, [0x140035650]
mov qword [rsp + 0x20], r15
add r9, rcx
lea r8, [0x140036f48]
mov rcx, qword [r10 + 0x10]
mov edx, reloc.ProximityCommon.dll_Ordinal_21
call fcn.140004a7c
mov ecx, 1
lea rdx, [0x140034228]
mov rax, qword [rdx]
mov r10, r15
sub r10, rax
movzx r8d, word [rax]
movzx r9d, word [rax + r10]
sub r8d, r9d
jne 0x140028fbd
add rax, 2
test r9d, r9d
jne 0x140028fa6
test r8d, r8d
je 0x140028fd2
inc ecx
add rdx, 8
cmp ecx, 9
jb 0x140028f9d
jmp 0x140028e91
mov dword [r12], ecx
jmp 0x140028e91
mov r14, rbp
mov rcx, qword [rcx + 0x10]
lea r9, [0x140035650]
add r9, r14
mov dword [rsp + 0x28], edi
mov edx, reloc.ProximityCommon.dll_Ordinal_22
mov qword [rsp + 0x20], r13
lea r8, [0x140036f48]
call fcn.140001730
or eax, 0xffffffff
add dword [rsi], eax
cmp ebx, eax
je 0x140029026
mov ecx, ebx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TlsGetValue]
test rax, rax
je 0x140029026
xor edx, edx
mov ecx, ebx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TlsSetValue]
mov rbx, qword [rsp + 0x60]
mov eax, edi
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret