Function at 0x1400144cc
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x7e0
mov rax, qword [0x14002c298]
xor rax, rsp
mov qword [rsp + 0x7d8], rax
mov r14, rdx
mov esi, ecx
lea rbx, str..OCP
mov rdx, rbx
mov r13d, 1
mov ecx, r13d
call qword [sym.imp.msvcrt.dll__wsetlocale]
nop dword [rax + rax]
mov rdx, rbx
lea ecx, [r13 + 2]
call qword [sym.imp.msvcrt.dll__wsetlocale]
nop dword [rax + rax]
mov rdx, rbx
lea edi, [r13 + 3]
mov ecx, edi
call qword [sym.imp.msvcrt.dll__wsetlocale]
nop dword [rax + rax]
mov rdx, rbx
lea ecx, [rdi + 1]
call qword [sym.imp.msvcrt.dll__wsetlocale]
nop dword [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
nop dword [rax + rax]
mov r9d, eax
lea r8, [0x140025980]
lea edx, [rdi + 4]
lea rcx, [rsp + 0x7c0]
call qword [sym.imp.msvcrt.dll_swprintf_s]
nop dword [rax + rax]
lea rdx, [rsp + 0x7c0]
lea ebx, [rdi - 2]
mov ecx, ebx
call qword [sym.imp.msvcrt.dll__wsetlocale]
nop dword [rax + rax]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetThreadUILanguage]
nop dword [rax + rax]
xor r9d, r9d
xor r8d, r8d
mov edx, r13d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapSetInformation]
nop dword [rax + rax]
nop
mov ecx, r13d
call fcn.140002378
mov qword [0x14002d368], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
nop dword [rax + rax]
mov qword [0x14002d148], rax
mov dword [rsp + 0x58], 0x107bc
mov qword [rsp + 0x5c], 0x20002
xor r12d, r12d
mov dword [rsp + 0x64], r12d
lea rdx, [0x14002d588]
lea rcx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
nop dword [rax + rax]
mov dword [rsp + 0x50], ebx
mov r9d, edi
lea r8, [rsp + 0x50]
lea edx, [rdi + 0x23]
or rcx, 0xffffffffffffffff
call qword [sym.imp.ntdll.dll_NtSetInformationProcess]
nop dword [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
nop dword [rax + rax]
mov r8d, eax
xor edx, edx
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_OpenProcess]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
je 0x1400146f7
lea r8, [rsp + 0x40]
lea edx, [rbx + 0x26]
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
nop dword [rax + rax]
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
test ebx, ebx
je 0x1400146f7
lea rdx, str.SeBackupPrivilege
mov rcx, qword [rsp + 0x40]
call fcn.140011034
mov dword [0x14002d874], eax
lea rdx, str.SeRestorePrivilege
mov rcx, qword [rsp + 0x40]
call fcn.140011034
mov dword [0x14002d870], eax
lea rdx, str.SeSecurityPrivilege
mov rcx, qword [rsp + 0x40]
call fcn.140011034
mov dword [0x14002d878], eax
lea rdx, str.SeTakeOwnershipPrivilege
mov rcx, qword [rsp + 0x40]
call fcn.140011034
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
cmp qword [0x14002d148], r12
jne 0x14001472d
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
mov r8d, eax
mov edx, eax
lea rcx, str._nError__d__0x_08X____This_Program_Requires_Windows_NT_n
call qword [sym.imp.msvcrt.dll_wprintf]
nop dword [rax + rax]
mov eax, ebx
jmp 0x140014c6f
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
nop dword [rax + rax]
mov r15d, eax
mov ecx, eax
or ecx, 0x8001
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
nop dword [rax + rax]
mov ebx, 0xa8
mov ecx, ebx
call fcn.1400016a0
test rax, rax
je 0x14001476d
mov rcx, rax
call fcn.140019020
jmp 0x140014770
mov rax, r12
mov qword [0x14002d370], rax
mov rcx, rbx
call fcn.1400016a0
test rax, rax
je 0x14001478e
mov rcx, rax
call fcn.140019020
jmp 0x140014791
mov rax, r12
mov qword [0x14002cb18], rax
mov ebx, 0x10
mov rdx, r14
mov ecx, esi
call fcn.1400033e0
test eax, eax
je 0x140014bc8
mov ebx, r12d
cmp dword [0x14002d378], r12d
je 0x1400147cd
mov edx, r13d
mov ecx, 0xe
call fcn.1400182bc
jmp 0x140014bc8
call fcn.140011e4c
mov qword [0x14002d688], r12
mov qword [0x14002d690], r12
mov qword [0x14002d650], r12
mov qword [0x14002d658], r12
mov qword [0x14002d678], r12
mov qword [0x14002d680], r12
mov qword [0x14002d640], r12
mov qword [0x14002d648], r12
mov qword [0x14002d698], r12
mov qword [0x14002d6a0], r12
mov qword [0x14002d6c0], r12
mov qword [0x14002d6c8], r12
mov qword [0x14002d630], r12
mov qword [0x14002d638], r12
mov qword [0x14002d6a8], r12
mov qword [0x14002d6b0], r12
cmp dword [0x14002d810], r12d
je 0x140014894
call fcn.14000cf18
test eax, eax
je 0x140014865
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x140014c6f
mov dword [0x14002d904], r13d
cmp dword [0x14002d810], r12d
je 0x140014894
mov ecx, dword [0x14002c300]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
nop dword [rax + rax]
test rax, rax
cmove rax, qword [0x1400240d0]
jmp 0x14001489b
mov rax, qword [0x1400240d0]
mov rcx, rax
call fcn.140018fc8
cmp dword [0x14002d810], r12d
jne 0x1400148b5
mov rcx, qword [0x1400240d8]
jmp 0x1400148d7
mov ecx, dword [0x14002c300]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
nop dword [rax + rax]
test rax, rax
mov rcx, qword [0x1400240d8]
je 0x1400148d7
lea rcx, [rax + 8]
call fcn.140018fc8
cmp dword [0x14002d810], r12d
jne 0x1400148ee
mov rcx, qword [0x1400240e0]
jmp 0x140014910
mov ecx, dword [0x14002c300]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
nop dword [rax + rax]
test rax, rax
mov rcx, qword [0x1400240e0]
je 0x140014910
lea rcx, [rax + 0x10]
call fcn.140018fc8
cmp dword [0x14002d810], r12d
jne 0x140014927
mov rcx, qword [0x1400240e0]
jmp 0x140014949
mov ecx, dword [0x14002c300]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
nop dword [rax + rax]
test rax, rax
mov rcx, qword [0x1400240e0]
je 0x140014949
lea rcx, [rax + 0x10]
call fcn.140018eac
add dword [0x14002d688], r13d
mov r14, qword [0x14002d370]
mov dword [rsp + 0x54], r12d
lea rdx, [rsp + 0x48]
mov rcx, r14
call fcn.14001d14c
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x2200080
mov eax, 3
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, eax
mov edx, 0x80000000
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
nop dword [rax + rax]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x140014a44
mov ecx, 0x4000
call qword [sym.imp.msvcrt.dll_malloc]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
je 0x140014a35
mov qword [rsp + 0x38], r12
lea rax, [rsp + 0x54]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x4000
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
mov edx, 0x900a8
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
nop dword [rax + rax]
test eax, eax
je 0x140014a26
lea rdx, [rsp + 0x68]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
nop dword [rax + rax]
test eax, eax
je 0x140014a26
mov eax, dword [rsp + 0x68]
mov dword [r14 + 0x18], eax
mov eax, dword [rdi]
mov dword [r14 + 0x1c], eax
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_free]
nop dword [rax + rax]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140014a74
mov rcx, qword [rdx]
mov rax, qword [rcx]
movabs r10, 0xee98078a7ad38370
mov rax, qword [rax + 8]
call qword [0x1400249b8]
mov rdx, qword [0x14002cb18]
mov dword [rdx + 0x8c], r13d
mov qword [rsp + 0x20], r12
mov r9d, r13d
mov r8d, dword [0x14002dabc]
mov rcx, qword [0x14002d370]
call fcn.1400125cc
mov eax, dword [0x14002d810]
test eax, eax
je 0x140014ace
call fcn.140011f58
test eax, eax
je 0x140014ac1
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x140014c6f
add dword [0x14002d650], r13d
mov eax, dword [0x14002d810]
cmp qword [0x14002d648], r12
jne 0x140014ae9
cmp dword [0x14002d644], r12d
jne 0x140014ae9
cmp dword [0x14002d640], r12d
je 0x140014aec
add ebx, 8
cmp qword [0x14002d6a0], r12
jne 0x140014b07
cmp dword [0x14002d69c], r12d
jne 0x140014b07
cmp dword [0x14002d698], r12d
je 0x140014b0a
add ebx, 4
cmp qword [0x14002d6c8], r12
jne 0x140014b25
cmp dword [0x14002d6c4], r12d
jne 0x140014b25
cmp dword [0x14002d6c0], r12d
je 0x140014b28
add ebx, 2
cmp qword [0x14002d658], r12
jne 0x140014b3a
cmp dword [0x14002d654], r12d
je 0x140014b3d
add ebx, r13d
test eax, eax
jne 0x140014b4a
mov rcx, qword [0x1400240e0]
jmp 0x140014b6c
mov ecx, dword [0x14002c300]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
nop dword [rax + rax]
test rax, rax
mov rcx, qword [0x1400240e0]
je 0x140014b6c
lea rcx, [rax + 0x10]
call fcn.140018f18
cmp dword [0x14002d7b8], r12d
je 0x140014b86
xor edx, edx
mov ecx, r13d
call fcn.1400182bc
jmp 0x140014bad
lea rcx, [rsp + 0xa0]
call fcn.140014d24
lea rcx, [rsp + 0xa0]
call fcn.140015a94
lea rcx, [rsp + 0xa0]
call fcn.140014e98
cmp dword [0x14002d810], r12d
je 0x140014bbb
call fcn.14000b270
call fcn.14000d648
test eax, eax
jne 0x1400147d2
mov rcx, qword [0x14002cb18]
call fcn.14000b144
mov rcx, qword [0x14002d370]
call fcn.14000b144
cmp qword [0x14002c4b0], r12
jne 0x140014c44
mov ecx, r13d
call fcn.140002378
mov rcx, qword [0x14002d368]
cmp rcx, rax
je 0x140014c18
call qword [sym.imp.msvcrt.dll_fclose]
nop dword [rax + rax]
mov ecx, r13d
call fcn.140002378
mov qword [0x14002d368], rax
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
nop dword [rax + rax]
mov rcx, qword [0x14002c2f8]
cmp rcx, 0xffffffffffffffff
je 0x140014c40
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov eax, ebx
jmp 0x140014c6f
lea rcx, [0x14002c4a0]
call fcn.140002660
mov rdi, rax
test rax, rax
je 0x140014be0
mov rcx, rax
call fcn.140020d00
mov rcx, rdi
call fcn.1400016e0
jmp 0x140014be0
mov rcx, qword [rsp + 0x7d8]
xor rcx, rsp
call fcn.140001a50
lea r11, [rsp + 0x7e0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret