Function at 0x2e3c3c2d0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r12
push rdi
push rsi
push rbx
sub rsp, 0x88
movaps xmmword [rsp + 0x70], xmm6
movd xmm6, edx
movd xmm0, r8d
mov rbx, rcx
mov edi, edx
mov esi, r8d
punpckldq xmm6, xmm0
test rcx, rcx
je 0x2e3c3c468
test edi, edi
js 0x2e3c3c390
test esi, esi
js 0x2e3c3c370
mov r9d, dword [0x2e3f340c0]
test r9d, r9d
je 0x2e3c3c350
mov rcx, qword [rbx + 0x50]
lea r12, [rbx + 0x34]
movq qword [rbx + 0x34], xmm6
test rcx, rcx
je 0x2e3c3c490
cmp rbx, qword [rcx + 0x90]
je 0x2e3c3c3b0
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop r12
ret
movaps xmm6, xmmword [rsp + 0x70]
xor edx, edx
mov ecx, 0x10001
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop r12
jmp fcn.2e3c320f0
mov r8d, 0x23c
lea rdx, [0x2e3e6f618]
lea rcx, [0x2e3e6fc6a]
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3c3c30b
mov r8d, 0x23b
lea rdx, [0x2e3e6f618]
lea rcx, [0x2e3e6fc54]
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3c3c307
mov r8d, dword [0x2e3f3579c]
test r8d, r8d
je 0x2e3c3c5c0
mov rdx, r12
call fcn.2e3c3bfd0
mov rax, qword [rbx + 0x50]
lea rdx, [rsp + 0x40]
mov qword [rax + 0x90], rbx
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x40], 0x28
mov rcx, qword [rax + 0x100]
call qword [sym.imp.USER32.dll_GetMonitorInfoW]
mov eax, dword [rsp + 0x50]
sub eax, dword [rsp + 0x48]
mov dword [rsp + 0x30], 0x114
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x4c]
mov rdx, 0xffffffffffffffff
sub eax, dword [rsp + 0x44]
mov rcx, qword [rbx + 0x358]
mov r9d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x2e3c3c336
mov r8d, 0x23a
lea rdx, [0x2e3e6f618]
lea rcx, [0x2e3e6e546]
call qword [sym.imp.msvcrt.dll__wassert]
jmp 0x2e3c3c2ff
mov ecx, 0x3839
movq qword [rsp + 0x48], xmm6
mov qword [rsp + 0x40], 0
call fcn.2e3c387e0
test eax, eax
je 0x2e3c3c520
mov rsi, qword [0x2e3f365d0]
mov rcx, qword [rbx + 0x358]
call qword [0x2e3f365c8]
cmp qword [rbx + 0x50], 0
mov r9d, 0x40008
mov edx, 0x86000000
je 0x2e3c3c580
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x40]
xor r8d, r8d
call rsi
mov eax, dword [rsp + 0x4c]
sub eax, dword [rsp + 0x44]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x48]
xor edx, edx
sub eax, dword [rsp + 0x40]
mov dword [rsp + 0x30], 0x216
mov dword [rsp + 0x20], eax
mov rcx, qword [rbx + 0x358]
call qword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x2e3c3c336
cmp qword [rbx + 0x50], 0
mov r9d, 0x40008
mov edx, 0x86000000
je 0x2e3c3c548
lea rcx, [rsp + 0x40]
xor r8d, r8d
call qword [sym.imp.USER32.dll_AdjustWindowRectEx]
jmp 0x2e3c3c4e5
cmp dword [rbx + 0x14], 1
mov eax, dword [rbx + 0xc]
mov edx, 0x860a0000
sbb r9d, r9d
and r9d, 0xfffffff8
add r9d, 0x40008
test eax, eax
je 0x2e3c3c532
cmp dword [rbx + 8], 1
sbb edx, edx
and edx, 0xfffb0000
add edx, 0x6cf0000
jmp 0x2e3c3c532
cmp dword [rbx + 0x14], 1
mov ecx, dword [rbx + 0xc]
mov edx, 0x860a0000
sbb r9d, r9d
and r9d, 0xfffffff8
add r9d, 0x40008
test ecx, ecx
je 0x2e3c3c4d7
cmp dword [rbx + 8], 1
sbb edx, edx
and edx, 0xfffb0000
add edx, 0x6cf0000
jmp 0x2e3c3c4d7
mov ecx, 0x80000002
call qword [sym.imp.KERNEL32.dll_SetThreadExecutionState]
xor r9d, r9d
xor edx, edx
mov ecx, 0x5e
mov rsi, qword [sym.imp.USER32.dll_SystemParametersInfoW]
lea r8, [0x2e3f3655c]
call rsi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0x5d
call rsi
mov rcx, qword [rbx + 0x50]
cmp qword [rcx + 0x90], 0
jne 0x2e3c3c3c0
add dword [0x2e3f3579c], 1
mov rcx, qword [rbx + 0x50]
jmp 0x2e3c3c3c0