Function at 0x1801e41d0
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
push rbp
push rsi
push rdi
sub rsp, 0x190
mov r9, qword [rdx + 0x98]
mov qword [rax - 0x28], r13
mov qword [rax - 0x38], r15
xor esi, esi
mov rax, r9
lea rbp, [rsp + 0x70]
shr rax, 0x18
mov r13, rdx
mov r15, rcx
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], 4
mov qword [rsp + 0x60], rsi
mov byte [rsp + 0x68], sil
mov byte [rsp + 0x69], 1
test al, 1
je 0x1801e422d
lea edi, [rsi + 1]
jmp 0x1801e465b
movzx eax, byte [rcx + 0xcefb]
shr al, 4
and al, 1
je 0x1801e424d
cmp dword [rdx + 0xa4], esi
je 0x1801e424d
mov edi, 1
jmp 0x1801e465b
test al, al
jne 0x1801e4286
bt r9, 0x15
jae 0x1801e427c
movsd xmm0, qword [rdx + 0x158]
comisd xmm0, xmmword [0x1800685c8]
jb 0x1801e427c
movsd xmm0, qword [0x180068590]
comisd xmm0, xmmword [rdx + 0x160]
jae 0x1801e4286
mov edi, 1
jmp 0x1801e465b
lea rax, [rsp + 0x50]
mov qword [rsp + 0x1b0], rbx
mov r9d, 0x14
mov qword [rsp + 0x28], rax
lea rax, [0x1801d0d60]
mov r8b, 1
mov qword [rsp + 0x188], r12
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x20], rax
call fcn.1801915c0
mov edi, eax
test eax, eax
js 0x1801e463e
cmp eax, 0x270f0002
jne 0x1801e42e2
mov rbp, qword [rsp + 0x50]
mov edi, 1
jmp 0x1801e4643
mov rdx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x50]
mov ebx, esi
mov ecx, esi
test rdx, rdx
je 0x1801e4637
mov rax, rsi
nop dword [rax]
cmp rax, rdx
jae 0x1801e430e
shl rax, 6
add rax, rbp
jmp 0x1801e4311
mov rax, rsi
cmp dword [rax], esi
jne 0x1801e4317
inc ebx
inc ecx
mov eax, ecx
cmp rax, rdx
jb 0x1801e4300
test ebx, ebx
je 0x1801e4637
lea rdx, [rsp + 0x50]
mov r8d, 1
mov rcx, r15
call fcn.1801d1a60
mov edi, eax
test eax, eax
js 0x1801e463e
cmp eax, 0x270f0000
je 0x1801e4600
cmp eax, 0x270f0001
je 0x1801e4600
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x50]
mov edx, esi
mov ecx, esi
test rdi, rdi
je 0x1801e4391
mov rax, rsi
cmp rax, rdi
jae 0x1801e437f
shl rax, 6
add rax, rbp
jmp 0x1801e4382
mov rax, rsi
cmp dword [rax], esi
jne 0x1801e4388
inc edx
inc ecx
mov eax, ecx
cmp rax, rdi
jb 0x1801e4371
cmp ebx, edx
ja 0x1801e439f
mov edi, 1
jmp 0x1801e4643
mov r12d, esi
test rdi, rdi
je 0x1801e440e
mov rbx, rsi
nop word [rax + rax]
cmp rbx, rdi
jae 0x1801e43be
shl rbx, 6
add rbx, rbp
jmp 0x1801e43c1
mov rbx, rsi
cmp dword [rbx], esi
jne 0x1801e4403
mov rdx, qword [rbx + 0x20]
mov rcx, r13
movzx r8d, byte [rdx + 0xd8]
mov rdx, qword [rdx + 0xd0]
call fcn.1801e93e0
test al, al
je 0x1801e442f
mov rdx, qword [rbx + 0x28]
mov rcx, r13
movzx r8d, byte [rdx + 0xd8]
mov rdx, qword [rdx + 0xd0]
call fcn.1801e93e0
test al, al
je 0x1801e442f
inc r12d
mov ebx, r12d
cmp rbx, rdi
jb 0x1801e43b0
or r14, 0xffffffffffffffff
mov r12d, esi
test rdi, rdi
je 0x1801e45dd
mov rbx, rsi
cmp rbx, rdi
jae 0x1801e4439
shl rbx, 6
add rbx, rbp
jmp 0x1801e443c
mov edi, 1
jmp 0x1801e4643
mov rbx, rsi
cmp dword [rbx], esi
jne 0x1801e45ce
mov eax, dword [r13 + 0xa4]
mov r8, qword [r15 + 0xd078]
lea rdx, [rsp + 0x1c8]
mov dword [rsp + 0x28], eax
xor r9d, r9d
mov rcx, r15
mov dword [rsp + 0x20], esi
call fcn.18019f030
mov edi, eax
test eax, eax
js 0x1801e463e
mov r9, qword [rbx + 8]
cmp r9, 0xffffffffffffffff
jne 0x1801e4488
mov r9, qword [r13 + 0x100]
mov r8d, dword [rbx + 0x10]
mov rax, qword [rsp + 0x1c0]
lea rdx, [rsp + 0x1b8]
mov qword [rsp + 0x30], rax
and r8d, 0xfff00001
mov rcx, r15
or r8d, 1
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
call fcn.18019f360
mov edi, eax
test eax, eax
js 0x1801e463e
mov rcx, qword [rsp + 0x1b8]
mov rbp, qword [rsp + 0x1c8]
mov rax, qword [rcx + 0x28]
mov qword [rax], rbp
mov rdx, qword [rcx + 0x18]
mov rax, qword [rbx + 0x20]
mov qword [rdx], rax
mov rdx, qword [rcx + 0x18]
mov rax, qword [rbx + 0x28]
mov qword [rdx + 8], rax
call fcn.1800f52b0
cmp r14, 0xffffffffffffffff
je 0x1801e45c1
mov eax, dword [r13 + 0xa4]
mov r8, qword [r15 + 0xd078]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x28], eax
xor r9d, r9d
mov rcx, r15
mov dword [rsp + 0x20], esi
call fcn.18019f030
mov edi, eax
test eax, eax
js 0x1801e463e
test byte [r15 + 0xcefb], 0x10
mov r9, qword [r13 + 0x100]
mov eax, 0x22d00001
mov r8d, 0x20400001
lea rdx, [rsp + 0x48]
mov rcx, r15
cmovne r8d, eax
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
call fcn.18019f360
mov edi, eax
test eax, eax
js 0x1801e463e
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x28]
mov qword [rax], rbx
mov rax, qword [rcx + 0x18]
mov qword [rax], r14
mov rax, qword [rcx + 0x18]
mov qword [rax + 8], rbp
call fcn.1800f52b0
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x50]
mov r14, rbx
jmp 0x1801e45ce
mov rdi, qword [rsp + 0x60]
mov r14, rbp
mov rbp, qword [rsp + 0x50]
inc r12d
mov ebx, r12d
cmp rbx, rdi
jb 0x1801e4421
mov rax, qword [r14 + 0x100]
mov rcx, qword [rax + 0x28]
mov qword [rcx], r13
mov rcx, qword [r14 + 0x100]
call fcn.1800f52b0
mov rbp, qword [rsp + 0x50]
mov edi, esi
jmp 0x1801e4643
movzx r9d, byte [r15 + 0xcefb]
mov rdx, r15
mov rcx, r13
shr r9d, 2
mov ebx, eax
not r9d
and r9d, 4
cmp eax, 0x270f0000
sete r8b
call fcn.180109f30
mov rbp, qword [rsp + 0x50]
mov edi, eax
test eax, eax
cmovns edi, ebx
jmp 0x1801e4643
mov edi, 1
jmp 0x1801e4643
mov rbp, qword [rsp + 0x50]
mov r12, qword [rsp + 0x188]
mov rbx, qword [rsp + 0x1b0]
mov r14, qword [rsp + 0x178]
mov r15, qword [rsp + 0x170]
mov r13, qword [rsp + 0x180]
mov qword [rsp + 0x60], rsi
cmp byte [rsp + 0x68], sil
je 0x1801e469d
test rbp, rbp
je 0x1801e469d
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1801e468f
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
mov rcx, qword [rsi]
mov r8, rbp
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, edi
add rsp, 0x190
pop rdi
pop rsi
pop rbp
ret