Function at 0x14000ec60
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x48], rcx
mov rax, qword [rdx + 8]
mov qword [rsp + 0x50], rax
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r9d, r8d
mov r10d, 0xe0f413f
xor r10d, 0xe0f403f
movabs rax, 0xf78d0a8b3b63f1c3
movabs rcx, 0xf78d0a8b3b63f1c3
xor rax, rcx
movabs rcx, 0xf454422b6144695e
movabs r11, 0xf454422b61446956
xor rcx, r11
cmp r9d, r10d
cmovb rcx, rax
movabs r10, 0x4ef697f935aedf37
movabs rax, 0x4ef697f935aedf27
xor r10, rax
movabs rax, 0x72b94a3ce4ac5618
movabs r11, 0x72b94a3ce4ac5600
xor rax, r11
cmp r9d, 0x1000000
cmovb rax, r10
cmp r9d, 0x10000
cmovb rax, rcx
mov ecx, eax
shr r9d, cl
mov ecx, r9d
mov ecx, ecx
mov r9d, ecx
lea rcx, [0x140197c20]
movsx r9, byte [rcx + r9]
xor ecx, ecx
sub rcx, rax
xor eax, eax
sub rax, r9
add rcx, rax
movabs rax, 0xba56d6706913608b
movabs r9, 0xba56d6706913608b
xor rax, r9
sub rax, rcx
movabs r9, 0x240499eabdcc6de0
mov rcx, rax
add rcx, r9
movabs r9, 0xd2c3ea284cc95b70
movabs r10, 0x2d3c15d7b336a48b
xor r9, r10
add rcx, r9
movabs r9, 0x240499eabdcc6de0
sub rcx, r9
sar r8, cl
mov qword [rsp + 0x60], r8
mov rcx, r8
movabs r8, 0xf7d8fbeb714ecbdf
movabs r9, 0xf7d8fbeb714ecbdf
xor r8, r9
movabs r9, 0xddba616d25b6a08d
movabs r10, 0x22459e92da495f6d
xor r9, r10
sub r8, r9
sub rcx, r8
mov qword [rsp + 0x68], rcx
xor ecx, ecx
sub rcx, rax
xor eax, eax
sub rax, 0xfffffffffffffffa
add rcx, rax
movabs rax, 0xdcf855b2dd9b833
movabs r8, 0xdcf855b2dd9b833
xor rax, r8
sub rax, rcx
mov qword [rsp + 0x70], rax
mov rax, rdx
add rax, 0x18
mov qword [rsp + 0x78], rax
mov rax, qword [rdx + 0x18]
mov qword [rsp + 0x80], rax
cmp rax, 0
je 0x14000ee38
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x20]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0x58]
mov rcx, rax
add rcx, 0x20
mov qword [rsp + 0x38], rcx
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x40], rax
cmp rax, 0
je 0x14000ee6d
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx]
mov qword [rax + 0x18], rcx
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov rax, qword [rsp + 0x48]
add rax, 0x868
shl r8, 8
add rax, r8
shl rdx, 3
add rax, rdx
mov qword [rsp + 0x30], rax
cmp qword [rax], rcx
jne 0x14000ef71
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov qword [rcx], rax
cmp rax, 0
jne 0x14000ef71
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov eax, dword [rax + rdx*4 + 0x804]
and rcx, 0x1f
mov r8d, 1
shl r8, cl
mov rcx, qword [rsp + 0x48]
xor r8d, 0xffffffff
and eax, r8d
mov dword [rcx + rdx*4 + 0x804], eax
cmp eax, 0
jne 0x14000ef71
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
mov edx, dword [rax + 0x800]
mov dword [rsp + 0x2c], edx
and rcx, 0x1f
mov edx, 1
shl rdx, cl
mov ecx, dword [rsp + 0x2c]
mov r8d, edx
xor r8d, 0xffffffff
and r8d, 0xffffffff
mov r9d, 0x3baeb22
xor r9d, 0xfc4514dd
mov r10d, 0x49356c4e
xor r10d, 0xb6ca93b1
xor r9d, r10d
and edx, r9d
or r8d, edx
mov edx, ecx
xor edx, r8d
mov r9d, 0xd5311ea1
xor r9d, 0x2acee15e
xor edx, r9d
or ecx, r8d
and ecx, edx
mov dword [rax + 0x800], ecx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x38]
mov qword [rcx], 0
mov qword [rax], 0
add rsp, 0x88
ret