Function at 0x2e3c32eb0
Capabilities:
Get thread local storage value

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x60
lea rax, [0x2e3e6e6d9]
lea rdi, [0x2e3e6e6cb]
movq xmm1, rax
movq xmm0, rdi
mov eax, dword [rdx + 4]
punpcklqdq xmm0, xmm1
mov dword [rcx + 0x20c], eax
mov rsi, rcx
mov rbp, rdx
mov dword [rcx + 0x208], 0x30001
cmp dword [0x2e3f356ec], 1
mov qword [rsp + 0x58], 0
movups xmmword [rsp + 0x48], xmm0
je 0x2e3c32f24
mov r8d, 0x40
lea rdx, [0x2e3e6e068]
lea rcx, [0x2e3e6e190]
call qword [sym.imp.msvcrt.dll__wassert]
mov ecx, dword [0x2e3f356f0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rsi
mov r14, rax
call fcn.2e3c32a10
lea rcx, [0x2e3e6e6e4]
call qword [rsi + 0x270]
lea rcx, [0x2e3e6e6f2]
mov qword [rsi + 0x240], rax
call qword [rsi + 0x270]
cmp qword [rsi + 0x240], 0
mov qword [rsi + 0x248], rax
je 0x2e3c330e8
test rax, rax
je 0x2e3c330e8
mov ecx, 0x1f02
call rax
mov r13, rax
test rax, rax
je 0x2e3c33270
lea rdi, [rsp + 0x40]
mov ebx, 0xd
lea r12, [0x2e3e6e6bd]
jmp 0x2e3c32fb8
mov r12, qword [rdi + 8]
add rdi, 8
test r12, r12
je 0x2e3c32fd7
mov rcx, r12
call sub.msvcrt.dll_strlen
mov rbx, rax
mov r8, rbx
mov rdx, r12
mov rcx, r13
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x2e3c32fa0
mov dword [rsi + 0x208], 0x30002
add r13, rbx
lea rax, [rsi + 0x218]
lea r9, [rsi + 0x214]
mov rcx, r13
mov qword [rsp + 0x20], rax
lea r8, [rsi + 0x210]
lea rdx, [0x2e3e6e77d]
call fcn.2e3c31bf0
mov r12d, eax
test eax, eax
je 0x2e3c330b8
mov eax, dword [rsi + 0x210]
mov r8d, dword [rbp + 8]
cmp eax, r8d
jl 0x2e3c33260
je 0x2e3c331f0
cmp eax, 2
jle 0x2e3c33120
lea rcx, [0x2e3e6e855]
call qword [rsi + 0x270]
mov qword [rsi + 0x238], rax
test rax, rax
je 0x2e3c330e8
cmp dword [rsi + 0x208], 0x30001
jne 0x2e3c33298
mov eax, dword [rsi + 0x210]
cmp eax, 2
jle 0x2e3c33139
lea rdx, [rsp + 0x3c]
mov ecx, 0x821e
call qword [rsi + 0x240]
mov eax, dword [rsp + 0x3c]
test al, 1
je 0x2e3c3308b
mov dword [rsi + 0x21c], 1
test al, 2
je 0x2e3c3334d
mov dword [rsi + 0x220], 1
test al, 8
je 0x2e3c330ab
mov dword [rsi + 0x224], 1
mov eax, dword [rsi + 0x210]
jmp 0x2e3c33130
cmp dword [rsi + 0x208], 0x30001
je 0x2e3c33240
lea rdx, str.No_version_found_in_OpenGL_ES_version_string
mov ecx, 0x10008
call fcn.2e3c320f0
mov rcx, r14
call fcn.2e3c32a10
jmp 0x2e3c33104
lea rdx, str.Entry_point_retrieval_is_broken
mov ecx, 0x10008
call fcn.2e3c320f0
mov rcx, r14
xor r12d, r12d
call fcn.2e3c32a10
mov eax, r12d
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
cmp dword [rsi + 0x208], 0x30001
jne 0x2e3c33298
cmp eax, 3
jg 0x2e3c332c0
cmp eax, 3
je 0x2e3c332b1
lea rcx, str.GL_ARB_robustness
call fcn.2e3c32c90
test eax, eax
je 0x2e3c3317c
lea rdx, [rsp + 0x3c]
mov ecx, 0x8256
call qword [rsi + 0x240]
mov eax, dword [rsp + 0x3c]
cmp eax, 0x8252
je 0x2e3c3338d
cmp eax, 0x8261
je 0x2e3c3333e
lea rcx, str.GL_KHR_context_flush_control
call fcn.2e3c32c90
test eax, eax
je 0x2e3c331b2
lea rdx, [rsp + 0x3c]
mov ecx, 0x82fb
call qword [rsi + 0x240]
mov eax, dword [rsp + 0x3c]
test eax, eax
jne 0x2e3c33301
mov dword [rsi + 0x230], 0x35002
lea rcx, [0x2e3e6e8cc]
call qword [rsi + 0x270]
mov ecx, 0x4000
call rax
mov eax, dword [rsi + 0x30]
test eax, eax
je 0x2e3c331d6
mov rcx, rsi
call qword [rsi + 0x258]
mov rcx, r14
mov r12d, 1
call fcn.2e3c32a10
jmp 0x2e3c33104
mov edx, dword [rsi + 0x214]
mov r9d, dword [rbp + 0xc]
cmp edx, r9d
jge 0x2e3c33024
nop dword [rax + rax]
cmp dword [rsi + 0x208], 0x30001
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], eax
je 0x2e3c332eb
lea rdx, str.Requested_OpenGL_ES_version__i._i__got_version__i._i
mov ecx, 0x10007
call fcn.2e3c320f0
jmp 0x2e3c330f9
lea rdx, str.No_version_found_in_OpenGL_version_string
mov ecx, 0x10008
call fcn.2e3c320f0
jmp 0x2e3c330d9
mov edx, dword [rsi + 0x214]
mov r9d, dword [rbp + 0xc]
jmp 0x2e3c33208
cmp dword [rbp], 0x30001
je 0x2e3c33377
lea rdx, str.OpenGL_ES_version_string_retrieval_is_broken
mov ecx, 0x10008
call fcn.2e3c320f0
jmp 0x2e3c330f9
lea rcx, str.GL_EXT_robustness
call fcn.2e3c32c90
test eax, eax
je 0x2e3c3317c
jmp 0x2e3c33152
cmp dword [rsi + 0x214], 1
jle 0x2e3c33142
nop
lea rdx, [rsp + 0x3c]
mov ecx, 0x9126
call qword [rsi + 0x240]
mov eax, dword [rsp + 0x3c]
test al, 2
jne 0x2e3c3332f
test al, 1
je 0x2e3c3331b
mov dword [rsi + 0x228], 0x32001
jmp 0x2e3c33142
lea rdx, str.Requested_OpenGL_version__i._i__got_version__i._i
mov ecx, 0x10007
call fcn.2e3c320f0
jmp 0x2e3c330f9
cmp eax, 0x82fc
jne 0x2e3c331b2
mov dword [rsi + 0x230], 0x35001
jmp 0x2e3c331b2
lea rcx, [0x2e3e6e876]
call fcn.2e3c32c90
test eax, eax
je 0x2e3c33142
mov dword [rsi + 0x228], 0x32002
jmp 0x2e3c33142
mov dword [rsi + 0x22c], 0x31001
jmp 0x2e3c3317c
lea rcx, [0x2e3e6e862]
call fcn.2e3c32c90
test eax, eax
je 0x2e3c3336e
mov edx, dword [rbp + 0x14]
test edx, edx
je 0x2e3c3336e
mov dword [rsi + 0x220], 1
mov eax, dword [rsp + 0x3c]
jmp 0x2e3c3309d
lea rdx, str.OpenGL_version_string_retrieval_is_broken
mov ecx, 0x10008
call fcn.2e3c320f0
jmp 0x2e3c330f9
mov dword [rsi + 0x22c], 0x31002
jmp 0x2e3c3317c