Function at 0x14003d2d0
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x48
mov qword [rsp + 0x40], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x40]
cmp rcx, 0
je 0x14003d557
mov rax, qword [rsp + 0x40]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rsp + 0x30], rcx
mov rax, qword [rax - 0x10]
mov qword [rsp + 0x38], rax
cmp rax, 0x10
jb 0x14003d536
mov r8, qword [rsp + 0x38]
movabs rcx, 0x52a254378052f8a9
mov rax, r8
sub rax, rcx
add rax, 0xfffffffffffffff0
movabs rcx, 0xf668c1e4835eca21
movabs rdx, 0xa4ca95d3030c3288
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x28], rax
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs rcx, 0x42d2e31753493bfc
movabs r9, 0x92054c275a9643d3
xor rcx, r9
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0xd0d7af3009df782f
xor r10, rdx
mov r9, rax
and r9, r10
movabs r11, 0x96d595cef35492b2
movabs rdx, 0x692a6a310cab6d4d
xor r11, rdx
mov rdx, r8
xor rdx, r11
movabs r11, 0xd0d7af3009df782f
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
movabs rdx, 0x945c27bfbd297186
movabs r8, 0x945c27bfbd297186
xor rdx, r8
cmp rcx, rdx
setl dl
movabs rcx, 0x8a92e0a29ded132a
movabs r8, 0x756d1f5d6212ecd5
xor rcx, r8
cmp rax, rcx
setg al
mov cl, al
xor cl, dl
xor r8d, r8d
xor r8b, 1
xor cl, r8b
or al, dl
and al, cl
test al, 1
jne 0x14003d41a
jmp 0x14003d424
call fcn.14000f24b
jmp 0x14003d557
mov eax, dword [0x140273dd8]
mov ecx, dword [0x140273ddc]
sub eax, 0xc4727bdc
sub eax, ecx
mov ecx, 0xcd26495f
xor ecx, 0x9543283
add eax, ecx
mov ecx, 0x71daf0dd
xor edx, edx
div ecx
mov r11d, eax
mov eax, 0xb12f7ac
xor eax, 0xbd9e05a0
or r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xb722ec05
mov r8d, 0xffffffff
xor r8d, 0x67f8fce7
mov eax, ecx
and eax, 0x67f8fce7
and r11d, r8d
mov r9d, edx
and r9d, 0x67f8fce7
mov r10d, r8d
and r10d, 0xb722ec05
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
mov edx, 0x83c402e
xor edx, 0xf7c3bfd1
xor ecx, edx
mov edx, 0xae804814
xor edx, 0xc978b4f3
or edx, r8d
and ecx, edx
or eax, ecx
cmp eax, 0xf5a1bf61
je 0x14003d623
mov rcx, qword [rsp + 0x28]
mov eax, dword [0x140273de0]
xor edx, edx
div dword [0x140273de4]
mov r8d, 0x32e68158
xor r8d, 0x5290632f
xor edx, edx
div r8d
xor eax, 0xfe463199
mov r8d, 0x2c343e0c
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x30]
mov r8d, eax
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x24], r8d
mov qword [rdx], rcx
mov r8, qword [rax]
xor ecx, ecx
call fcn.1400200e0
mov eax, dword [rsp + 0x24]
cmp eax, 0xfb97e8bd
ja 0x14003d623
jmp 0x14003d557
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rax]
mov ecx, 1
call fcn.1400200e0
mov rcx, qword [rsp + 0x40]
call fcn.140020296
mov eax, dword [0x140273de8]
xor eax, 0x4a9fe567
mov ecx, dword [0x140273dec]
mov edx, 0x40b83e6e
xor edx, 0x2f6218f1
add eax, edx
add eax, ecx
sub eax, 0x6fda269f
and eax, 0xa390b73b
add eax, 0x4d159fb9
add eax, 0x323d7c2
sub eax, 0x4d159fb9
mov edx, eax
and edx, 0x67c71da6
mov ecx, 0xcc4af64a
xor ecx, 0xcc4af648
imul ecx, edx
add eax, 0x67c71da6
sub eax, ecx
mov ecx, 0x2a63ce94
xor ecx, 0x25ebc438
cmp eax, ecx
jb 0x14003d62c
mov ecx, dword [0x140273df0]
mov eax, 0x434d1d42
xor eax, 0x8b41fa0a
xor ecx, eax
mov edx, dword [0x140273df4]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
or eax, 0x24b86d53
mov ecx, 0x2b969574
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xe2e4ef20
xor eax, 0xffffffff
mov edx, 0x99a6eb4c
xor edx, 0x7b42046c
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x7f48c800
jae 0x14003d5c0
add rsp, 0x48
ret
mov edx, 0xe9e92d96
movabs byte [0xe95c1e8619fffffe], al
mov edi, edi
invalid
sbb dword [rsi - 0x7416a3e2], eax
invalid