Function at 0x140134190
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x238
movaps xmmword [rsp + 0x220], xmm6
mov qword [rsp + 0x70], rcx
mov rax, qword [0x14016e028]
xor rax, rsp
mov qword [rsp + 0x218], rax
movabs rbx, 0xaaaaaaaaaaaaaaaa
mov al, byte [0x140170640]
mov byte [rsp + 0x5f], al
test al, 0x19
jne 0x14013470a
xor esi, esi
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x88], rsi
cmp byte [0x140172d88], 0
je 0x1401345fa
mov al, byte [0x140172d89]
mov byte [rsp + 0x5e], al
mov qword [rsp + 0x80], rbx
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x40]
add rax, 0x48
mov qword [rsp + 0x90], rax
cmp rcx, rax
je 0x14013468c
xorps xmm6, xmm6
xor ebx, ebx
mov qword [rsp + 0x98], rcx
mov rax, qword [rcx + 0x20]
mov rdi, qword [rax + 0x1000]
mov rbp, 0xffffffffffe00000
and rax, rbp
xor ecx, ecx
mov rdx, qword [rsp + 0x70]
test byte [rdx + 8], 1
sete cl
shl rcx, 0xe
add rax, rcx
add rax, 0x4000
mov rcx, rax
and rcx, rbp
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x78], rdi
lea rcx, [rdi + 0x10]
mov qword [rsp + 0xc0], rcx
xor ecx, ecx
mov qword [rsp + 0xa8], rax
mov r15, qword [rax + rcx*8]
test r15, r15
mov qword [rsp + 0xb0], rcx
je 0x140134476
mov rdx, rcx
shl rdx, 0xa
add rdx, qword [rsp + 0xa0]
mov rax, rdx
and rax, 0xffffffffffe00000
mov rcx, rdx
shr rcx, 9
and ecx, 0xfe0
add rax, rcx
add rax, 0x1000
mov qword [rsp + 0x60], rax
mov rax, rdx
movabs rcx, 0xfffffffc00000000
and rax, rcx
mov qword [rsp + 0xc8], rdx
shr rdx, 0xd
and edx, 0x1fffff
or rdx, rax
mov qword [rsp + 0xb8], rdx
bsf r12, r15
mov rax, r12
mov qword [rsp + 0xd8], r12
shl r12, 4
or r12, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + 0x1e]
mov r14, rax
neg r14
shl rax, 5
mov r13, rcx
sub r13, rax
neg rax
mov rbp, qword [rcx + rax + 0x10]
mov eax, dword [rbp + 0x18]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x78]
cmp byte [rax + 2], 0
je 0x1401344aa
cmp byte [rbp + 0x1c], 0
je 0x1401344aa
mov edi, dword [0x1401797f8]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
test esi, esi
jne 0x140134469
cmp rdi, 2
jb 0x1401344aa
sub rbp, qword [rsp + 0xc0]
sar rbp, 3
movabs rax, 0xcccccccccccccccd
imul rbp, rax
inc qword [rdi + 0x2c0]
cmp rbp, 0x28
ja 0x1401344a3
shl rbp, 4
mov rax, qword [rdi + rbp]
bswap rax
mov qword [r12], rax
not rax
mov qword [r12 + 8], rax
mov qword [rdi + rbp], r12
inc byte [rdi + rbp + 8]
inc qword [rdi + 0x2c8]
movzx r8d, byte [rdi + rbp + 9]
cmp byte [rdi + rbp + 8], r8b
jae 0x140134549
mov al, byte [rdi + 0x290]
test al, 1
jne 0x14013455f
cmp byte [rsp + 0x5e], 0
je 0x140134444
shl r14, 5
mov rax, qword [rsp + 0x60]
cmp byte [rax + r14 + 0x1d], 0
jne 0x14013456c
add r13, 0x10
mov rax, qword [r13]
mov r8d, dword [rax + 0x18]
add r8, 0x1fff
shr r8, 0xd
je 0x140134444
mov rcx, qword [rsp + 0xb8]
xor edx, edx
call fcn.14007f940
add rbx, qword [rsp + 0xd0]
mov rax, 0xfffffffffffffffe
mov rcx, qword [rsp + 0xd8]
rol rax, cl
and r15, rax
jne 0x140134305
jmp 0x140134476
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x140134386
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xb0]
mov qword [rax + rcx*8], 0
inc rcx
cmp rcx, 0x800
jne 0x140134290
jmp 0x140134575
inc qword [rdi + 0x2d0]
mov rax, qword [rsp + 0x78]
lea rsi, [rax + 8]
movaps xmmword [rsp + 0xf0], xmm6
mov edi, 1
xor ebp, ebp
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401345c6
mov rax, qword [r13]
cmp rax, r12
je 0x14013476e
bswap rax
mov qword [r12], rax
not rax
mov qword [r12 + 8], rax
mov qword [r13], r12
mov rax, r14
shl rax, 5
mov rdx, qword [rsp + 0x60]
movzx ecx, word [rdx + rax + 0x18]
dec ecx
mov word [rdx + rax + 0x18], cx
test cx, cx
jle 0x1401346e3
movaps xmmword [rsp + 0xe0], xmm6
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0xf0], xmm0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [rsp + 0xf0], 0
je 0x140134400
jmp 0x1401346f8
mov rdx, rdi
add rdx, rbp
shr r8, 1
mov rcx, rdi
call fcn.140007210
jmp 0x1401343f2
mov rcx, rdi
call fcn.1400498e0
jmp 0x140134400
mov r8, qword [r13 + 0x20]
jmp 0x140134428
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rdx + 8]
test rcx, rcx
je 0x1401345a7
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140134586
mov rcx, rax
cmp rax, qword [rsp + 0x90]
jne 0x14013422f
jmp 0x14013468e
mov rax, qword [rdx + 0x10]
cmp qword [rax], rdx
je 0x140134591
add rdx, 0x10
mov rcx, qword [rdx]
lea rdx, [rcx + 0x10]
mov rax, qword [rcx + 0x10]
cmp qword [rax], rcx
jne 0x1401345b4
jmp 0x140134591
mov eax, edi
test edi, edi
jle 0x1401345d4
pause
dec eax
jne 0x1401345cc
add ebp, edi
add edi, edi
cmp edi, 0x40
mov eax, 0x40
cmovge edi, eax
cmp ebp, 0x3e8
jl 0x1401344c2
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
jmp 0x1401344d3
lea rdi, [rsp + 0xf4]
mov r8d, 0x118
mov rcx, rdi
xor edx, edx
call fcn.14007f940
mov dword [rdi - 4], 0x11c
mov rsi, qword [sym.imp.KERNEL32.dll_VerSetConditionMask]
xor ecx, ecx
mov edx, 2
mov r8b, 3
call rsi
mov rcx, rax
mov edx, 1
mov r8b, 3
call rsi
mov rcx, rax
mov edx, 0x20
mov r8b, 3
call rsi
movabs rcx, 0x300000006
mov qword [rdi], rcx
mov word [rdi + 0x110], 0
lea rcx, [rsp + 0xf0]
mov edx, 0x23
mov r8, rax
call qword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
test eax, eax
setne byte [rsp + 0x5e]
setne byte [0x140172d89]
mov byte [0x140172d88], 1
jmp 0x140134204
xor ebx, ebx
test byte [rsp + 0x5f], 0x19
mov rcx, qword [rsp + 0x88]
je 0x1401346b4
cmp byte [rcx], 0
je 0x1401346b4
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x68]
call fcn.14003c2a0
mov rcx, qword [rsp + 0x218]
xor rcx, rsp
call fcn.14007d5a0
mov rax, rbx
movaps xmm6, xmmword [rsp + 0x220]
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r13
lea rdx, [rsp + 0xe0]
call fcn.140030860
jmp 0x14013451c
lea rcx, [rsp + 0xf0]
call fcn.1400ae770
jmp 0x140134400
call sub.KERNEL32.dll_GetCurrentThreadId
mov esi, eax
lea rdi, [rsp + 0xf0]
mov qword [rdi], rbx
mov rcx, rdi
call fcn.14003c7a0
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], esi
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rsi, [0x140170640]
lea rbx, str.PCScan.Sweep
mov cl, 0x58
mov rdx, rsi
mov r8, rbx
xor r9d, r9d
call fcn.140034c00
mov qword [rsp + 0x68], rax
jmp 0x1401341e5
int3