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

Disassembly:
mov byte [rsp + 0x20], r9b
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2e0
mov qword [rsp + 0xb8], 0xfffffffffffffffe
movzx r13d, r8b
mov r12, rdx
mov rsi, rcx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x14009f33f
call qword [sym.imp.USER32.dll_SetForegroundWindow]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsi + 0x18]
call qword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x14009f703
lea rdi, [rsi + 0x40]
mov rax, qword [rdi + 8]
test rax, rax
jne 0x14009f354
xor r14d, r14d
mov r15d, r14d
jmp 0x14009f362
mov r15, qword [rdi + 0x10]
sub r15, rax
sar r15, 5
xor r14d, r14d
mov ebx, dword [rsp + 0x340]
test ebx, ebx
jns 0x14009f396
mov r9d, 0xbe
lea r8, str..winPropSheet.cxx
lea rdx, str.startPage___0
lea rcx, [rsp + 0xc0]
call fcn.140086ab0
mov rcx, rax
call fcn.140086a30
cmp ebx, r15d
jl 0x14009f3c4
mov r9d, 0xbf
lea r8, str..winPropSheet.cxx
lea rdx, str.startPage___count
lea rcx, [rsp + 0xc0]
call fcn.140086ab0
mov rcx, rax
call fcn.140086a30
mov byte [rsi + 0x6a], r13b
mov qword [rsi + 0x70], r12
mov rbx, qword [rdi + 8]
cmp rbx, qword [rdi + 0x10]
jbe 0x14009f3e0
call fcn.14011ef50
nop
nop
mov r12, qword [rdi + 0x10]
cmp qword [rdi + 8], r12
jbe 0x14009f3ef
call fcn.14011ef50
cmp rdi, rdi
je 0x14009f3f9
call fcn.14011ef50
cmp rbx, r12
je 0x14009f426
cmp rbx, qword [rdi + 0x10]
jb 0x14009f409
call fcn.14011ef50
mov rax, qword [rsi]
mov rdx, rbx
mov rcx, rsi
call qword [rax + 0x28]
cmp rbx, qword [rdi + 0x10]
jb 0x14009f420
call fcn.14011ef50
add rbx, 0x20
jmp 0x14009f3e0
test r15d, r15d
je 0x14009f44e
movsxd rcx, r15d
mov eax, 8
mul rcx
mov r13, 0xffffffffffffffff
cmovo rax, r13
mov rcx, rax
call fcn.14011f040
mov rbx, rax
jmp 0x14009f451
mov rbx, r14
xor ecx, ecx
call fcn.14011e0c0
mov qword [rsp + 0xb0], rbx
mov r12, qword [rdi + 8]
cmp r12, qword [rdi + 0x10]
jbe 0x14009f470
call fcn.14011ef50
nop
mov r13, qword [rdi + 0x10]
cmp qword [rdi + 8], r13
jbe 0x14009f47f
call fcn.14011ef50
test rdi, rdi
je 0x14009f489
cmp rdi, rdi
je 0x14009f48e
call fcn.14011ef50
cmp r12, r13
je 0x14009f4c9
test rdi, rdi
jne 0x14009f49d
call fcn.14011ef50
cmp r12, qword [rdi + 0x10]
jb 0x14009f4a8
call fcn.14011ef50
movsxd rcx, r14d
mov rax, qword [r12 + 8]
mov qword [rbx + rcx*8], rax
add r14d, 1
cmp r12, qword [rdi + 0x10]
jb 0x14009f4c3
call fcn.14011ef50
add r12, 0x20
jmp 0x14009f470
mov dword [rsp + 0x50], 0x48
movzx eax, byte [rsi + 0x6b]
neg al
sbb ecx, ecx
and ecx, 0x20
mov eax, 0x80
cmp byte [rsp + 0x330], 0
mov r13d, 0
cmovne eax, r13d
or ecx, eax
or ecx, 0x500
mov dword [rsp + 0x54], ecx
lea rax, [0x14009ec00]
lea rcx, [0x14009ebe0]
cmp byte [rsp + 0x338], r13b
cmovne rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsi + 0x70]
mov qword [rsp + 0x58], rax
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x20], r13d
or r9d, 0xffffffff
mov r8d, 0xfde9
mov rdx, qword [rsi + 0x38]
lea rcx, [rsp + 0x40]
call fcn.14007bc10
nop
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], r15d
mov eax, dword [rsp + 0x340]
mov dword [rsp + 0x80], eax
mov qword [rsp + 0x88], rbx
mov rax, qword [rsi + 0x60]
test rax, rax
je 0x14009f589
mov qword [rsp + 0x68], rax
or dword [rsp + 0x54], 2
lea rcx, [rsp + 0x50]
call qword [sym.imp.COMCTL32.dll_PropertySheetW]
mov qword [rsi + 0x18], rax
test rax, rax
je 0x14009f697
cmp rax, 0xffffffffffffffff
je 0x14009f697
mov rdx, qword [rsi + 0x70]
test rdx, rdx
je 0x14009f5d5
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rcx, rsi
call fcn.14009ed80
mov r9, qword [rsi + 0x60]
test r9, r9
je 0x14009f5f9
mov edx, 0x80
lea r8d, [rdx - 0x7f]
mov rcx, qword [rsi + 0x18]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [rsi + 0x80]
mov rdx, qword [rsi + 0x18]
call fcn.1400949e0
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
mov rdx, qword [rsp + 0x328]
mov rcx, qword [rsi + 0x18]
call fcn.1400b50d0
mov edx, 5
mov rcx, qword [rsi + 0x18]
call qword [sym.imp.USER32.dll_ShowWindow]
mov r12, qword [rsi + 0x18]
mov ecx, reloc.WS2_32.dll_recv
call fcn.14011ecf0
mov rdi, rax
test rax, rax
je 0x14009f65d
mov ecx, dword [0x14023c080]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rdi], r12
mov qword [rdi + 8], rax
jmp 0x14009f660
mov rdi, r13
mov rdx, rdi
mov ecx, dword [0x14023c080]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov rcx, qword [rsi + 0x70]
test rcx, rcx
je 0x14009f681
xor edx, edx
call qword [sym.imp.USER32.dll_EnableWindow]
nop
mov rcx, qword [rsp + 0x40]
call fcn.14011e0c0
nop
mov rcx, rbx
call fcn.14011e0c0
nop
jmp 0x14009f703
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov byte [rsp + 0xc0], 0
or r9d, 0xffffffff
lea r8, str.PropertySheet_failed
mov edx, 0x100
lea rcx, [rsp + 0xc0]
call fcn.14007b3b0
mov edx, ebx
lea rcx, [rsp + 0xc0]
call fcn.14007f910
lea rcx, [rsp + 0x1d8]
lea rdx, [rsp + 0xc0]
mov r8d, 0x104
call fcn.14011e9b0
lea rdx, [0x14020b6e8]
lea rcx, [rsp + 0x1d8]
call fcn.14011f050
nop
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret