Function at 0x14002686c
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x70
mov rbx, rcx
lea rcx, [0x14011cf88]
mov r13d, r9d
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor r14d, r14d
lea r12, [0x14011ba98]
cmp qword [rsp + 0xd8], r14
jne 0x1400268c6
mov ecx, dword [0x14011b8d4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp rax, r14
je 0x1400268d8
cmp qword [rax], r14
je 0x1400268d8
mov r12, rax
jmp 0x1400268d8
cmp qword [rsp + 0xd8], 0xffffffffffffffff
cmovne r12, qword [rsp + 0xd8]
mov al, byte [rbx + 0x10]
mov ecx, 1
test al, 0x20
jne 0x1400268f3
bt r13d, 0x10
mov dword [rsp + 0xc8], r14d
jae 0x1400268fa
mov dword [rsp + 0xc8], ecx
test al, 0x40
jne 0x140026908
bt r13d, 0x11
mov edi, r14d
jae 0x14002690a
mov edi, ecx
mov rcx, qword [rsp + 0xb8]
mov word [rsp + 0x50], r14w
mov esi, r13d
and esi, 0x2020
mov r14d, r13d
mov dword [rsp + 0xb0], esi
and r14d, 0x1010
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [r12 + 0x18]
lea ecx, [rax + 0x532]
mov dword [rsp + 0x40], eax
sub edx, dword [r12 + 0x10]
cmp edx, ecx
jge 0x14002696f
mov rcx, qword [r12 + 0x10]
movsxd rdx, eax
lea rdx, [rdx + rcx + 0x1049c]
lea rcx, [r12 + 8]
mov qword [r12 + 0x18], rdx
call fcn.14005ca6c
xor r11d, r11d
cmp esi, r11d
jne 0x140026b0b
mov r9, qword [rsp + 0xd0]
cmp r9, r11
je 0x140026a19
cmp edi, r11d
je 0x140026a19
mov rdx, qword [rbx + 0x80]
cmp r9, rdx
jb 0x140026a19
movsxd rax, dword [rbx + 0x8c]
lea rcx, [rdx + rax*2]
cmp r9, rcx
jae 0x140026a19
mov r8d, r11d
cmp rdx, r9
ja 0x140026a05
movzx r11d, word [rbx + 0x88]
movzx ecx, word [rbx + 0x8a]
movzx r10d, word [rbx + 0x90]
jmp 0x1400269e1
cmp cx, ax
je 0x1400269ea
cmp r10w, ax
je 0x1400269ea
add rdx, 2
movzx eax, word [rdx]
cmp r11w, ax
jne 0x1400269d2
cmp cx, word [rdx]
jne 0x1400269f3
add rdx, 2
cmp r10w, word [rdx]
jne 0x1400269fd
add rdx, 2
inc r8d
cmp rdx, r9
jbe 0x1400269e1
lea rdx, str._ld_t
lea rcx, [rsp + 0x50]
call fcn.140015d40
xor r11d, r11d
cmp dword [rsp + 0xc8], r11d
je 0x140026ac0
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [0x14011bb00]
mov r8, qword [rsp + 0x48]
xor edx, edx
mov rax, r8
div rcx
mov edx, eax
mov rsi, rax
imul rdx, rcx
sub r8, rdx
xor edx, edx
imul r8, r8, 0xf4240
mov rax, r8
div rcx
mov edx, eax
mov rdi, rax
imul rdx, rcx
sub r8, rdx
xor edx, edx
imul r8, r8, 0xf4240
mov rax, r8
div rcx
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rdx, qword [r12 + 0x10]
mov rcx, qword [r12 + 8]
mov r9d, esi
mov r8d, eax
lea rcx, [rcx + rdx*2]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x30], rdx
lea rdx, str._lu_t_u._06lu_06lu_t_s
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
call fcn.140015d40
mov esi, dword [rsp + 0xb0]
jmp 0x140026adf
mov rcx, qword [r12 + 0x10]
mov rax, qword [r12 + 8]
lea r8, [rsp + 0x50]
lea rcx, [rax + rcx*2]
lea rdx, [0x14010119c]
call fcn.140015d40
inc eax
movsxd rcx, eax
mov eax, r14d
add qword [r12 + 0x10], rcx
mov rdx, qword [r12 + 0x10]
neg eax
mov rax, qword [r12 + 8]
sbb cl, cl
and cl, 0x20
add cl, 0x5b
xor r11d, r11d
movsx ecx, cl
mov word [rax + rdx*2 - 2], cx
mov rcx, qword [r12 + 0x10]
mov rax, qword [r12 + 8]
movsxd r10, dword [rsp + 0x40]
mov rdx, qword [rsp + 0xb8]
lea r8, [r10 + r10]
lea rcx, [rax + rcx*2]
call fcn.14001bd80
add qword [r12 + 0x10], r10
mov rdx, qword [r12 + 0x10]
cmp esi, r11d
jne 0x140026b5c
lea rax, [rdx + 1]
neg r14d
mov qword [r12 + 0x10], rax
sbb al, al
and al, 0x20
add al, 0x5d
movsx ecx, al
mov rax, qword [r12 + 8]
mov word [rax + rdx*2], cx
mov rcx, qword [r12 + 0x10]
mov rax, qword [r12 + 8]
mov word [rax + rcx*2], r11w
mov rcx, qword [r12 + 0x10]
cmp r13b, r11b
jne 0x140026c13
mov rax, qword [r12 + 8]
mov rsi, qword [rsp + 0xc0]
lea rdx, str._t__lu__t:
lea rdi, [rax + rcx*2]
mov r8d, esi
mov rcx, rdi
mov rbx, rdi
call fcn.140015d40
xor r14d, r14d
cmp eax, r14d
jle 0x140026bad
cdqe
lea rbx, [rdi + rax*2]
mov qword [rsp + 0x30], r14
xor r9d, r9d
mov r8d, esi
xor edx, edx
mov ecx, 0x1200
mov dword [rsp + 0x28], 0x400
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
xor r11d, r11d
cmp eax, r11d
jle 0x140026be2
cdqe
lea rbx, [rbx + rax*2]
jmp 0x140026bf7
mov edx, 0xd
mov word [rbx], dx
mov edx, 0xa
add rbx, 4
mov word [rbx - 2], dx
mov rax, qword [r12 + 8]
sub rbx, rdi
sar rbx, 1
add qword [r12 + 0x10], rbx
mov rcx, qword [r12 + 0x10]
mov word [rax + rcx*2], r11w
jmp 0x140026c55
lea rax, [rcx + 1]
mov edx, 0xd
mov qword [r12 + 0x10], rax
mov rax, qword [r12 + 8]
mov word [rax + rcx*2], dx
mov rcx, qword [r12 + 0x10]
mov edx, 0xa
lea rax, [rcx + 1]
mov qword [r12 + 0x10], rax
mov rax, qword [r12 + 8]
mov word [rax + rcx*2], dx
mov r8, qword [r12 + 0x10]
mov rax, qword [r12 + 8]
mov word [rax + r8*2], r11w
cmp qword [r12 + 0x10], 0x10000
jg 0x140026c67
cmp byte [r12 + 0x29], r11b
je 0x140026c76
mov rdx, qword [rsp + 0xd8]
mov cl, 1
call fcn.14001720c
lea rcx, [0x14011cf88]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
add rsp, 0x70
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret