Function at 0x1400a9780
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0xb8
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x98], r8
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], rcx
mov r8, qword [rcx]
mov rdx, r8
sub rdx, r9
mov qword [rsp + 0xb0], rdx
mov rcx, rdx
and rcx, r8
shl rcx, 1
mov rax, rdx
add rax, r8
sub rax, rcx
cmp rax, 0
setl cl
mov rax, rdx
xor rax, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
and rax, r8
movabs r10, 0xba7ebc418c32ce49
movabs r8, 0x458143be73cd31b6
xor r10, r8
mov r8, r9
xor r8, r10
mov r10, r9
xor r10, 0xffffffffffffffff
and r8, r10
or rax, r8
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rdx, r9
or rax, rdx
xor rax, 0xffffffffffffffff
cmp rax, 0xffffffffffffffff
setg dl
xor dl, 0xff
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x1400a9840
jmp 0x1400a984a
call fcn.1400091c0
jmp 0x1400a9cd8
mov r8, qword [rsp + 0xb0]
movabs rcx, 0xd027447accc99bef
mov rax, r8
sub rax, rcx
add rax, 0xffffffffffffffff
movabs rcx, 0x1c2466e8c062cb4a
movabs rdx, 0xcc0322920cab50a5
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x88], rax
mov rdx, rax
and rdx, r8
shl rdx, 1
mov rcx, rax
add rcx, r8
sub rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x1400a98c1
jmp 0x1400a98cb
call fcn.1400091c0
jmp 0x1400a9cd8
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x88]
mov r9, rdx
add r9, 0xffffffffffffffff
mov qword [rsp + 0x50], r9
mov r10, r9
sub r10, r8
cmovl r8, r9
mov qword [rsp + 0x58], r8
mov r8, rax
xor r8, 0xffffffffffffffff
mov qword [rsp + 0x60], r8
add rcx, 8
mov qword [rsp + 0x68], rcx
xor ecx, ecx
test rdx, rdx
cmovg rcx, rdx
mov qword [rsp + 0x70], rcx
cmp rax, 0xffffffffffffffff
setg al
mov byte [rsp + 0x7f], al
xor eax, eax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x48], rax
mov eax, dword [0x1401f6428]
add eax, dword [0x1401f642c]
mov ecx, 0xfd1e54e8
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0x78846f11
xor eax, 0x36f680ac
mov edx, 0xb6768ef9
xor edx, 0x49897106
xor eax, edx
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
mov edx, ecx
xor edx, 0xffffffff
mov eax, 0x260b93a9
xor eax, 0x39fa34c0
and eax, edx
mov edx, 0xcb7a184c
xor edx, 0xd48bbf25
mov r8d, 0xd0a74d59
xor r8d, 0x2f58b2a6
xor edx, r8d
and ecx, edx
or eax, ecx
cmp eax, 0xf9c1224
jbe 0x1400a9ce0
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov r8d, dword [0x1401f6430]
mov r9d, dword [0x1401f6434]
xor r9d, 0x730bc31a
mov r10d, 0x1cf5c1bc
xor r10d, 0xe30a3e43
mov eax, r8d
xor eax, r10d
and eax, r9d
xor r9d, 0xffffffff
and r8d, r9d
sub r8d, eax
or r8d, 0x3e073917
xor r8d, 0x36a6ee30
mov r9d, 0x793f9d20
xor r9d, 0x16ce944b
mov eax, r8d
and eax, r9d
xor r8d, 0x6ff1096b
or eax, r8d
cmp rcx, rdx
setg cl
mov byte [rsp + 0x47], cl
cmp eax, 0xfa06bb5e
jae 0x1400a9ce0
mov al, byte [rsp + 0x47]
test al, 1
jne 0x1400a9cd8
jmp 0x1400a9a4d
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x90]
movabs r8, 0xbd022bb40508b274
movabs r9, 0x42fdd44bfaf74d8b
xor r8, r9
xor rax, r8
movabs r8, 0xdf89a916a7c08259
movabs r9, 0xdf89a916a7c08259
xor r8, r9
movabs r9, 0xea0e0e4517b350a7
movabs r10, 0xea0e0e4517b350a6
xor r9, r10
sub r8, r9
sub rax, r8
sub rcx, rax
mov qword [rsp + 0x38], rcx
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
movabs r8, 0xbbd0612309b5d89c
movabs r9, 0x442f9edcf64a2763
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
and rax, rcx
movabs rcx, 0xe925f1d15598c157
movabs rdx, 0x16da0e2eaa673ea8
xor rcx, rdx
xor rax, rcx
movabs rcx, 0x9c9d8ffc049ef73f
movabs rdx, 0x9c9d8ffc049ef73f
xor rcx, rdx
cmp rax, rcx
jge 0x1400a9b27
call fcn.1400091c0
jmp 0x1400a9cd8
mov al, byte [rsp + 0x7f]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xa8]
mov rdx, qword [rdx]
mov qword [rsp + 0x30], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400a9c2a
mov eax, dword [0x1401f6438]
mov edx, dword [0x1401f643c]
xor ecx, ecx
sub ecx, edx
add eax, ecx
add eax, 0xddd9dda6
add eax, 0x6dfbac54
sub eax, 0x99af68c1
cmp eax, 0x27ae282d
je 0x1400a9ce9
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1401f6440]
add eax, dword [0x1401f6444]
mov r8d, 0x4dcffc88
xor r8d, 0x1bd23bfa
mov edx, eax
and edx, r8d
shl edx, 1
mov r8d, 0xb536a85c
xor r8d, 0xe32b6f2e
xor eax, r8d
add eax, edx
mov r8d, 0xb8e9d909
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x30]
xor r8d, r8d
sub r8d, 0x6b468c17
sub edx, r8d
mov dword [rsp + 0x2c], edx
movabs r8, 0xd2b386f8d166709b
movabs rdx, 0x2d4c79072e998f64
xor r8, rdx
mov rdx, rax
and rdx, r8
movabs r8, 0x3b7f2b9af8ced76f
movabs r9, 0xc480d46507312890
xor r8, r9
or rax, r8
add rdx, rax
call fcn.140016582
mov eax, dword [rsp + 0x2c]
cmp eax, 0x768616e5
jae 0x1400a9ce9
jmp 0x1400a9cd8
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
cmp rax, 0
je 0x1400a9c6a
mov rcx, qword [rsp + 0x20]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
je 0x1400a9c6a
mov rcx, qword [rsp + 0xa8]
call fcn.140017df0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jne 0x1400a9c91
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
call fcn.140016582
jmp 0x1400a9cd8
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0xa0]
mov r8b, byte [r8 + rax]
mov rcx, qword [rcx]
mov byte [rcx + rdx + 8], r8b
mov rcx, 0xffffffffffffffff
xor rcx, 1
xor edx, edx
sub rdx, 1
sub rcx, rdx
sub rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x1400a993e
add rsp, 0xb8
ret
hlt
movabs al, byte [0xfffffe8ae98d8bc5]