Function at 0x140020160
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x150
mov r14, r9
mov r13, r8
mov rbx, rdx
mov ecx, 2
call fcn.1400e8270
mov qword [rbp - 0x78], rax
xor edi, edi
mov word [rax], di
lea ecx, [rdi + 2]
call fcn.1400e8270
mov qword [rbp - 0x68], rax
mov word [rax], di
lea ecx, [rdi + 2]
call fcn.1400e8270
mov qword [rbp - 0x18], rax
mov word [rax], di
lea ecx, [rdi + 2]
call fcn.1400e8270
mov qword [rbp - 0x20], rax
mov word [rax], di
lea ecx, [rdi + 2]
call fcn.1400e8270
mov qword [rbp - 0x70], rax
mov word [rax], di
mov ecx, dword [0x140178818]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
or eax, 0x20019
lea rdx, [rbp - 0x10]
mov qword [rsp + 0x20], rdx
mov r9d, eax
xor r8d, r8d
mov rdx, r13
mov rcx, rbx
call fcn.140009290
test eax, eax
jne 0x14002065b
lea ecx, [rdi + 2]
call fcn.1400e8270
mov qword [rbp - 0x28], rax
mov word [rax], di
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, r14
mov rcx, qword [rbp - 0x10]
call fcn.140019160
test eax, eax
jne 0x140020646
mov rcx, qword [rbp - 0x28]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x140020250
test rax, rax
je 0x140020646
xorps xmm0, xmm0
movdqu xmmword [rbp - 8], xmm0
mov qword [rbp + 8], rdi
xor r9d, r9d
lea edx, [r9 + 0x2c]
lea r8, [rbp - 8]
call fcn.14000a1a0
mov rsi, rdi
mov rdi, qword [rbp]
mov rax, rdi
mov rbx, qword [rbp - 8]
sub rax, rbx
sar rax, 5
test rax, rax
je 0x1400205ea
lea r15, [0x14011eaa0]
test r14, r14
cmovne r15, r14
lea r12, [0x14011eaa0]
test r13, r13
cmovne r12, r13
xor r14d, r14d
mov r13, qword [rbp + 0xa0]
nop dword [rax]
nop word [rax + rax]
lea rdi, [r14 + rbx]
mov rax, qword [rdi + 8]
mov rdx, qword [rax]
mov rbx, qword [rbp - 0x70]
lea rcx, [0x14011eaa0]
test rdx, rdx
cmovne rcx, rdx
call fcn.1400e81d8
mov qword [rbp - 0x70], rax
mov rcx, rbx
call fcn.1400e825c
xor r9d, r9d
mov r8, rdi
mov rdx, qword [rbp + 0x80]
lea rcx, [rbp + 0x10]
call fcn.140007340
mov rdx, qword [rax]
mov rbx, qword [rbp - 0x78]
lea rcx, [0x14011eaa0]
test rdx, rdx
cmovne rcx, rdx
call fcn.1400e81d8
mov qword [rbp - 0x78], rax
mov rcx, rbx
call fcn.1400e825c
mov rcx, qword [rbp + 0x10]
call fcn.1400e825c
lea r9, [rbp - 0x18]
lea r8, [rbp - 0x68]
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp + 0x80]
call fcn.140007330
mov dword [rbp - 0x60], eax
xor ebx, ebx
mov qword [rbp - 0x80], rbx
mov rcx, r15
call fcn.1400e81d8
mov qword [rbp - 0x80], rax
xor ecx, ecx
call fcn.1400e825c
nop
mov qword [rbp - 0x48], rbx
mov rcx, r12
call fcn.1400e81d8
mov qword [rbp - 0x48], rax
xor ecx, ecx
call fcn.1400e825c
nop
lea r9, [rbp - 0x80]
lea r8, [rbp - 0x48]
mov rdx, qword [rbp + 0x88]
lea rcx, [rbp + 0x20]
call fcn.14000b540
mov rbx, rax
mov qword [rbp - 0x50], 0
lea rcx, [0x14011eaa0]
call fcn.1400e81d8
mov qword [rbp - 0x50], rax
xor ecx, ecx
call fcn.1400e825c
nop
mov qword [rbp - 0x58], 0
mov rcx, r12
call fcn.1400e81d8
mov qword [rbp - 0x58], rax
xor ecx, ecx
call fcn.1400e825c
nop
lea r9, [rbp - 0x50]
lea r8, [rbp - 0x58]
mov rdx, qword [rbp + 0x88]
lea rcx, [rbp + 0x18]
call fcn.14000b540
nop
lea rcx, [rbp + 0x28]
mov qword [rsp + 0x38], rcx
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x20], rcx
mov r9, rdi
mov r8, rbx
mov rdx, rax
mov rcx, qword [rbp + 0x80]
call fcn.1400058c0
movzx ebx, al
mov rcx, qword [rbp + 0x18]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x58]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x50]
call fcn.1400e825c
nop
mov rcx, qword [rbp + 0x20]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x48]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x80]
call fcn.1400e825c
test bl, bl
je 0x1400205c8
xor ebx, ebx
mov qword [rbp - 0x80], rbx
mov rcx, r15
call fcn.1400e81d8
mov qword [rbp - 0x80], rax
xor ecx, ecx
call fcn.1400e825c
nop
mov rdi, qword [rbp + 0x28]
mov qword [rbp - 0x30], rbx
mov rcx, r15
call fcn.1400e81d8
mov qword [rbp - 0x30], rax
xor ecx, ecx
call fcn.1400e825c
nop
mov qword [rbp - 0x38], rbx
mov rcx, r12
call fcn.1400e81d8
mov qword [rbp - 0x38], rax
xor ecx, ecx
call fcn.1400e825c
nop
lea r9, [rbp - 0x30]
lea r8, [rbp - 0x38]
mov rdx, qword [rbp + 0x88]
lea rcx, [rbp + 0x30]
call fcn.14000b540
mov rbx, rax
mov qword [rbp - 0x40], 0
lea rcx, [0x14011eaa0]
test r13, r13
cmovne rcx, r13
call fcn.1400e81d8
mov qword [rbp - 0x40], rax
xor ecx, ecx
call fcn.1400e825c
nop
movzx eax, byte [rbp + 0xb8]
mov dword [rsp + 0x80], 0xffffffff
xor ecx, ecx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x70], rcx
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x58], rdi
lea rax, [rbp - 0x70]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8d, dword [rbp + 0xb0]
mov edx, dword [rbp - 0x60]
mov rcx, qword [rbp + 0x80]
call fcn.140005d90
nop
mov rcx, qword [rbp - 0x40]
call fcn.1400e825c
nop
mov rcx, qword [rbp + 0x30]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x38]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x30]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x80]
call fcn.1400e825c
inc rsi
add r14, 0x20
mov rdi, qword [rbp]
mov rax, rdi
mov rbx, qword [rbp - 8]
sub rax, rbx
sar rax, 5
cmp rsi, rax
jb 0x1400202d0
test rbx, rbx
je 0x140020646
cmp rbx, rdi
je 0x140020612
lea rcx, [rbx + 8]
call fcn.140002c80
mov rcx, qword [rbx]
call fcn.1400e825c
add rbx, 0x20
cmp rbx, rdi
jne 0x1400205f4
mov rbx, qword [rbp - 8]
mov rdx, qword [rbp + 8]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14002063e
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400206ad
mov rcx, rbx
call fcn.1400e0fb8
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rcx, qword [rbp - 0x28]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x70]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x20]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x18]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x68]
call fcn.1400e825c
nop
mov rcx, qword [rbp - 0x78]
call fcn.1400e825c
mov eax, dword [rbp + 0xb0]
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x150
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400e8160
nop
int3