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

Disassembly:
mov rax, rsp
push rsi
push rdi
push r14
sub rsp, 0x30
mov qword [rax - 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rdi, rcx
lea rbx, [rcx - 0x10]
mov r9, qword [rbx]
mov r8, qword [r9]
lea rdx, [rax + 8]
mov rcx, rbx
call fcn.140044af4
mov rcx, qword [rbx]
call fcn.140261814
mov rcx, qword [rdi - 0x18]
xor esi, esi
test rcx, rcx
je 0x140043ef1
mov qword [rdi - 0x18], rsi
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140118f85.0]
nop
mov rcx, qword [rdi - 0x20]
test rcx, rcx
je 0x140043f0c
mov qword [rdi - 0x20], rsi
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140118f85.0]
nop
mov rcx, qword [rdi - 0x28]
test rcx, rcx
je 0x140043f27
mov qword [rdi - 0x28], rsi
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140118f85.0]
nop
mov ecx, dword [rdi - 0x30]
cmp byte [rdi - 0x2c], sil
je 0x140043f38
call qword [sym.imp.KERNEL32.dll_FlsGetValue]
jmp 0x140043f3f
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
nop
mov rbx, rax
mov r14d, 7
test rax, rax
je 0x140043f80
mov rcx, rax
call fcn.140044d20
mov rcx, rbx
call fcn.140261814
xor edx, edx
mov ecx, dword [rdi - 0x30]
cmp byte [rdi - 0x2c], sil
je 0x140043f70
call qword [sym.imp.KERNEL32.dll_FlsSetValue]
jmp 0x140043f77
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
test eax, eax
jne 0x140043f80
mov rcx, r14
int 0x29
mov ecx, dword [rdi - 0x30]
cmp byte [rdi - 0x2c], sil
je 0x140043f91
call qword [sym.imp.KERNEL32.dll_FlsFree]
jmp 0x140043f98
call qword [sym.imp.KERNEL32.dll_TlsFree]
nop
mov rcx, qword [rdi - 0x38]
test rcx, rcx
je 0x140043fb3
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x140118f85.0]
nop
mov rbx, qword [rdi - 0x40]
or ebp, 0xffffffff
test rbx, rbx
je 0x140043ff5
mov eax, ebp
lock xadd dword [rbx + 8], eax
add eax, ebp
jne 0x140043ff5
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140118f85.0]
mov eax, ebp
lock xadd dword [rbx + 0xc], eax
add eax, ebp
jne 0x140043ff5
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
mov rbx, qword [rdi - 0x50]
test rbx, rbx
je 0x140044034
mov eax, ebp
lock xadd dword [rbx + 8], eax
add eax, ebp
jne 0x140044034
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140118f85.0]
mov eax, ebp
lock xadd dword [rbx + 0xc], eax
add eax, ebp
jne 0x140044034
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
mov rbx, qword [rdi - 0x60]
test rbx, rbx
je 0x140044073
mov eax, ebp
lock xadd dword [rbx + 8], eax
add eax, ebp
jne 0x140044073
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140118f85.0]
mov eax, ebp
lock xadd dword [rbx + 0xc], eax
add eax, ebp
jne 0x140044073
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
mov rbx, qword [rdi - 0x70]
test rbx, rbx
je 0x1400440b2
mov eax, ebp
lock xadd dword [rbx + 8], eax
add eax, ebp
jne 0x1400440b2
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140118f85.0]
mov eax, ebp
lock xadd dword [rbx + 0xc], eax
add eax, ebp
jne 0x1400440b2
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
mov rbx, qword [rdi - 0x80]
test rbx, rbx
je 0x1400440f1
mov eax, ebp
lock xadd dword [rbx + 8], eax
add eax, ebp
jne 0x1400440f1
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140118f85.0]
mov eax, ebp
lock xadd dword [rbx + 0xc], eax
add eax, ebp
jne 0x1400440f1
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
mov rax, qword [rdi - 0x90]
cmp rax, 8
jb 0x14004412f
mov rcx, qword [rdi - 0xa8]
lea rax, [rax*2 + 2]
cmp rax, 0x1000
jb 0x140044129
mov rdx, qword [rcx - 8]
sub rcx, rdx
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140044157
mov rcx, rdx
call fcn.140261814
nop
mov qword [rdi - 0x98], rsi
mov qword [rdi - 0x90], r14
mov word [rdi - 0xa8], si
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret
call fcn.140261a5c
nop
jmp 0x140044160
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov rax, rsp
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1403bf028]
xor rax, rsp
mov qword [rbp - 8], rax
mov rdi, rcx
mov edx, dword [rcx + 0x10]
or r14d, 0xffffffff
cmp edx, r14d
je 0x1400443b7
lea rcx, [rbp - 0x28]
call 0x1400443d4
mov rdx, rax
lea rcx, [rdi + 0x18]
call fcn.14000b27c
mov rax, qword [rbp - 0x10]
cmp rax, 8
jb 0x140044203
lea rax, [rax*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rdx, rcx
cmp rax, 0x1000
jb 0x1400441fd
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
ja 0x1400443c9
call fcn.140261814
nop
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x1400443a7
mov rax, qword [rcx]
mov r8, rdi
lea rdx, [rbp - 0x60]
mov rax, qword [rax + 0x18]
call qword [case.0x140118f85.0]
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x58]
and qword [rbp - 0x60], 0
xor ebx, ebx
mov qword [rbp - 0x58], rbx
mov qword [rdi + 0x38], rax
mov qword [rbp - 0x48], rcx
mov rsi, qword [rdi + 0x40]
mov qword [rdi + 0x40], rcx
test rsi, rsi
je 0x14004428d
mov eax, r14d
lock xadd dword [rsi + 8], eax
add eax, r14d
jne 0x140044289
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax]
call qword [case.0x140118f85.0]
mov eax, r14d
lock xadd dword [rsi + 0xc], eax
add eax, r14d
jne 0x140044289
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
mov rbx, qword [rbp - 0x58]
test rbx, rbx
je 0x1400442d1
mov eax, r14d
lock xadd dword [rbx + 8], eax
add eax, r14d
jne 0x1400442d1
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140118f85.0]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
add eax, r14d
jne 0x1400442d1
nop dword [rax + rax]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
mov rdx, rdi
lea rcx, [rbp - 0x38]
call fcn.140045030
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
and qword [rax], 0
and qword [rax + 8], 0
mov qword [rdi + 0x48], rcx
mov qword [rbp - 0x40], rdx
mov rbx, qword [rdi + 0x50]
mov qword [rdi + 0x50], rdx
test rbx, rbx
je 0x14004433c
mov eax, r14d
lock xadd dword [rbx + 8], eax
add eax, r14d
jne 0x14004433c
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140118f85.0]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
add eax, r14d
jne 0x14004433c
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
mov rbx, qword [rbp - 0x30]
test rbx, rbx
je 0x14004437f
mov eax, r14d
lock xadd dword [rbx + 8], eax
add eax, r14d
jne 0x14004437f
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140118f85.0]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
add eax, r14d
jne 0x14004437f
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
mov byte [rdi + 0x14], 1
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1402361b0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
xor edx, edx
mov ecx, 0x285f310
call fcn.140025d34
nop
jmp 0x1400443b6
nop
xor edx, edx
mov ecx, 0x285f30f
call fcn.140025d34
nop
jmp 0x1400443c8
nop
call fcn.140261a5c
nop
jmp 0x1400443d2
nop
nop
push rdi
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rsi
movsxd rdi, edx
mov rbx, rcx
xor esi, esi
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], 7
mov word [rcx], si
lea rdx, str.Unknown_App
call fcn.14000b3a4
cmp edi, 0x44
ja 0x140044426
lea rcx, [rdi + rdi*4]
lea rax, [0x1402d6fa0]
lea rdx, [rax + rcx*8]
jmp 0x140044429
mov rdx, rsi
test rdx, rdx
je 0x140044434
mov rdx, qword [rdx + 8]
jmp 0x140044457
lea r9, str.Utils.cpp___GetAppName___Could_not_get_current_appinfo.
mov edx, 0x43b
mov ecx, 0x28496d9
mov r8d, 0x32
call fcn.140143574
lea rdx, str.Unknown_App
mov rcx, rbx
call fcn.14000b3a4
mov r9, rbx
cmp qword [rbx + 0x18], 8
jb 0x14004446c
mov r9, qword [rbx]
mov rcx, rbx
jb 0x140044474
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
lea r8, [rcx + rax*2]
mov rdx, rbx
jb 0x140044484
mov rdx, qword [rbx]
lea rcx, [rsp + 0x50]
call fcn.14003ce30
mov rax, rbx
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret