Function at 0x1400f7aa0
Capabilities:
Get thread local storage value

Disassembly:
push rbx
push rbp
sub rsp, 0x48
mov ebp, edx
mov rbx, rcx
test rcx, rcx
je 0x1400f7d45
cmp word [rcx], 0
je 0x1400f7d45
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x28], r14
or rsi, 0xffffffffffffffff
inc rsi
cmp word [rcx + rsi*2], 0
jne 0x1400f7ad2
mov qword [rsp + 0x38], r12
mov edx, r8d
mov ecx, esi
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x20], r15
call fcn.1400f9f10
mov rdi, rax
mov r14, rax
mov qword [rsp + 0x78], rax
movzx eax, word [rbx]
cmp ebp, 1
jne 0x1400f7c26
test ax, ax
je 0x1400f7d0d
mov ebp, SafeArrayAllocDescriptor
lea r15d, [rbp + 5]
lea r12d, [rbp + 0x1a]
lea r13d, [rbp + 0x1c]
nop dword [rax + rax]
cmp ax, 0x26
jne 0x1400f7c0a
lea rdx, [0x1401fc6c0]
mov r8d, 6
mov rcx, rbx
call sub.msvcrt.dll_wcsncmp
test eax, eax
jne 0x1400f7b63
mov word [rdi], bp
add rdi, 2
add rbx, 0xc
jmp 0x1400f7c15
lea rdx, [0x1401fc6d0]
mov r8d, 6
mov rcx, rbx
call sub.msvcrt.dll_wcsncmp
test eax, eax
jne 0x1400f7b8d
mov word [rdi], r15w
add rdi, 2
add rbx, 0xc
jmp 0x1400f7c15
lea rdx, [0x1401fc6e0]
mov r8d, 4
mov rcx, rbx
call sub.msvcrt.dll_wcsncmp
test eax, eax
jne 0x1400f7bb4
mov word [rdi], r12w
add rdi, 2
add rbx, 8
jmp 0x1400f7c15
lea rdx, [0x1401fc6f0]
mov r8d, 4
mov rcx, rbx
call sub.msvcrt.dll_wcsncmp
test eax, eax
jne 0x1400f7bdb
mov word [rdi], r13w
add rdi, 2
add rbx, 8
jmp 0x1400f7c15
lea rdx, [0x1401fc700]
mov r8d, 5
mov rcx, rbx
call sub.msvcrt.dll_wcsncmp
test eax, eax
jne 0x1400f7c07
mov ecx, 0x26
add rdi, 2
add rbx, 0xa
mov word [rdi - 2], cx
jmp 0x1400f7c15
movzx eax, word [rbx]
mov word [rdi], ax
add rdi, 2
add rbx, 2
movzx eax, word [rbx]
test ax, ax
jne 0x1400f7b30
jmp 0x1400f7d0d
test ax, ax
je 0x1400f7d0d
mov ebp, SafeArrayAllocDescriptor
lea r8, [0x140000000]
mov r9d, 0x5c
lea esi, [rbp - 0x17]
lea r10d, [rbp - 0x1b]
lea r11d, [rbp - 0x1a]
lea r15d, [rbp - 0x16]
lea r12d, [rbp - 0x18]
lea r13d, [rbp - 0x15]
lea r14d, [rbp - 0x19]
nop dword [rax]
cmp ax, r9w
jne 0x1400f7cec
movzx eax, word [rbx + 2]
add eax, 0xffffffde
cmp eax, 0x54
ja case.0x1400f7c8c.43
cdqe
movzx eax, byte [r8 + rax + 0xf7d7c]
mov ecx, dword [r8 + rax*4 + 0xf7d54]
add rcx, r8
jmp rcx
mov word [rdi], r10w
add rbx, 4
jmp 0x1400f7cf3
mov word [rdi], r11w
add rbx, 4
jmp 0x1400f7cf3
mov word [rdi], r15w
add rbx, 4
jmp 0x1400f7cf3
mov word [rdi], r12w
add rbx, 4
jmp 0x1400f7cf3
mov word [rdi], r13w
add rbx, 4
jmp 0x1400f7cf3
mov word [rdi], r14w
add rbx, 4
jmp 0x1400f7cf3
mov word [rdi], si
add rbx, 4
jmp 0x1400f7cf3
mov word [rdi], bp
add rbx, 4
jmp 0x1400f7cf3
mov word [rdi], r9w
add rbx, 4
jmp 0x1400f7cf3
mov word [rdi], r9w
jmp 0x1400f7cef
mov word [rdi], ax
add rbx, 2
movzx eax, word [rbx]
add rdi, 2
test ax, ax
jne 0x1400f7c60
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x78]
xor eax, eax
mov word [rdi], ax
sub rdi, r14
sar rdi, 1
sub esi, edi
mov ecx, esi
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x68]
add rsp, 0x48
pop rbp
pop rbx
jmp fcn.1400fa090
mov ecx, r8d
add rsp, 0x48
pop rbp
pop rbx
jmp fcn.1400fa050