Function at 0x14004e482
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x80
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
add rax, 0x60
mov qword [rsp + 0x70], rax
mov rax, qword [rcx]
mov qword [rsp + 0x78], rax
cmp rax, rdx
jle 0x14004e036
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
call fcn.14004da30
jmp 0x14004e466
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
cmp rax, rcx
jge 0x14004e466
mov rax, qword [rsp + 0x60]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x14004e08d
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x14004e25a
mov r8, qword [rsp + 0x78]
mov r9, qword [rsp + 0x68]
movabs rax, 0x863799f8b76fc22
mov rcx, r9
sub rcx, rax
sub rcx, r8
movabs rax, 0x863799f8b76fc22
add rcx, rax
mov qword [rsp + 0x48], rcx
movabs rax, 0xef9d8aa23b52f9da
movabs rdx, 0x1062755dc4ad0625
xor rax, rdx
mov rdx, rcx
xor rdx, rax
mov rax, r9
and rax, rdx
movabs rdx, 0xbd00f0e457b785ee
movabs r10, 0x42ff0f1ba8487a11
xor rdx, r10
xor r9, rdx
mov rdx, rcx
and rdx, r9
or rax, rdx
cmp rax, 0
setl al
mov rdx, rcx
and rdx, r8
shl rdx, 1
add rcx, r8
sub rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x14004e250
mov eax, dword [0x140274728]
mov ecx, dword [0x14027472c]
xor ecx, 0x8bf77b7c
xor eax, ecx
mov ecx, 0x39e85c98
xor ecx, 0xde830771
add eax, ecx
or eax, 0x435ab5c7
mov ecx, 0xb063cf28
xor edx, edx
div ecx
cmp eax, 0x810f4617
je 0x14004e470
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
mov r11d, dword [0x140274730]
mov r10d, dword [0x140274734]
xor r10d, 0x48a32aa2
mov eax, r11d
xor eax, 0xffffffff
and eax, 0xd7e12560
mov esi, 0xffffffff
xor esi, 0xd7e12560
and r11d, esi
mov r9d, r10d
xor r9d, 0xffffffff
and r9d, 0xd7e12560
and r10d, esi
or eax, r11d
or r9d, r10d
xor eax, r9d
imul eax, eax, 0x3d2d242f
mov r9d, 0x91600c
xor r9d, 0xee346e70
imul eax, r9d
mov r9d, 0x375d0874
xor r9d, 0xc8a2f78b
xor eax, r9d
mov r10d, 0xffffffff
xor r10d, 0xbd9e8b2c
mov r9d, 0xffffffff
xor r9d, 0xc052d442
or eax, r10d
or r9d, 0xc052d442
mov r10d, 0x4032217e
xor r10d, 0xbfcdde81
xor eax, r10d
and eax, r9d
mov dword [rsp + 0x44], eax
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.1400265f0
mov rcx, qword [rsp + 0x50]
mov rdx, rax
mov eax, dword [rsp + 0x44]
mov qword [rcx], rdx
cmp eax, 0x79411c81
jbe 0x14004e470
jmp 0x14004e25a
call fcn.14000f24b
jmp 0x14004e466
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov qword [rcx], rdx
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x14004e466
mov r8d, dword [0x140274738]
mov eax, dword [0x14027473c]
xor eax, 0xe5bfa449
xor r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xcb1775d9
xor eax, 0x7bff97b4
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0xb0e8e26d
and r8d, r9d
mov ecx, 0x183ce01
xor ecx, 0x408fa834
mov edx, 0xd528f44d
xor edx, 0x2ad70bb2
xor ecx, edx
and ecx, 0xb0e8e26d
mov edx, 0xcfcc1378
xor edx, 0x8ec0754d
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
and eax, 0x52610d47
sub eax, 0xe9e655e
cmp eax, 0x532c042
je 0x14004e479
mov rcx, qword [rsp + 0x50]
mov edx, dword [0x140274740]
mov r8d, dword [0x140274744]
mov eax, edx
add eax, 1
xor edx, 0xffffffff
or edx, r8d
add edx, eax
sub edx, 0x7a5a8fe3
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0x9ed64407
xor r8d, 0x725202f8
mov r9d, 0xcb6d23f
xor r9d, 0xf3492dc0
xor r8d, r9d
or eax, r8d
and edx, 0xec8446ff
mov r8d, 0xb1b4ae03
xor r8d, 0x4e4b51fc
xor edx, r8d
and eax, edx
mov edx, 0xd84675d8
xor edx, 0x27b98a27
xor eax, edx
mov r8d, 0xae686abf
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x30]
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.1401eced6
mov rcx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x28]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xcac6355e
jae 0x14004e308
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14004e3d3
jmp 0x14004e466
mov rdx, qword [rsp + 0x30]
movabs rcx, 0x93b35cb8cb6bd59e
mov rax, rdx
sub rax, rcx
add rax, 1
movabs rcx, 0xd8243fdf1fcf11a6
movabs r8, 0x4b976367d4a4c438
xor rcx, r8
add rax, rcx
mov r8, rdx
xor r8, 0xffffffffffffffff
movabs rcx, 0xc5205e797cdcd18b
movabs r9, 0x3adfa18683232e74
xor rcx, r9
xor r8, rcx
movabs rcx, 0xb853564009ec284e
movabs r9, 0x47aca9bff613d7b1
xor rcx, r9
and rcx, r8
shl rcx, 1
sub rcx, 0xffffffffffffffff
sub rdx, rcx
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x38], rax
jge 0x14004e271
call fcn.14000f24b
nop
add rsp, 0x80
pop rsi
ret
cdq
xor dword [rsi - 0x3141639], esp
invalid
movabs al, byte [0xfffffe86e974b6c7]
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.14004da30
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp fcn.14004dfe0