Function at 0x14002f3c1
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x68], rcx
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x60], rax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x78], rax
add rax, 0x60
mov qword [rsp + 0x70], rax
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
call rax
mov rax, qword [rsp + 0x78]
mov cl, byte [rax + 0x60]
mov dl, 0x2a
xor dl, 0x2a
xor eax, eax
cmp cl, dl
mov byte [rsp + 0x87], al
je 0x14002f1c4
mov r8d, dword [0x1402a93c8]
xor r8d, 0x99b698e8
mov ecx, dword [0x1402a93cc]
mov eax, r8d
xor eax, 0xffffffff
and eax, ecx
xor ecx, 0xffffffff
and r8d, ecx
sub r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0x7b4f5a6d
mov edx, 0xffffffff
xor edx, 0x7b4f5a6d
mov eax, r8d
and eax, edx
imul eax, ecx
mov ecx, r8d
and ecx, 0x7b4f5a6d
mov edx, 0x83501488
xor edx, 0xf81f4ee5
or r8d, edx
imul r8d, ecx
add r8d, eax
mov ecx, 0xe776b6a0
xor ecx, 0x1889495f
mov eax, r8d
xor eax, ecx
and eax, 0x9478bdb2
mov r9d, 0xffffffff
xor r9d, 0x9478bdb2
and r8d, r9d
mov ecx, 0x39209f00
xor ecx, 0x26147c73
mov edx, 0xa0112dab
xor edx, 0x5feed254
xor ecx, edx
mov edx, 0x74a38aed
xor edx, 0xe0db375f
and ecx, edx
mov edx, 0x611a4e16
xor edx, 0x7e2ead65
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xf7e9d3df
xor ecx, 0x1bc3e7d
or eax, ecx
cmp eax, 0xa0dc6b3b
jb 0x14002f3af
mov r8d, dword [0x1402a93d0]
and r8d, dword [0x1402a93d4]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x94a86cd4
mov edx, 0x733879e3
xor edx, 0xe7901537
mov ecx, 0x592e0362
xor ecx, 0xa6d1fc9d
xor edx, ecx
and r8d, edx
mov ecx, 0x2fea6f9f
xor ecx, 0xe10272a6
mov r9d, 0x58d0a084
xor r9d, 0xa72f5f7b
xor ecx, r9d
and ecx, 0x94a86cd4
and edx, 0xcee81d39
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x1be84fc7
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rsp + 0x70]
add ecx, 0x25c3e1bb
mov dword [rsp + 0x58], ecx
mov cl, 0x5f
xor cl, 0x5f
mov byte [rax], cl
call fcn.14002eeec
call fcn.14002ef97
mov rcx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x58]
mov cl, byte [rcx]
mov byte [rsp + 0x5f], cl
cmp eax, 0x40bf0bef
ja 0x14002f3af
mov al, byte [rsp + 0x5f]
mov byte [rsp + 0x87], al
jmp 0x14002f1c4
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x70]
mov dl, byte [rsp + 0x87]
mov byte [rsp + 0x47], dl
mov dl, 0x65
xor dl, 0x65
mov byte [rax], dl
mov rax, qword [rcx]
add rcx, 8
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movabs rdx, 0x3a823ab113776848
movabs rcx, 0xc57dc54eec8897b7
xor rdx, rcx
mov rcx, rax
add rcx, rdx
mov qword [rsp + 0x38], rcx
cmp rax, 0
jle 0x14002f29e
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rcx, rax
add rcx, 8
mov r8, rdx
shl r8, 4
add rcx, r8
add rax, 8
shl rdx, 4
add rax, rdx
add rax, 8
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
cmp rax, 0
je 0x14002f27a
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
call rax
jmp 0x14002f281
mov rax, qword [rsp + 0x30]
call rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x70]
cmp byte [rcx], 0
mov qword [rsp + 0x50], rax
je 0x14002f1f1
jmp 0x14002f2a9
mov rax, qword [rsp + 0x70]
mov cl, byte [rsp + 0x47]
mov byte [rax], cl
mov eax, dword [0x1402a93d8]
xor edx, edx
div dword [0x1402a93dc]
mov r11d, eax
xor eax, eax
sub eax, 0xc2aad7b5
add r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x5a65c834
mov edx, 0xffffffff
xor edx, 0x879e097f
mov eax, ecx
and eax, 0x879e097f
and r11d, edx
mov r9d, r8d
and r9d, 0x879e097f
mov r10d, edx
and r10d, 0x5a65c834
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x879e097f
and ecx, edx
or eax, ecx
mov ecx, 0xe1eed7cd
xor edx, edx
div ecx
cmp eax, 0xb126ab
jae 0x14002f3b8
mov eax, dword [0x1402a93e0]
xor edx, edx
div dword [0x1402a93e4]
mov ecx, 0x6766698b
xor ecx, 0xec5665f9
add eax, ecx
mov ecx, 0xea6ce982
xor ecx, 0x1593167d
mov edx, eax
xor edx, ecx
and edx, 0x64b20ace
mov r8d, 0xffffffff
xor r8d, 0x64b20ace
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x64b20ace
mov r8d, 0x5a34518f
xor r8d, 0x3e865b41
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x16e3e26c
xor ecx, 0x886f92ed
add eax, ecx
cmp eax, 0xff9c2798
jae 0x14002f32d
add rsp, 0x88
ret
sub eax, 0xe9132450
push rbp
std
invalid
pop r15
retf
jmp 0x14002efd0