Function at 0x140046330
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x14007c010]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov edi, r9d
mov r11, r8
mov r15, rdx
mov rsi, rcx
xor r12d, r12d
mov dword [rcx + 0x30], r9d
cmp r9d, 1
je 0x1400463c7
mov r9, qword [rcx + 8]
mov rdx, qword [r9 + 0x58]
movsxd rcx, dword [rdx]
cmp rcx, r8
cmovb r8d, ecx
sub ecx, r8d
mov dword [rdx], ecx
mov rcx, qword [r9 + 0x40]
movsxd rax, r8d
add qword [rcx], rax
mov rax, qword [r9 + 0x40]
mov rdx, qword [rax]
mov rax, qword [r9 + 0x38]
mov rcx, qword [rax]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [r9 + 0x50]
mov dword [rax], edx
cmp dword [r15], r12d
jne 0x1400465cd
test r11, r11
je 0x1400465cd
mov rcx, qword [rsi + 8]
mov rax, qword [rcx + 0x40]
mov rdx, qword [rax]
mov rax, qword [rcx + 0x38]
mov rcx, qword [rax]
sub rdx, rcx
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], r12
mov qword [rbp], r12
mov qword [rbp + 0x20], r12
lea rax, [rbp - 0x20]
mov qword [rbp + 8], rax
lea rcx, [rbp - 0x20]
mov qword [rbp + 0x10], rcx
lea rax, [rbp - 0x10]
mov qword [rbp + 0x18], rax
nop dword [rax]
movups xmm0, xmmword [rcx]
movups xmmword [rbp - 0x10], xmm0
cmp qword [rcx + 8], r12
jne 0x14004642a
add rcx, 0x10
lea rax, [rbp - 0x10]
cmp rcx, rax
jne 0x140046410
mov qword [rbp + 0x10], rcx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], rax
mov r8, qword [rsi + 0x38]
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x70]
call fcn.1400471f0
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x60], r12
xorps xmm1, xmm1
mov qword [rbp + 0x40], r12
mov rbx, r12
lea rax, [rbp - 0x20]
mov qword [rbp + 0x48], rax
lea rcx, [rbp - 0x20]
lea rax, [rbp - 0x10]
mov qword [rbp + 0x58], rax
nop dword [rax]
nop word [rax + rax]
add rbx, qword [rcx + 8]
add rcx, 0x10
lea rax, [rbp - 0x10]
cmp rcx, rax
jne 0x140046490
mov qword [rbp + 0x50], rcx
mov qword [rbp + 0x60], rbx
lea rdx, [rsi + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400464c0
mov r8, qword [rdx]
mov r9, r8
add r8, qword [rdx + 0x10]
jmp 0x1400464ca
mov r8, qword [rdx + 0x10]
add r8, rdx
mov r9, rdx
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [rbp + 0x40]
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [rbp + 0x50]
movaps xmmword [rbp + 0x10], xmm1
movsd xmm0, qword [rbp + 0x60]
movsd qword [rbp + 0x20], xmm0
movups xmm1, xmmword [rbp + 0x70]
movaps xmmword [rbp + 0x30], xmm1
movups xmm0, xmmword [rbp + 0x80]
movaps xmmword [rbp + 0x40], xmm0
movups xmm1, xmmword [rbp + 0x90]
movaps xmmword [rbp + 0x50], xmm1
movsd xmm0, qword [rbp + 0xa0]
movsd qword [rbp + 0x60], xmm0
mov qword [rsp + 0x20], r8
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.14004e000
mov rdx, qword [rbp - 0x70]
cmp rdx, rbx
je 0x140046549
cmp byte [rbp - 0x68], r12b
je 0x140046549
mov rcx, qword [rsi + 0x20]
add rcx, rdx
mov qword [rsi + 0x38], rcx
mov r14, r12
jmp 0x1400465bc
mov r9, qword [rsi + 8]
mov rax, qword [r9 + 0x40]
mov rcx, qword [rax]
mov rax, qword [r9 + 0x38]
sub rcx, qword [rax]
cmp rcx, qword [r9 + 0x68]
jne 0x14004656e
mov qword [rsi + 0x38], 0xffffffffffffffff
mov r14, r12
jmp 0x1400465bc
cmp rdx, rbx
cmovne rbx, rdx
mov qword [rsi + 0x38], rbx
mov rax, qword [r9 + 0x40]
mov rcx, qword [rax]
mov rax, qword [r9 + 0x38]
sub rcx, qword [rax]
mov rdx, qword [r9 + 0x68]
sub rdx, rcx
mov r8, qword [r9 + 0x80]
sub r8, qword [r9 + 0x70]
sub r8, rcx
mov eax, 0x10000
cmp rdx, rax
cmovb rax, rdx
mov r14d, 0x200
cmp r8, r14
cmova r14, r8
cmp rax, r14
cmovb r14, rax
test edi, edi
jne 0x140046729
test r14, r14
jne 0x140046729
cmp qword [rsi + 0x38], 0xffffffffffffffff
jne 0x14004663e
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400812b0], eax
jle 0x14004661d
lea rcx, [0x1400812b0]
call fcn.14005cb04
cmp dword [0x1400812b0], 0xffffffff
jne 0x14004661d
lea rcx, [0x140063b10]
call fcn.14005d15c
lea rcx, [0x1400812b0]
call fcn.14005ca98
mov dword [rsp + 0x30], 3
lea rax, [0x14007c078]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
jmp 0x140046647
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x30], xmm0
lea rdi, [rsp + 0x30]
cmp dword [r15], r12d
jne 0x14004665b
mov rbx, qword [rsi + 0x38]
cmp rbx, 0xffffffffffffffff
jne 0x14004665e
mov rbx, r12
lea rdx, [rsi + 0x50]
lea rcx, [rsp + 0x60]
call fcn.1400460b0
movups xmm0, xmmword [rdi]
movaps xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov rdi, qword [rsi + 0x40]
mov rbx, qword [rsi + 0x48]
mov ecx, dword [0x1400812d8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x14004669e
cmp qword [rax], rbx
je 0x140046710
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140046690
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x60]
mov ecx, 0xb8
call fcn.140009a10
mov rbx, rax
mov qword [rax + 0x20], r12
lea rax, [0x140056de0]
mov qword [rbx + 0x28], rax
mov qword [rbx], r12
mov qword [rbx + 8], r12
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], r12
mov dword [rbx + 0x30], r12d
lea rcx, [rbx + 0x38]
lea rdx, [rsp + 0x60]
call fcn.140057320
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r12
mov r8, rbx
lea rdx, [rsi + 0x48]
mov rcx, rdi
call fcn.14000e3e0
nop
lea rcx, [rsp + 0x68]
call fcn.14001d280
jmp 0x140046772
cmp qword [rax + 8], 0
je 0x14004669e
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x60]
call fcn.140059cf0
nop
jmp 0x140046704
mov rdi, qword [rsi]
mov rbx, qword [rsi + 8]
mov rdx, r14
mov rcx, rbx
call fcn.14001ca60
mov rax, qword [rbx + 0x40]
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], r14
lea rax, [rdi + 0x68]
lea rdx, [rdi + 8]
mov rcx, qword [rdi]
add rcx, 0x28
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea r8, [rsp + 0x30]
call fcn.140055b80
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.14005ca70
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret