Function at 0x1800052cc
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov byte [rsp + 0x20], r9b
mov byte [rsp + 0x18], r8b
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rdi, rdx
mov r13, rcx
xor r10d, r10d
test r8b, r8b
je 0x180005300
test r9b, r9b
jne 0x180005309
mov r14, qword [rbp + 0x78]
test r14, r14
jne 0x180005313
mov eax, 0x80070057
jmp 0x180005676
mov qword [r14], r10
mov esi, dword [rbp + 0x68]
mov r15b, byte [rbp + 0x60]
test r15b, r15b
je 0x18000535f
mov r8d, esi
call fcn.180004b14
mov r11b, al
mov cl, al
mov byte [rbp - 0x20], al
test esi, esi
je 0x180005365
mov rdx, rdi
mov rcx, r13
call fcn.180004a34
mov ecx, eax
call fcn.180004ad4
mov cl, r11b
mov byte [rbp - 0x20], cl
xor r10d, r10d
test eax, eax
je 0x180005365
mov eax, eax
add r13, rax
sub rdi, rax
jmp 0x180005362
mov cl, r10b
mov byte [rbp - 0x20], cl
test r13, r13
je 0x180005372
test rdi, rdi
mov r12b, r10b
jne 0x180005375
mov r12b, 1
mov edx, 0x4b0
test cl, cl
je 0x1800053af
mov eax, esi
sub eax, edx
je 0x1800053a3
sub eax, 1
je 0x1800053a3
sub eax, 0x2a2f
je 0x18000539c
cmp eax, 1
je 0x18000539c
mov eax, 1
jmp 0x1800053a8
mov eax, 4
jmp 0x1800053a8
mov eax, 2
cmp rdi, rax
sete r12b
mov rbx, qword [rbp + 0x70]
test rbx, rbx
jne 0x1800053e4
mov rax, qword [0x1801659a0]
test rax, rax
jne 0x1800053cd
mov rbx, qword [0x1801659a8]
jmp 0x1800053e4
mov ecx, dword [rax + 8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov cl, byte [rbp - 0x20]
xor r10d, r10d
mov edx, 0x4b0
test r12b, r12b
je 0x180005434
test r15b, r15b
je 0x180005406
mov r8, r14
mov rdx, rbx
mov ecx, esi
call fcn.180005148
test al, al
je 0x180005406
xor eax, eax
jmp 0x180005676
lea rax, [rbp - 0x18]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
mov r9b, r15b
xor r8d, r8d
mov rdx, rbx
xor ecx, ecx
call fcn.18000619c
test eax, eax
js 0x180005676
mov rax, qword [rbp - 0x18]
mov qword [r14], rax
jmp 0x1800053ff
cmp byte [rbp + 0x50], r10b
je 0x1800054c4
test r15b, r15b
je 0x1800054a4
test cl, cl
je 0x1800054a4
mov eax, 0xfde9
cmp esi, eax
jne 0x180005483
lea rcx, [rbp - 0x18]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov r8, rdi
mov rdx, rbx
mov rcx, r13
call fcn.180006768
test eax, eax
js 0x180005676
mov rax, qword [rbp - 0x18]
mov qword [r14], rax
and dword [rax + 0x30], 0xfffffffd
jmp 0x1800053ff
cmp esi, edx
jne 0x1800054a4
lea rax, [rbp - 0x18]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
mov r8, rdi
mov rdx, rbx
mov rcx, r13
call fcn.1800064a8
jmp 0x18000546b
lea rax, [rbp - 0x18]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
mov r9b, r15b
mov r8, rdi
mov rdx, rbx
mov rcx, r13
call fcn.18000619c
jmp 0x18000546b
mov qword [rbp - 0x18], r13
mov r12, rdi
test rbx, rbx
je 0x1800054ed
mov rax, qword [rbx]
movabs r10, 0xfd41b67356dad870
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x180004bac.0]
xor r10d, r10d
mov r15, r10
mov al, byte [rbp + 0x58]
test al, al
je 0x180005576
cmp byte [rbp + 0x60], r10b
je 0x180005521
cmp byte [rbp - 0x20], r10b
jne 0x180005521
cmp esi, 0xfde9
jne 0x180005511
lea r12, [rdi + 1]
jmp 0x18000551d
cmp esi, 0x4b0
jne 0x180005521
lea r12, [rdi + 2]
mov byte [rbp - 0x20], 1
mov rax, qword [rbx]
movabs r10, 0x8811273e76d7e870
mov rdx, r12
mov rcx, rbx
mov rax, qword [rax + 0x18]
call qword [case.0x180004bac.0]
mov r15, rax
mov qword [rbp - 0x18], rax
test rax, rax
jne 0x180005554
mov edi, 0x8007000e
jmp 0x180005632
mov r8, rdi
mov rcx, r15
test r13, r13
je 0x180005569
mov rdx, r13
call fcn.18010eac0
jmp 0x180005570
xor edx, edx
call fcn.18010f170
xor r10d, r10d
mov al, byte [rbp + 0x58]
cmp byte [rbp - 0x20], r10b
je 0x1800055fa
cmp esi, 0xfde9
jne 0x1800055be
mov rcx, qword [rbp - 0x18]
test al, al
je 0x180005596
cmp r12, rdi
jbe 0x180005596
mov byte [r12 + rcx - 1], r10b
lea rax, [rbp - 0x18]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xfde9
mov r8, r12
mov rdx, rbx
call fcn.180006768
mov edi, eax
test eax, eax
js 0x180005632
mov rax, qword [rbp - 0x18]
jmp 0x180005624
mov edx, 0x4b0
cmp esi, edx
jne 0x1800055fa
mov rcx, qword [rbp - 0x18]
test al, al
je 0x1800055e0
cmp r12, rdi
jbe 0x1800055e0
mov rax, r12
shr rax, 1
mov word [rcx + rax*2 - 2], r10w
lea rax, [rbp - 0x18]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
mov r8, r12
mov rdx, rbx
call fcn.1800064a8
jmp 0x1800055b2
lea rax, [rbp - 0x10]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
mov r9b, byte [rbp + 0x60]
mov r8, r12
mov rdx, rbx
mov rcx, qword [rbp - 0x18]
call fcn.18000619c
mov edi, eax
test eax, eax
js 0x180005632
mov rax, qword [rbp - 0x10]
mov qword [r14], rax
xor eax, eax
cmp byte [rbp + 0x58], al
cmovne r15, rax
mov edi, eax
test r15, r15
je 0x180005654
mov rax, qword [rbx]
movabs r10, 0xcb3d1ea576d29870
mov rdx, r15
mov rcx, rbx
mov rax, qword [rax + 0x28]
call qword [case.0x180004bac.0]
test rbx, rbx
je 0x180005674
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
movabs r10, 0xbaac1f10365eb170
mov rcx, rbx
call qword [case.0x180004bac.0]
nop
mov eax, edi
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret