Function at 0x140030af4
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0xc8
mov qword [rsp + 0xc0], rcx
mov rax, qword [rcx]
movabs rcx, 0x3123899f29cd27f2
movabs rdx, 0x3123899f29cd27f2
xor rcx, rdx
cmp rax, rcx
jle 0x1400311e3
mov rax, qword [rsp + 0xc0]
add rax, 8
mov qword [rsp + 0xb0], rax
xor eax, eax
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0xa0], rcx
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x10
mov rax, qword [rax]
mov qword [rsp + 0xa8], rax
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rax, qword [rsp + 0xa8]
cmp rax, 0
je 0x140030d80
mov rax, qword [rsp + 0xa8]
movabs rcx, 0xa0b7384c378169f1
movabs rdx, 0x5f48c7b3c87e9601
xor rcx, rdx
movabs rdx, 0xcb74142b977c9aa2
movabs r8, 0x348bebd46883655d
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x9be55efc2cd4a906
movabs r8, 0x9be55efc2cd4a906
xor rdx, r8
movabs r8, 0xa95f3c0d0ca0bd51
movabs r9, 0xa95f3c0d0ca0bd50
xor r8, r9
sub rdx, r8
sub rcx, rdx
sub rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rax]
mov qword [rsp + 0x98], rax
movabs rcx, 0x9cbdd7d1ed5a5c72
movabs rdx, 0x9cbdd7d1ed5a5c62
xor rcx, rdx
cmp rax, rcx
jb 0x140030d39
mov r8, qword [rsp + 0x98]
mov rax, r8
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x88], rax
mov rcx, rax
xor rcx, 0xffffffffffffffff
movabs r9, 0xb4f0efcb63d7f2e
movabs rdx, 0xf4b0f10349c280d1
xor r9, rdx
mov rdx, rax
xor rdx, r9
and rcx, rdx
mov rdx, r8
or rdx, rdx
xor rdx, 0xffffffffffffffff
movabs r9, 0x4d00c32a1985172f
movabs r10, 0xb2ff3cd5e67ae8d0
xor r9, r10
xor rcx, r9
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0x27f8b5a8fc464ec
movabs r9, 0xfd8074a5703b9b13
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0xf53e22f37c9328fd
movabs r8, 0xf53e22f37c9328fd
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140030d05
jmp 0x140030d0f
call fcn.14000a590
jmp 0x140030d80
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x88]
mov qword [rdx], rcx
mov r8, qword [rax]
xor ecx, ecx
call fcn.140013f0f
jmp 0x140030d80
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xa8]
mov r8, qword [rax]
mov ecx, 1
call fcn.140013f0f
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x10
mov rcx, qword [rax]
call fcn.140014085
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x20
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rax, qword [rsp + 0x80]
cmp rax, 0
je 0x140030ee4
mov rax, qword [rsp + 0x80]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rsp + 0x70], rcx
mov rax, qword [rax - 0x10]
mov qword [rsp + 0x78], rax
movabs rcx, 0xb0bdaa5d6e442a29
movabs rdx, 0xb0bdaa5d6e442a39
xor rcx, rdx
cmp rax, rcx
jb 0x140030ea0
mov rdx, qword [rsp + 0x78]
movabs rcx, 0x8e6660ba3531cf35
movabs rax, 0x71999f45cace30c5
xor rcx, rax
mov rax, rdx
and rax, rcx
movabs r8, 0x9d16158cad94d148
movabs rcx, 0x62e9ea73526b2eb8
xor r8, rcx
mov rcx, rdx
or rcx, r8
add rax, rcx
mov qword [rsp + 0x68], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140030e72
jmp 0x140030e7c
call fcn.14000a590
jmp 0x140030ee4
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
mov qword [rdx], rcx
mov r8, qword [rax]
xor ecx, ecx
call fcn.140013f0f
jmp 0x140030ee4
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x80]
mov r8, qword [rax]
mov ecx, 1
call fcn.140013f0f
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x20
mov rcx, qword [rax]
call fcn.140014085
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x30
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rax, qword [rsp + 0x60]
cmp rax, 0
je 0x140031052
mov rax, qword [rsp + 0x60]
movabs rcx, 0x2df636763fc97f07
movabs rdx, 0x8b45bba924470346
xor rcx, rdx
sub rax, rcx
movabs rcx, 0xf2ea616df1aea0bf
movabs rdx, 0xd159e920e515f4f
xor rcx, rdx
add rax, rcx
movabs rcx, 0xa6b38ddf1b8e7c41
add rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
movabs rcx, 0x1729ffc571e53076
movabs rdx, 0x1729ffc571e53066
xor rcx, rdx
cmp rax, rcx
jb 0x140031011
mov rdx, qword [rsp + 0x58]
mov rax, rdx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x48], rax
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xec8ba5b00e5de658
movabs r8, 0xec8ba5b00e5de658
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140030fe6
jmp 0x140030ff0
call fcn.14000a590
jmp 0x140031052
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
mov qword [rdx], rcx
mov r8, qword [rax]
xor ecx, ecx
call fcn.140013f0f
jmp 0x140031052
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
mov r8, qword [rax]
mov ecx, 1
call fcn.140013f0f
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x30
mov rcx, qword [rax]
call fcn.140014085
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x40
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rax, qword [rsp + 0x40]
cmp rax, 0
je 0x1400311be
mov rax, qword [rsp + 0x40]
movabs rcx, 0x1311e28cf7e36271
movabs rdx, 0xecee1d73081c9d81
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x30], rax
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
cmp rax, 0x10
jb 0x14003117a
mov rdx, qword [rsp + 0x38]
movabs rcx, 0x16ce9a068debc0a6
movabs rax, 0x16ce9a068debc0a6
xor rcx, rax
movabs rax, 0xcebd4236b29c978f
movabs r8, 0x3142bdc94d63687f
xor rax, r8
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0x28], rax
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xc5938299a03e6d2a
movabs r8, 0xc5938299a03e6d2a
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140031147
jmp 0x140031151
call fcn.14000a590
jmp 0x1400311be
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x28]
mov qword [rdx], rcx
mov r8, qword [rax]
xor eax, eax
mov cl, al
xor cl, 0
and cl, 1
call fcn.140013f0f
jmp 0x1400311be
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x40]
mov r8, qword [rax]
mov cl, 1
xor cl, 0
and cl, 1
call fcn.140013f0f
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x40
mov rcx, qword [rax]
call fcn.140014085
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xa0]
add rax, 1
cmp rax, qword [rcx]
mov qword [rsp + 0xb8], rax
jl 0x140030b44
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x20], rax
cmp rax, 0
je 0x14003121b
mov ecx, dword [0x1401ab0a0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x20]
mov rcx, rax
add rcx, 0x68
call fcn.14000ffaa
nop
add rsp, 0xc8
ret