Function at 0x140044270
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x70], rcx
mov rax, qword [rcx]
movabs rcx, 0x51a827914860ec32
movabs rdx, 0x51a827914860ec32
xor rcx, rdx
cmp rax, rcx
jle 0x140044481
mov rax, qword [rsp + 0x70]
add rax, 8
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x50], rcx
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x58], rax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rax, qword [rsp + 0x58]
cmp rax, 0
je 0x140044465
mov rcx, qword [rsp + 0x58]
mov rax, rcx
and rax, 0xfffffffffffffff0
movabs rdx, 0x3338c808c07eadc0
movabs r8, 0xccc737f73f815230
xor rdx, r8
or rcx, rdx
add rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
cmp rax, 0x10
jb 0x140044437
mov r8, qword [rsp + 0x48]
mov rax, r8
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x38], rax
mov rcx, rax
xor rcx, 0xffffffffffffffff
movabs r9, 0xb6022c1c31c5ff1c
movabs rdx, 0x49fdd3e3ce3a00e3
xor r9, rdx
mov rdx, rax
xor rdx, r9
or rcx, rdx
and rcx, r8
xor rcx, 0xffffffffffffffff
and r8, r8
xor r8, 0xffffffffffffffff
movabs r9, 0x84e40d0d3ea3aaa1
movabs rdx, 0x7b1bf2f2c15c555e
xor r9, rdx
mov rdx, rax
xor rdx, r9
xor r8, 0xffffffffffffffff
or rdx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0xab06b40ccd1be2b4
movabs r9, 0x54f94bf332e41d4b
xor r8, r9
xor rdx, r8
or rcx, rdx
movabs rdx, 0x83be8ba8d4a48fd1
movabs r8, 0x83be8ba8d4a48fd1
xor rdx, r8
cmp rcx, rdx
setl cl
movabs rdx, 0xa11cc4fe2cd9e525
movabs r8, 0x5ee33b01d3261ada
xor rdx, r8
cmp rax, rdx
setg dl
mov al, dl
xor al, 0xff
xor dl, 0xff
and al, dl
or cl, cl
xor cl, 0xff
or al, cl
xor al, 0xff
test al, 1
jne 0x14004440c
jmp 0x140044416
call fcn.14000ee80
jmp 0x140044465
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
mov qword [rdx], rcx
mov r8, qword [rax]
xor ecx, ecx
call fcn.14001d8a6
jmp 0x140044465
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
mov r8, qword [rax]
mov ecx, 1
call fcn.14001d8a6
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.14001d970
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
add rax, 1
cmp rax, qword [rcx]
mov qword [rsp + 0x68], rax
jl 0x1400442b1
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 8]
mov qword [rsp + 0x30], rax
cmp rax, 0
je 0x140044568
mov eax, dword [0x1402a9d98]
mov edx, dword [0x1402a9d9c]
or eax, eax
xor eax, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
mov r8d, 0xe57862e6
xor r8d, 0x1a879d19
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x503b3a6f
xor ecx, 0xafc4c590
xor eax, ecx
mov ecx, 0x5b1797f2
xor ecx, 0xdc749260
sub eax, ecx
sub eax, 0x9c8b86e2
add eax, 0x87630592
sub eax, 0xe7713af8
sub eax, 0xd7c7290a
cmp eax, 0x842667ca
jb 0x14004456d
mov eax, dword [0x1402a9da0]
mov ecx, dword [0x1402a9da4]
xor ecx, 0xd4195eb5
add eax, 0x591a5ea6
add eax, ecx
sub eax, 0x591a5ea6
mov ecx, 0xf0a6a1e8
xor ecx, 0xb6023314
xor edx, edx
div ecx
and eax, 0x1f270b42
sub eax, 0xdb5f1b30
mov dword [rsp + 0x2c], eax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x30]
mov rcx, rax
add rcx, 0x68
call fcn.140017ba0
mov eax, dword [rsp + 0x2c]
cmp eax, 0x10427b31
je 0x14004456d
jmp 0x140044568
add rsp, 0x78
ret
invalid