Function at 0x14003d460
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x80], rcx
mov ecx, dword [0x1402a99e8]
mov edx, dword [0x1402a99ec]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
imul eax, eax, 0xa1252eb5
mov edx, 0xffffffff
xor edx, 0xa781c201
mov ecx, eax
and ecx, edx
mov r8d, 0x5a670bb
xor r8d, 0xa227b2ba
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xd20b485d
xor edx, edx
div ecx
cmp eax, 0x39d63c8b
ja 0x14003d7db
mov ecx, dword [0x1402a99f0]
sub ecx, dword [str.r01_b]
xor ecx, 0xc70fffe3
mov eax, 0xffffffff
xor eax, 0x17a339bf
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
mov edx, 0x9f6722d8
xor edx, 0x822c65ed
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x1d4b4735
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x97b3269f
xor edx, 0x684cd960
xor ecx, edx
or eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, 0xfd2cf79a
xor eax, 0x6ba266b0
mov dword [rsp + 0x68], eax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x68]
mov r8, rax
mov eax, dword [rsp + 0x6c]
add r8, 0x60
mov qword [rsp + 0x70], r8
mov rdx, qword [rdx]
movabs r8, 0xd0b332a93a5587ec
movabs r9, 0xd0b332a93a5587ec
xor r8, r9
cmp rdx, r8
setg dl
mov byte [rsp + 0x7f], dl
cmp eax, ecx
ja 0x14003d4c2
mov al, byte [rsp + 0x7f]
test al, 1
jne 0x14003d592
jmp 0x14003d6d5
mov rax, qword [rsp + 0x80]
add rax, 8
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x48], rcx
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x14003d6b6
mov rax, qword [rsp + 0x50]
movabs rcx, 0x917d2cc8e8f0814
movabs rdx, 0xf6e82d337170f7e4
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
cmp rax, 0x10
jb 0x14003d661
mov rdx, qword [rsp + 0x40]
mov rcx, rdx
add rcx, 0xfffffffffffffff0
mov qword [rsp + 0x30], rcx
mov rax, rcx
and rax, rdx
add rax, rax
lea rdx, [rdx + rdx - 0x10]
sub rdx, rax
test rcx, rcx
setns al
or rcx, rdx
sets cl
add al, cl
inc al
test al, 1
jne 0x14003d645
jmp 0x14003d64f
call fcn.14000ee80
jmp 0x14003d6b6
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
jmp 0x14003d6b6
mov rcx, qword [rsp + 0x50]
call fcn.140245bd0
mov rax, qword [rsp + 0x70]
cmp byte [rax], 0
jne 0x14003d70d
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
xor ecx, ecx
sub rcx, 0xfffffffffffffff0
sub rax, rcx
mov qword [rsp + 0x28], rax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x28]
mov rcx, rax
add rcx, 0x68
call fcn.140017ba0
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x48]
add rax, 1
cmp rax, qword [rcx]
mov qword [rsp + 0x60], rax
jl 0x14003d5aa
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 8]
mov qword [rsp + 0x20], rax
cmp rax, 0
je 0x14003d70d
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x20]
mov rcx, rax
add rcx, 0x68
call fcn.140017ba0
mov eax, dword [0x1402a99f8]
mov ecx, dword [0x1402a99fc]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
mov ecx, 0xf7f9a0c5
xor edx, edx
div ecx
mov ecx, 0xdab035d
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x6d0ed1f9
xor edx, 0xe1d385f6
mov eax, ecx
or eax, edx
mov edx, 0x72db0244
xor edx, 0x8d24fdbb
xor eax, edx
or ecx, 0x8cdd540f
mov edx, 0x782a84d4
xor edx, 0x87d57b2b
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0x941bb156
xor edx, 0x6be44ea9
xor ecx, edx
and eax, ecx
mov ecx, 0xe7a22b6
xor ecx, 0x9fe06cd1
cmp eax, ecx
je 0x14003d7e4
mov eax, dword [0x1402a9a00]
mov ecx, dword [0x1402a9a04]
xor ecx, 0x9337c277
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xdc8a9683
xor edx, 0x14602490
mov eax, 0xb278363d
xor eax, 0x4d87c9c2
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
sub eax, 0x38951a1d
and eax, 0xd5dd44d2
cmp eax, 0x69b110ff
jb 0x14003d7e4
add rsp, 0x88
ret
sbb dh, byte [rdi + 0x28]
pop rdi
jmp 0x14003d4c2
frstor dword [rsi]
invalid