Function at 0x140045860
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rcx
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
add rax, 0x60
mov qword [rsp + 0x68], rax
mov rax, qword [rcx]
mov qword [rsp + 0x70], rax
cmp rax, rdx
jle 0x1400458b2
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.14004568e
jmp 0x140045c1d
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jge 0x140045c1d
mov rax, qword [rsp + 0x58]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x140045909
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x1400459fd
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov rdx, rcx
sub rdx, r8
mov qword [rsp + 0x40], rdx
mov rax, rdx
xor rax, rcx
movabs rcx, 0xc806d3cdb2f267a9
movabs r9, 0xc806d3cdb2f267a9
xor rcx, r9
cmp rax, rcx
setl al
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r9, rdx
xor r9, 0xffffffffffffffff
or rcx, r9
xor rcx, 0xffffffffffffffff
mov r9, r8
xor r9, 0xffffffffffffffff
or rcx, r9
and r8, r8
movabs r9, 0x89b5145658dc792a
movabs r10, 0x764aeba9a72386d5
xor r9, r10
xor r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x1400459f3
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
movabs r9, 0x38f90f5447f82657
movabs rax, 0x38f90f5447f8265f
xor r9, rax
movabs rax, 0x1721bc8d005609f6
movabs r10, 0x1721bc8d005609fe
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.140023a90
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
jmp 0x1400459fd
call fcn.14000ee80
jmp 0x140045c1d
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov qword [rcx], rdx
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x140045c1d
mov ecx, dword [0x1402a9e28]
mov edx, dword [0x1402a9e2c]
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov r8d, edx
or r8d, r8d
xor r8d, 0xffffffff
xor eax, 0xffffffff
mov r9d, 0xd867e8a0
xor r9d, 0x2798175f
xor r8d, r9d
and eax, r8d
or ecx, edx
mov edx, 0x83be5cc5
xor edx, 0x7c41a33a
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x7d6633ea
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x3be4d17e
xor ecx, 0xc41b2e81
mov edx, eax
xor edx, ecx
and edx, 0xa13a482f
mov r8d, 0xffffffff
xor r8d, 0xa13a482f
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xa13a482f
or eax, 0xa13a482f
imul eax, edx
add eax, ecx
add eax, 0x91907f2a
cmp eax, 0x77f5eb7f
ja 0x140045c23
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov edx, dword [0x1402a9e30]
mov r10d, dword [0x1402a9e34]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, edx
and r9d, r11d
mov r8d, edx
or r8d, r11d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, edx
and r9d, r10d
or edx, r10d
imul edx, r9d
add edx, r8d
mov r8d, 0xba1c3d0c
xor r8d, 0xf51701fe
xor edx, r8d
mov r9d, 0xffffffff
xor r9d, 0x7cfe6b13
mov r8d, edx
xor r8d, r9d
and r8d, edx
mov edx, r8d
and edx, edx
xor edx, 0xffffffff
and edx, 0xec48d660
mov r9d, 0x17be0ba3
xor r9d, 0xe841f45c
xor edx, r9d
mov r9d, 0xec48d660
and r9d, 0xec48d660
xor r9d, 0xffffffff
and r8d, r9d
xor r8d, 0xffffffff
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
mov dword [rsp + 0x28], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.1401cfb00
mov rcx, qword [rsp + 0x68]
mov eax, dword [rsp + 0x28]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x8f7b9062
jb 0x140045ad3
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140045bc5
jmp 0x140045c1d
mov rcx, qword [rsp + 0x30]
mov rax, rcx
add rax, 1
mov r8, rcx
xor r8, 0xffffffffffffffff
movabs rdx, 0x4a9a350d6a16e6e4
movabs r9, 0xb565caf295e9191b
xor rdx, r9
and rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, rcx
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x38], rax
jge 0x140045a14
call fcn.14000ee80
nop
add rsp, 0x78
ret
jmp 0x1290a0a37