Function at 0x1400117e1
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rcx
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x80]
add rax, 0x60
mov qword [rsp + 0x88], rax
mov rax, qword [rcx]
mov qword [rsp + 0x90], rax
movabs rdx, 0xc84c2fa304e0c26a
movabs rcx, 0xc84c2fa304e0c26b
xor rdx, rcx
mov rcx, rax
add rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x51bdbc6ad0015413
movabs r8, 0x51bdbc6ad0015410
xor rdx, r8
or rax, rdx
add rax, rcx
cmp rax, 1
jne 0x140011ba8
mov rax, qword [rsp + 0x90]
cmp rax, 0xffffffffffffffff
jle 0x14001189b
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
call fcn.1400113e8
jmp 0x140011ba8
mov rax, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x90]
movabs r8, 0x4838db29d49ecf28
movabs rcx, 0xb7c724d62b6130d4
xor r8, rcx
movabs rcx, 0xcf2a75a869176e61
movabs r9, 0x30d58a5796e8919e
xor rcx, r9
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
movabs rdx, 0xfd4b7cd4ebc85fd7
movabs r8, 0xfd4b7cd4ebc85fd5
xor rdx, r8
or rcx, rdx
mov qword [rax], rcx
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x68], rax
cmp rax, 0
je 0x140011954
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x80]
movabs r8, 0x3291139bee31ec60
movabs r9, 0x3291139bee31ec70
xor r8, r9
add rcx, r8
call rax
mov rax, qword [rsp + 0x88]
cmp byte [rax], 0
jne 0x140011ba8
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
cmp rax, 0
jle 0x140011ba8
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
add rcx, 0x10
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
movabs r8, 0xb492015c1acf995
movabs r9, 0xefcecd12a9df6abf
xor r8, r9
sub rdx, r8
movabs r8, 0x30414098f755b204
movabs r9, 0xcfbebf6708aa4dfb
xor r8, r9
add rdx, r8
movabs r8, 0xe487ed076873932a
add rdx, r8
mov r8, rdx
shl r8, 4
add r8, qword [rax]
mov rax, qword [r8]
mov r8, qword [r8 + 8]
mov qword [rsp + 0x30], r8
mov qword [rcx], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x38], rcx
movabs rdx, 0xf8df02d7fc0ab392
movabs rax, 0x720fd2803f54c62
xor rdx, rax
mov rax, rcx
and rax, rdx
or rcx, 0xfffffffffffffff0
add rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
or rax, rax
xor rax, 0xffffffffffffffff
movabs rcx, 0x956b571182b57c65
movabs rdx, 0x956b571182b57c66
xor rcx, rdx
movabs rdx, 0x29135771bb5b3465
movabs r8, 0x29135771bb5b3466
xor rdx, r8
or rcx, rdx
movabs rdx, 0xc2085351d87a7b14
movabs r8, 0x3df7acae278584eb
xor rdx, r8
xor rcx, rdx
or rax, rcx
movabs rcx, 0xdd6f29a4d2f4a640
movabs rdx, 0x2290d65b2d0b59bf
xor rcx, rdx
xor rax, rcx
movabs rcx, 0x8761cad5bca9b8c5
movabs rdx, 0x8761cad5bca9b8c4
xor rcx, rdx
cmp rax, rcx
jne 0x140011b7b
mov rax, qword [rsp + 0x48]
movabs rcx, 0x4f6e7d31c279bbee
movabs rdx, 0xb09182ce3d864411
xor rcx, rdx
cmp rax, rcx
jle 0x140011b1a
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
call fcn.1400113e8
mov rax, qword [rsp + 0x88]
mov al, byte [rax]
mov cl, 0x35
xor cl, 0x35
cmp al, cl
je 0x140011b7b
jmp 0x140011ba8
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
and rcx, 0xfffffffffffffffc
or rcx, 2
mov qword [rax], rcx
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x140011b64
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x38]
call rax
mov rax, qword [rsp + 0x88]
mov al, byte [rax]
mov cl, 2
xor cl, 2
cmp al, cl
jne 0x140011ba8
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
movabs rcx, 0x7462914b3f6ff3eb
movabs rdx, 0x7462914b3f6ff3eb
xor rcx, rdx
cmp rax, rcx
mov qword [rsp + 0x58], rax
jg 0x140011994
add rsp, 0x98
ret