Function at 0x140011bb0
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0xc8
mov qword [rsp + 0x98], r9
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], rcx
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb0]
add rax, 0x60
mov qword [rsp + 0xb8], rax
mov rax, qword [rcx]
mov qword [rsp + 0xc0], rax
and rax, 3
cmp rax, r8
jne 0x14001216e
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 8], 0
jne 0x14001216e
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xc0]
movabs r8, 0xca23c72f25d8c013
movabs r9, 0x35dc38d0da273fec
xor r8, r9
xor rdx, r8
movabs r8, 0x5e5b89867982cef7
movabs r9, 0xa1a47679867d310b
xor r8, r9
movabs r9, 0xa24f369ac2c71907
movabs r10, 0x5db0c9653d38e6f8
xor r9, r10
xor r8, r9
movabs r9, 0xea16b98e01817a8b
movabs r10, 0x4b5d5bb5bf8ce8a5
xor r9, r10
movabs r10, 0x50424fe2c3fb5ca9
movabs r11, 0xafbdb01d3c04a356
xor r10, r11
xor r9, r10
or rdx, r8
movabs r8, 0x75aa5639781bd8ee
movabs r10, 0xd4e1b402c6164ac0
xor r8, r10
or r8, r9
movabs r9, 0x5c7a9c181c181115
movabs r10, 0xa38563e7e3e7eeea
xor r9, r10
xor rdx, r9
and rdx, r8
mov qword [rcx], rdx
mov rcx, rax
add rcx, 0x18
mov qword [rsp + 0x80], rcx
mov rcx, rax
add rcx, 0x20
mov qword [rsp + 0x88], rcx
mov rcx, qword [rax + 0x20]
mov rax, qword [rax + 0x18]
cmp rcx, rax
mov qword [rsp + 0x90], rax
jg 0x140011d52
mov rcx, qword [rsp + 0x80]
call fcn.1400106a9
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
mov r8, rax
add r8, 0x28
mov qword [rsp + 0x70], r8
mov rax, qword [rax + 0x28]
mov r10, rdx
shl r10, 4
mov r8, rax
add r8, r10
mov qword [r8], r9
mov r8, rdx
shl r8, 4
add rax, r8
add rax, 8
mov qword [rax], rcx
movabs rcx, 0xfbe36834aad50c92
movabs rax, 0xfbe36834aad50c93
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rsp + 0x78], rax
mov rcx, rdx
or rcx, rcx
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and r8, r9
movabs r9, 0xa9f042070515f40
movabs r10, 0xf560fbdf8faea0bf
xor r9, r10
xor rcx, r9
movabs r9, 0x411dfaae65600d82
movabs r10, 0xbee205519a9ff27d
xor r9, r10
xor r8, r9
and rcx, r8
movabs r8, 0xdeb979469803026c
movabs r9, 0x214686b967fcfd93
xor r8, r9
xor rdx, r8
movabs r8, 0x68c3af043ea40108
movabs r9, 0x973c50fbc15bfef7
xor r8, r9
movabs r9, 0xbcaed4df38b90ae6
movabs r10, 0x43512b20c746f519
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140011e8b
call fcn.14000a590
jmp 0x140011e9b
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov qword [rax], rcx
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x68], rax
cmp rax, 0
je 0x140011edd
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
add rcx, 0x10
call rax
mov rax, qword [rsp + 0xb8]
mov al, byte [rax]
mov cl, 0x2c
xor cl, 0x2c
cmp al, cl
jne 0x14001216e
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
cmp rax, 0
jle 0x14001216e
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x98]
add rcx, 0x10
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
add r8, 0xffffffffffffffff
mov r9, r8
shl r9, 4
add r9, qword [rdx]
mov rdx, qword [r9]
mov r9, qword [r9 + 8]
mov qword [rsp + 0x38], r9
mov qword [rax], r8
mov r8, qword [rdx]
mov qword [rsp + 0x40], r8
mov rax, r8
and rax, 0xfffffffffffffff0
or r8, 0xfffffffffffffff0
add rax, r8
mov qword [rsp + 0x48], rax
mov qword [rdx], 0
mov rax, qword [rax]
movabs rdx, 0x5ac9752aeecb7631
movabs r8, 0x5ac9752aeecb7632
xor rdx, r8
and rax, rdx
cmp rax, rcx
jne 0x14001213e
mov rax, qword [rsp + 0x48]
cmp qword [rax + 8], 0
jne 0x14001213e
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx]
mov rax, qword [rax]
cmp rcx, rax
mov qword [rsp + 0x30], rax
jg 0x140011ff9
mov rcx, qword [rsp + 0x80]
call fcn.1400106a9
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rax]
mov r10, rdx
shl r10, 4
mov r8, rax
add r8, r10
mov qword [r8], r9
mov r8, rdx
shl r8, 4
add rax, r8
add rax, 8
mov qword [rax], rcx
movabs rcx, 0x70881ebf973b5a6
movabs rax, 0x70881ebf973b5a7
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rsp + 0x28], rax
movabs rcx, 0xee1b3266d958b13
movabs r8, 0xf11e4cd9926a74ec
xor rcx, r8
mov r8, rdx
xor r8, rcx
movabs rcx, 0x4da31d5de4d84c3d
movabs r9, 0xb25ce2a21b27b3c2
xor rcx, r9
and rcx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400120b2
call fcn.14000a590
jmp 0x1400120c2
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
movabs r8, 0x572fed0e62e11299
movabs r9, 0xa8d012f19d1eed65
xor r8, r9
or rcx, r8
add rcx, rdx
mov qword [rax], rcx
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x20], rax
cmp rax, 0
je 0x14001212d
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x40]
call rax
mov rax, qword [rsp + 0xb8]
cmp byte [rax], 0
jne 0x14001216e
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
movabs rcx, 0xcadd479090b7a877
movabs rdx, 0xcadd479090b7a877
xor rcx, rdx
cmp rax, rcx
mov qword [rsp + 0x58], rax
jg 0x140011f29
add rsp, 0xc8
ret