Function at 0x100070624
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x50
mov rdi, rdx
mov r13, rcx
xor esi, esi
mov rax, qword [rdi]
lea rdx, [rsp + 0x90]
mov rcx, rdi
call qword [rax + 0x30]
mov ebx, eax
test eax, eax
jne 0x1000708f4
mov eax, dword [rsp + 0x90]
sub eax, 1
je 0x100070673
cmp eax, 0xe
jne 0x1000708c9
dec esi
jmp 0x1000708c9
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0xa0]
test eax, eax
jne 0x1000708c9
mov rax, qword [rdi]
lea rdx, [rsp + 0x38]
xor r8d, r8d
mov rcx, rdi
inc esi
call qword [rax + 0x70]
mov ebx, eax
test eax, eax
js 0x1000708d7
cmp esi, 1
jne 0x1000708ae
mov rcx, qword [rsp + 0x38]
lea rdx, [0x100011630]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x1000708ae
mov rax, qword [rdi]
xor ebp, ebp
mov rcx, rdi
mov qword [rsp + 0x98], rbp
call qword [rax + 0x48]
test eax, eax
jne 0x100070784
test rbp, rbp
jne 0x100070751
mov rax, qword [rdi]
and qword [rsp + 0x30], rbp
lea rdx, [rsp + 0x30]
xor r8d, r8d
mov rcx, rdi
call qword [rax + 0x70]
test eax, eax
js 0x100070751
mov rcx, qword [rsp + 0x30]
lea rdx, [0x100011620]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x100070751
mov rax, qword [rdi]
lea rdx, [rsp + 0x40]
xor r8d, r8d
mov rcx, rdi
call qword [rax + 0x80]
mov ebx, eax
test eax, eax
js 0x100070762
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x98]
call fcn.10006c404
mov rbp, qword [rsp + 0x98]
mov ebx, eax
test eax, eax
js 0x100070762
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x48]
mov ebx, eax
test eax, eax
jne 0x10007077f
jmp 0x1000706e2
lea r8, [0x100011620]
lea rdx, [0x100011640]
mov r9, rdi
mov rcx, r13
mov dword [rsp + 0x20], ebx
call fcn.100074a04
test rbp, rbp
jne 0x1000707a6
lea r8, [0x10000c3f4]
lea rdx, [0x100011680]
mov ebx, 0x800403ef
mov r9, rdi
mov rcx, r13
mov dword [rsp + 0x20], ebx
call fcn.100074a04
and qword [rsp + 0x98], 0
test ebx, ebx
js 0x100070891
lea r9, [rsp + 0x98]
mov r8, rbp
mov rdx, rdi
mov rcx, r13
call fcn.100070a04
mov r12, qword [rsp + 0x98]
mov ebx, eax
test eax, eax
js 0x100070883
mov rax, qword [r12]
mov rdx, rbp
mov rcx, r12
call qword [rax + 0x38]
mov ebx, eax
test eax, eax
js 0x100070883
mov ecx, dword [0x1000de268]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x10007080d
mov rcx, qword [rax + 0x10]
jmp 0x10007080f
xor ecx, ecx
test rcx, rcx
je 0x10007087e
call fcn.10005a13c
mov rsi, rax
test rax, rax
je 0x10007087e
and dword [rax], 0xffffffcc
or dword [rax], 0xc
mov rdx, qword [r12]
mov rcx, r12
call qword [rdx + 0x10]
and dword [rsi], 0x3f
bts dword [rsi], 7
mov qword [rsi + 8], r12
mov rcx, qword [r13 + 0x88]
mov rdx, rsi
call fcn.100075000
mov ebx, eax
test eax, eax
jns 0x100070891
mov ecx, dword [rsi]
mov eax, ecx
and eax, 0xffffff80
cmp eax, 0xffffff80
je 0x100070891
mov eax, ecx
not ecx
and eax, 0xffffff80
and ecx, 0x7f
dec eax
xor eax, ecx
mov dword [rsi], eax
test eax, 0xffffff80
jne 0x100070891
mov rcx, rsi
call fcn.100059224
jmp 0x100070891
mov ebx, 0x8007000e
test r12, r12
je 0x100070891
mov rax, qword [r12]
mov rcx, r12
call qword [rax]
test rbp, rbp
je 0x1000708aa
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbp
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor esi, esi
jmp 0x1000708c9
mov r8, qword [rsp + 0x38]
lea rdx, [0x1000116e0]
mov r9, rdi
mov rcx, r13
mov dword [rsp + 0x20], ebx
call fcn.100074a04
test ebx, ebx
js 0x1000708d7
test esi, esi
jns 0x10007063c
jmp 0x1000708f4
lea r8, [0x10000c3f4]
lea rdx, [0x1000115d0]
mov r9, rdi
mov rcx, r13
mov dword [rsp + 0x20], ebx
call fcn.100074a04
mov eax, ebx
mov rbx, qword [rsp + 0x80]
add rsp, 0x50
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret