Function at 0x1400400d0
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rcx
mov ecx, dword [0x1402980b0]
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 0x140040122
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.14003fd30
jmp 0x140040424
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jge 0x140040424
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 0x140040179
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x14004036c
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
mov rax, r8
sub rax, rdx
mov qword [rsp + 0x40], rax
mov rcx, rax
xor rcx, 0xffffffffffffffff
mov r9, rax
xor r9, 0xffffffffffffffff
or rcx, r9
and rcx, r8
xor rcx, 0xffffffffffffffff
mov r9, r8
xor r9, 0xffffffffffffffff
movabs r10, 0x22f9c758e1b2481f
movabs r11, 0xdd0638a71e4db7e0
xor r10, r11
xor r8, r10
or r9, r8
movabs r10, 0xf184f22858c434d2
movabs r8, 0xe7b0dd7a73bcb2d
xor r10, r8
mov r8, rax
xor r8, r10
xor r9, 0xffffffffffffffff
or r8, r9
and rcx, r8
movabs r8, 0x7f757ea5b7306ea1
movabs r9, 0x808a815a48cf915e
xor r8, r9
xor rcx, r8
movabs r8, 0x18962f29fd531c99
movabs r9, 0x18962f29fd531c99
xor r8, r9
cmp rcx, r8
setl cl
xor rax, rdx
movabs rdx, 0x4d953b18e83478dd
movabs r8, 0xb26ac4e717cb8722
xor rdx, r8
cmp rax, rdx
setg dl
mov al, cl
xor al, 0xff
mov r8b, dl
xor r8b, 0xff
or al, r8b
xor cl, 0xff
xor dl, 0xff
or cl, dl
and al, cl
xor al, 0xff
test al, 1
jne 0x14004029d
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.1400265f0
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
jmp 0x14004036c
mov eax, dword [0x140273f88]
mov ecx, 0x3aa910a0
xor ecx, 0x647b0aeb
xor eax, ecx
mov edx, dword [0x140273f8c]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
and eax, 0x9d4db181
mov edx, 0x5e3132d5
xor edx, 0x64974cad
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0x3aa67e78
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x4230245a
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x4230245a
or eax, 0x4230245a
imul eax, edx
add eax, ecx
mov ecx, 0xa51fa844
xor ecx, 0x8a429081
cmp eax, ecx
jb 0x14004042a
mov eax, dword [0x140273f90]
imul eax, dword [0x140273f94]
xor eax, 0xe34cef67
or eax, 0x280891b6
sub eax, 0x6163445e
mov dword [rsp + 0x3c], eax
mov eax, 0xc7584219
xor eax, 0xc3568bb9
mov dword [rsp + 0x38], eax
call fcn.14000f24b
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
cmp eax, ecx
jbe 0x140040324
jmp 0x140040424
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov qword [rcx], rdx
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jge 0x140040424
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.1401377a0
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
jne 0x140040424
mov rdx, qword [rsp + 0x28]
movabs rcx, 0x8b3fe6a669b5434e
mov rax, rdx
add rax, rcx
movabs rcx, 0xeb8909cff8e10e28
movabs r8, 0xeb8909cff8e10e29
xor rcx, r8
add rax, rcx
movabs rcx, 0x8b3fe6a669b5434e
sub rax, rcx
xor rdx, 0xffffffffffffffff
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x30], rax
jge 0x140040383
call fcn.14000f24b
nop
add rsp, 0x78
ret
test dword [rbx], esi
mov ebp, 0xfef1e991
invalid