Function at 0x14004ecf0
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0xa0], rcx
mov eax, dword [0x140274778]
xor eax, 0x9482d69d
xor eax, dword [0x14027477c]
mov ecx, 0xa223655e
xor ecx, 0x6e3c14c4
add eax, ecx
mov ecx, 0x95dce517
xor ecx, 0x1febd036
xor eax, ecx
add eax, 0xa6ed9192
cmp eax, 0x3aa4e6b5
jbe 0x14004f2ac
mov ecx, dword [0x140274780]
mov edx, dword [0x140274784]
xor edx, 0x8ea974c
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0x3a5fe6e
xor r9d, 0xfc5a0191
mov r8d, ecx
xor r8d, r9d
and eax, r8d
mov r8d, edx
or r8d, r8d
xor r8d, 0xffffffff
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
or ecx, edx
mov edx, 0x5770944
xor edx, 0xfa88f6bb
xor ecx, edx
or eax, ecx
mov ecx, 0xd8256e
xor ecx, 0xff27da91
xor eax, ecx
sub eax, 0x2c76292c
mov ecx, 0xe0e1231b
xor ecx, 0xe229cf19
xor edx, edx
div ecx
mov ecx, 0xf0d19160
xor ecx, 0x675c8eae
mov edx, 0x8dc510f6
xor edx, 0x723aef09
xor ecx, edx
add eax, ecx
add eax, 1
mov dword [rsp + 0x8c], eax
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0xa0]
mov rdx, rax
mov eax, dword [rsp + 0x8c]
add rdx, 0x60
mov qword [rsp + 0x90], rdx
cmp qword [rcx], 0
setg cl
mov byte [rsp + 0x9f], cl
cmp eax, 0x92a4fe34
jae 0x14004f2ac
mov al, byte [rsp + 0x9f]
test al, 1
jne 0x14004ee28
jmp 0x14004f18e
mov rax, qword [rsp + 0xa0]
add rax, 8
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x68], rcx
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x70], rax
cmp rax, 0
je 0x14004f167
mov rax, qword [rsp + 0x70]
movabs rcx, 0x718ec934ddb2fe9b
add rax, rcx
add rax, 0xfffffffffffffff0
movabs rcx, 0x718ec934ddb2fe9b
sub rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
movabs rcx, 0x15c46c959db610db
movabs rdx, 0x15c46c959db610cb
xor rcx, rdx
cmp rax, rcx
jb 0x14004f020
mov rdx, qword [rsp + 0x60]
movabs rcx, 0xe1a9f3f5293cef7f
mov rax, rdx
sub rax, rcx
add rax, 0xfffffffffffffff0
movabs rcx, 0xe1a9f3f5293cef7f
add rax, rcx
mov qword [rsp + 0x50], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
movabs rdx, 0x632d38937d477690
movabs r8, 0x9cd2c76c82b8896f
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x14004ef20
jmp 0x14004f00e
mov ecx, dword [0x140274788]
mov edx, dword [0x14027478c]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
mov r8d, 0xfb96289b
xor r8d, 0x469d764
xor edx, r8d
and ecx, edx
or eax, ecx
or eax, 0xe633d2ea
mov ecx, 0x6ef3b58a
xor ecx, 0x910c4a75
mov edx, eax
xor edx, ecx
and edx, 0x2f102e8d
mov r8d, 0xffffffff
xor r8d, 0x2f102e8d
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x2f102e8d
mov r8d, 0xc26f280a
xor r8d, 0xed7f0687
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x20ab5073
xor edx, edx
div ecx
cmp eax, 0x7d697378
je 0x14004f2b5
mov eax, dword [0x140274790]
xor eax, dword [0x140274794]
add eax, 0x6e906fa8
mov ecx, eax
and ecx, 0xe87e476f
xor ecx, 0xffffffff
mov edx, 0x325e9180
xor edx, 0xda20d6ef
add eax, edx
mov edx, 0x49be4d11
xor edx, 0x49be4d10
add eax, edx
add eax, ecx
mov ecx, 0xb6f07f19
xor ecx, 0xd6b075e1
sub eax, ecx
mov dword [rsp + 0x4c], eax
call fcn.14000f24b
mov eax, dword [rsp + 0x4c]
cmp eax, 0xa836c618
je 0x14004f2b5
jmp 0x14004f167
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
jmp 0x14004f167
mov rcx, qword [rsp + 0x70]
call fcn.1401ed6f5
mov rax, qword [rsp + 0x90]
mov al, byte [rax]
mov cl, 0x17
xor cl, 0x17
cmp al, cl
jne 0x14004f2a4
mov eax, dword [0x140274798]
imul eax, dword [0x14027479c]
add eax, 0xa184729b
mov ecx, 0x8d0ba3cc
xor ecx, 0x601d8530
mov edx, 0x18086254
xor edx, 0xe7f79dab
xor ecx, edx
add eax, ecx
add eax, 1
and eax, 0xd36e75a5
cmp eax, 0x8acb02d6
jae 0x14004f2be
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x1402747a0]
mov edx, dword [0x1402747a4]
xor edx, 0x3d9678b0
imul eax, edx
or eax, 0xe4fcc94b
mov r9d, 0xffffffff
xor r9d, 0x2552486
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x8acfe073
xor r9d, 0x75301f8c
xor edx, r9d
imul edx, r8d
mov r9d, 0x23055831
xor r9d, 0x21507cb7
mov r8d, eax
and r8d, r9d
or eax, 0x2552486
imul eax, r8d
add eax, edx
mov r8d, 0x839e94ee
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0x48], edx
mov edx, 0xd9ed74e2
xor edx, 0x5c74e5fc
mov dword [rsp + 0x44], edx
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
movabs rcx, 0x8fc7bc7117a0cb9b
movabs rdx, 0x7038438ee85f346b
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x38], rax
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x38]
mov rcx, rax
add rcx, 0x68
call fcn.1400190f0
mov ecx, dword [rsp + 0x44]
mov eax, dword [rsp + 0x48]
cmp eax, ecx
jae 0x14004f2be
jmp 0x14004f167
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x68]
xor edx, edx
sub rdx, 1
sub rax, rdx
cmp rax, qword [rcx]
mov qword [rsp + 0x80], rax
jl 0x14004ee43
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x30], rax
cmp rax, 0
je 0x14004f2a4
mov eax, dword [0x1402747a8]
add eax, dword [0x1402747ac]
or eax, 0xd86d1c17
mov ecx, 0x20863b7b
xor ecx, 0xb89dbcbb
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xb7a82a89
xor edx, 0x30c19b55
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x8769b1dc
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x8769b1dc
or eax, 0x8769b1dc
imul eax, edx
add eax, ecx
cmp eax, 0xda361553
jae 0x14004f2c7
mov eax, dword [0x1402747b0]
xor eax, 0x554e42d0
xor eax, dword [0x1402747b4]
mov ecx, 0xb136053d
xor ecx, 0x91afff19
sub eax, ecx
add eax, 0x5f64acce
add eax, 0x2099fa24
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xe085d52
mov edx, 0xffffffff
xor edx, 0x3062b54
or eax, ecx
mov ecx, 0x60ddaca9
xor ecx, 0x63db87fd
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0xa815d586
xor ecx, 0x30239db
xor edx, edx
div ecx
mov dword [rsp + 0x2c], eax
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x30]
mov rcx, rax
add rcx, 0x68
add ecx, 0x68
call fcn.1400190f0
mov eax, dword [rsp + 0x2c]
cmp eax, 0x79aebcd8
jae 0x14004f2c7
jmp 0x14004f2a4
add rsp, 0xa8
ret
outsb dx, byte [rsi]
invalid
jbe 0x14004f288
leave
in al, 0xe9
out dx, al
cld
invalid
pop rbx
xor al, dl
loop 0x14004f2ac
mov ecx, 0xbafffffd
mov ebx, 0x3be95694
invalid
mov edx, 0xe95694bb
cmp edi, edi
invalid