Function at 0x14001fa50
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0xc0
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0xa0], rax
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rax, qword [rsp + 0xa0]
mov rcx, rax
add rcx, 0x20
mov qword [rsp + 0xa8], rcx
mov rdx, qword [rax + 0x20]
mov qword [rsp + 0xb0], rdx
movabs rcx, 0xad646108cea1fdb7
movabs rax, 0xad646108cea1fdb6
xor rcx, rax
movabs rax, 0x2b4baad8cfc2df34
movabs r8, 0xd4b45527303d20cb
xor rax, r8
xor rcx, rax
xor eax, eax
sub rax, 1
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0xb8], rax
mov rcx, rdx
and rcx, rcx
xor rcx, 0xffffffffffffffff
and rcx, 0xffffffffffffffff
movabs r8, 0x999f12938db143c2
movabs r9, 0x6660ed6c724ebc3d
xor r8, r9
xor rcx, r8
movabs r8, 0x5a29adc04ce3ba8e
movabs r9, 0xa5d6523fb31c4571
xor r8, r9
movabs r9, 0xd3d75797d65c3eb6
movabs r10, 0x2c28a86829a3c149
xor r9, r10
and r8, r9
movabs r9, 0x62d05476547ed474
movabs r10, 0x9d2fab89ab812b8b
xor r9, r10
xor r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x14001fb8b
call fcn.14000f24b
jmp 0x1400200b5
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xb8]
mov qword [rdx + 8], r8
mov rdx, rcx
add rdx, 0x30
mov qword [rsp + 0x78], rdx
mov rcx, qword [rcx + 0x30]
cmp rcx, 0
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
jne 0x14001fd5b
mov eax, dword [0x140272f88]
mov ecx, dword [0x140272f8c]
mov edx, 0x35838092
xor edx, 0x411da66f
xor ecx, edx
and eax, ecx
mov ecx, 0x1ca6531
xor edx, edx
div ecx
add eax, 0x621a9386
mov ecx, 0x33fcb5f3
xor edx, edx
div ecx
cmp eax, 0xd4922b0a
jae 0x1400200bf
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xa0]
mov r8d, dword [0x140272f90]
mov r9d, dword [0x140272f94]
mov edx, r8d
and edx, r9d
shl edx, 1
xor r8d, r9d
add r8d, edx
or r8d, 0x1f735af1
or r8d, 0xd402360c
mov r9d, 0x89d27b5d
xor r9d, 0x762d84a2
mov edx, r8d
xor edx, r9d
mov r10d, 0xa5359470
xor r10d, 0x5aca6b8f
mov r9d, r8d
xor r9d, r10d
and edx, r9d
mov r9d, 0xffffffff
xor r9d, 0x1ae4fd94
mov r10d, 0xffffffff
xor r10d, 0x1ae4fd94
and r9d, r10d
xor edx, 0xffffffff
mov r10d, 0x2ddf4c47
xor r10d, 0xd220b3b8
xor r9d, r10d
and edx, r9d
or r8d, 0x1ae4fd94
mov r9d, 0x7a0380c3
xor r9d, 0x85fc7f3c
xor r8d, r9d
or edx, r8d
xor edx, 0xffffffff
mov dword [rsp + 0x64], edx
mov qword [rcx], 0
movabs rcx, 0x3ae52317a5fd9153
movabs rdx, 0x3ae52317a5fd9553
xor rcx, rdx
mov qword [rax + 0x28], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
add rcx, 0x68
mov edx, 0x4000
call fcn.140014f80
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xa8]
mov r8, rax
mov eax, dword [rsp + 0x64]
mov qword [rsp + 0x68], r8
mov qword [rdx], r8
mov rcx, qword [rcx]
mov qword [rsp + 0x70], rcx
cmp eax, 0x5146043d
jb 0x14001fc16
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
jmp 0x14001fd5b
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
cmp qword [rdx + 0x28], rax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
jg 0x14001feb8
mov ecx, dword [0x140272f98]
mov edx, dword [0x140272f9c]
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0xab99c2cc
add eax, 0xd92e25e4
mov ecx, 0x63fd7bd5
xor edx, edx
div ecx
cmp eax, 0xf0e2af55
jae 0x1400200c8
mov rcx, qword [rsp + 0xa8]
mov esi, dword [0x140272fa0]
mov edx, dword [0x140272fa4]
mov eax, 0xc569b3d1
xor eax, 0x4fbdf778
xor edx, eax
xor eax, eax
sub eax, edx
sub esi, eax
mov edx, esi
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xb55aeec3
mov r8d, 0xffffffff
xor r8d, 0xd617cff9
mov r10d, 0x74f83dae
xor r10d, 0xa2eff257
mov eax, edx
and eax, r10d
and esi, r8d
mov r10d, r9d
and r10d, 0xd617cff9
mov r11d, r8d
and r11d, 0xb55aeec3
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
mov r9d, 0x48746ded
xor r9d, 0xb78b9212
xor edx, r9d
or r8d, 0xd617cff9
and edx, r8d
or eax, edx
or eax, 0xf265ca82
or eax, 0xc2925989
mov dword [rsp + 0x3c], eax
call fcn.14001a1f0
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x78]
mov eax, dword [rsp + 0x3c]
mov rdx, qword [rdx]
mov qword [rsp + 0x40], rdx
mov rcx, qword [rcx]
mov qword [rsp + 0x48], rcx
cmp eax, 0xd8e8d6af
jb 0x1400200c8
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
jmp 0x14001feb8
mov rdx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x98]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov r10, rcx
shl r10, 4
mov r8, rax
add r8, r10
mov qword [r8], r9
mov r8, rcx
shl r8, 4
add rax, r8
add rax, 8
mov qword [rax], rdx
xor eax, eax
mov edx, eax
sub rdx, 1
mov rax, rcx
sub rax, rdx
mov qword [rsp + 0x30], rax
movabs rdx, 0xdc29de5fb27cb975
movabs r8, 0x23d621a04d83468a
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14001ff47
call fcn.14000f24b
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
jmp 0x140020040
mov eax, dword [0x140272fa8]
xor eax, 0x3eec44ea
mov ecx, dword [0x140272fac]
xor ecx, 0xbc827299
xor edx, edx
div ecx
mov ecx, 0x6b198232
xor ecx, 0x3780fe27
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x18b717fd
or ecx, 0x18b717fd
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
or eax, 0x13ea2791
cmp eax, 0x712e7bb7
jae 0x1400200d1
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x30]
mov r8d, dword [0x140272fb0]
mov r9d, dword [0x140272fb4]
mov eax, r8d
and eax, r9d
or r8d, r9d
add eax, r8d
sub eax, 0x7c8590af
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, 0xd9002dad
xor r9d, 0x5ac7dc44
and r9d, r8d
mov r10d, 0xffffffff
xor r10d, 0x83c7f1e9
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x83c7f1e9
or eax, 0x83c7f1e9
imul eax, r9d
add eax, r8d
mov r8d, 0xee708cea
xor r8d, 0xf6e8bffe
xor eax, r8d
mov qword [rcx], rdx
cmp eax, 0xdbcb48cd
jae 0x1400200d1
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
jmp 0x140020040
mov rdx, qword [rsp + 0x28]
mov rax, rdx
add rax, 0xffffffffffffff80
mov qword [rsp + 0x20], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg al
xor ecx, ecx
xor cl, 1
xor al, cl
xor dl, 0xff
mov cl, 1
xor cl, 0
or al, dl
or cl, 0
xor edx, edx
xor dl, 1
xor al, dl
and al, cl
test al, 1
jne 0x14002008f
jmp 0x140020099
call fcn.14000f24b
jmp 0x1400200b5
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x20]
cmp qword [rax + 0x38], rcx
jg 0x1400200b5
call fcn.14001e4f0
nop
add rsp, 0xc0
pop rsi
ret
adc byte [rsi + 0x4ee90a22], dh
sti
invalid
xchg ebp, eax
sbb eax, dword [rsi]
shr ecx, cl
cli
cld
invalid
sbb byte [rdi + rax*8 - 0x1361645], ah
invalid