Function at 0x14001baf0
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0xe8
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xb8], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xc0]
add rax, 0x60
mov qword [rsp + 0xc8], rax
mov rax, qword [rcx]
and rax, 0xfffffffffffffffc
mov qword [rcx], rax
mov rax, qword [r8]
mov qword [rsp + 0xd0], rax
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0xe0], rax
cmp rax, 0
je 0x14001bb94
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb8]
add rcx, 0x10
call rax
mov rax, qword [rsp + 0xc8]
mov al, byte [rax]
mov cl, 0xf9
xor cl, 0xf9
cmp al, cl
jne 0x14001c071
mov eax, dword [0x140272db8]
mov ecx, dword [0x140272dbc]
add eax, 0x5ef8d273
add eax, ecx
sub eax, 0x5ef8d273
mov ecx, 0x47dcbc82
xor ecx, 0xadb35dfe
add eax, ecx
xor eax, 0xe64355a7
mov ecx, eax
and ecx, 0xfe38fdbe
shl ecx, 1
xor eax, 0xfe38fdbe
add eax, ecx
cmp eax, 0xb1c0649b
ja 0x14001c079
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc0]
mov eax, dword [0x140272dc0]
xor eax, 0x858b671f
add eax, dword [0x140272dc4]
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xda9ad9d2
mov r8d, 0xffffffff
xor r8d, 0xf8365c36
or eax, r9d
or r8d, 0xf8365c36
xor eax, 0xffffffff
and eax, r8d
mov r8d, eax
xor r8d, 0x7733ab55
xor r8d, 0xffffffff
or eax, 0x7733ab55
and eax, r8d
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0x672b212e
mov r10d, 0xffffffff
xor r10d, 0x672b212e
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x672b212e
mov r10d, 0xbf1a0589
xor r10d, 0xd83124a7
or eax, r10d
imul eax, r9d
add eax, r8d
mov rdx, qword [rdx]
mov qword [rsp + 0xa8], rdx
cmp rcx, rdx
setl cl
mov byte [rsp + 0xb7], cl
cmp eax, 0xbd940391
ja 0x14001bbf2
mov al, byte [rsp + 0xb7]
test al, 1
jne 0x14001bcd3
jmp 0x14001c071
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xc0]
add rcx, 0x10
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
movabs rcx, 0x94ffd0ea94b2d0e9
movabs rdx, 0x6b002f156b4d2f16
xor rcx, rdx
mov rdx, rax
add rdx, rcx
mov qword [rsp + 0x90], rdx
movabs rcx, 0xf4987e3e1b2d2d23
movabs r8, 0xb6781c1e4d2d2dc
xor rcx, r8
mov r8, rdx
xor r8, rcx
mov rcx, rax
and rcx, r8
mov r8, rax
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, rdx
movabs rdx, 0xe5a71e5f1c6ded59
movabs r8, 0xe5a71e5f1c6ded59
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0
setg al
and al, cl
test al, 1
jne 0x14001bda1
jmp 0x14001bdc5
call fcn.14000f24b
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
jmp 0x14001bdfb
mov rdx, qword [rsp + 0xc0]
mov r8, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
mov rcx, r8
shl rcx, 4
add rcx, qword [rax]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rdx], r8
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rcx
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rsp + 0x48], rcx
mov rcx, qword [rax - 0x10]
mov qword [rsp + 0x50], rcx
mov rax, rcx
add rax, 0x10
mov qword [rsp + 0x58], rax
mov r8, rcx
xor r8, 0xffffffffffffffff
movabs rdx, 0xbe043fa516a1546f
movabs r9, 0x41fbc05ae95eab90
xor rdx, r9
xor r8, rdx
and r8, 0xffffffffffffffff
movabs rdx, 0x45001659bedb998
movabs r9, 0x45001659bedb99a
xor rdx, r9
imul rdx, r8
movabs r8, 0x9a5333647f3b7ec4
movabs r9, 0x65accc9b80c4813b
xor r8, r9
sub rdx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14001beac
call fcn.14000f24b
jmp 0x14001c071
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov qword [rcx], rdx
movabs rcx, 0xfae4b3c227dbe0d3
movabs rdx, 0xfae4b3c227dbe0d0
xor rcx, rdx
and rax, rcx
cmp rax, 0
je 0x14001c039
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
and rcx, 0xfffffffffffffffc
mov qword [rax], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x14001c028
mov eax, dword [0x140272dc8]
mov edx, dword [0x140272dcc]
xor edx, 0xc80c0ee1
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
or eax, 0x5acf1799
mov ecx, eax
xor ecx, 0x105c4bf2
xor ecx, 0xffffffff
and ecx, 0x105c4bf2
shl ecx, 1
sub ecx, 0x105c4bf2
sub eax, ecx
mov ecx, eax
and ecx, 0x629956ca
shl ecx, 1
mov edx, 0x36048084
xor edx, 0x549dd64e
add eax, edx
sub eax, ecx
cmp eax, 0x7b6e43a3
je 0x14001c082
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x40]
mov r8d, dword [0x140272dd0]
mov r10d, dword [0x140272dd4]
xor r9d, r9d
sub r9d, r8d
xor r8d, r8d
sub r8d, r10d
add r9d, r8d
xor r8d, r8d
sub r8d, r9d
mov r10d, 0x5e256755
xor r10d, 0xc106af6c
mov r9d, r8d
xor r9d, r10d
mov r10d, 0x9a4d67de
xor r10d, 0x65b29821
xor r9d, r10d
or r8d, 0x9f23c839
and r8d, r9d
mov r9d, r8d
add r9d, 1
xor r8d, 0xffffffff
or r8d, 0x99ed8930
add r8d, r9d
mov r9d, r8d
and r9d, 0x118d703f
xor r9d, 0xffffffff
add r8d, 0x118d703f
add r8d, 1
add r8d, r9d
mov dword [rsp + 0x24], r8d
call rax
mov eax, dword [rsp + 0x24]
cmp eax, 0xc0aa7804
ja 0x14001bf7a
jmp 0x14001c028
mov rax, qword [rsp + 0xc8]
cmp byte [rax], 0
jne 0x14001c071
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov r8, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc0]
mov rdx, qword [rdx]
cmp r8, rdx
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x70], rax
jl 0x14001bcf7
add rsp, 0xe8
ret
retf 0x7dcf
fist dword [rsi + 0x22]
invalid