Function at 0x10001c660
Capabilities:
Get thread local storage value

Disassembly:
mov rax, qword [rcx]
lea edx, [r12 + 1]
call qword [rax]
mov qword [rbx + 0x128], r12
jmp 0x10001c6a0
mov rcx, qword [rdi]
call sub.gdiplus.dll_GdipDeleteGraphics
mov rcx, rdi
call sub.gdiplus.dll_GdipFree
mov qword [rbx + 0x130], r12
jmp 0x10001c6b0
mov rdi, r12
mov rax, qword [rbx + 0x108]
mov rbp, qword [rdi + rax]
cmp rbp, r12
je 0x10001bc69
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbp
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
inc esi
add rdi, 8
mov eax, esi
cmp rax, qword [rbx + 0x110]
jae 0x10001c6e0
jmp 0x10001bc45
call qword [sym.imp.KERNEL32.dll_LocalFree]
nop
jmp 0x10001c7c5
call qword [sym.imp.KERNEL32.dll_LocalFree]
nop
jmp 0x10001c7e2
mov qword [rbx + 0x110], r12
jmp 0x10001c6ed
mov qword [rsp + 8], rcx
push rsi
push rdi
push r12
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rbp
mov rbx, rcx
lea rax, [0x1000a9ab0]
mov qword [rcx], rax
mov rcx, qword [rcx + 0x128]
xor r12d, r12d
cmp rcx, r12
jne 0x10001bc10
mov rdi, qword [rbx + 0x130]
cmp rdi, r12
jne 0x10001bc26
mov rcx, qword [rbx + 0x138]
cmp rcx, r12
jne 0x100021ee4
mov rdi, qword [rbx + 0x140]
cmp rdi, r12
jne 0x100021ef6
mov esi, r12d
cmp qword [rbx + 0x110], r12
ja 0x10001bc42
cmp qword [rbx + 0x110], r12
jne 0x10001c64c
mov ebp, dword [rbx + 0x54]
call fcn.100001210
cmp al, r12b
je 0x10001c7a8
mov esi, r12d
mov rdi, r12
mov ecx, dword [0x1000da584]
cmp ecx, 0xffffffff
je 0x100021f16
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, rax
mov ecx, dword [0x1000da584]
mov eax, esi
cmp rax, qword [rdx + 0xb0]
jae 0x10001c7a8
cmp ecx, 0xffffffff
je 0x100021f1e
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [0x1000da584]
mov rax, qword [rax + 0xa8]
cmp dword [rax + rdi + 8], ebp
je 0x10001c757
inc esi
add rdi, 0x10
jmp 0x10001c70a
cmp ecx, 0xffffffff
je 0x100021f26
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov ecx, esi
lea rax, [rcx + 1]
cmp rax, rcx
jb 0x10001c7a8
mov r8, qword [rdi + 0xb0]
cmp rax, r8
ja 0x10001c7a8
sub r8, rcx
sub r8, 1
je 0x10001c7a1
shl rcx, 4
add rcx, qword [rdi + 0xa8]
lea rdx, [rcx + 0x10]
shl r8, 4
call sub.msvcrt.dll_memmove
dec qword [rdi + 0xb0]
cmp qword [rbx + 0x110], r12
jne 0x100021f2e
mov rcx, qword [rbx + 0x108]
cmp rcx, r12
jne 0x10001bc80
cmp qword [rbx + 0xf0], r12
jne 0x100021f3a
mov rcx, qword [rbx + 0xe8]
cmp rcx, r12
jne 0x10001bc8c
cmp qword [rbx + 0x90], r12
jne 0x100021f46
mov rcx, qword [rbx + 0x88]
cmp rcx, r12
jne 0x10001c80e
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rsi
ret
call qword [sym.imp.KERNEL32.dll_LocalFree]
nop
jmp 0x10001c7fb
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbx + 0x138], r12
jmp 0x10001c6c0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x140], r12
jmp 0x10001c6d0
mov rdx, r12
jmp 0x10001c722
mov rax, r12
jmp 0x10001c742
mov rdi, r12
jmp 0x10001c769
mov qword [rbx + 0x110], r12
jmp 0x10001c7b5
mov qword [rbx + 0xf0], r12
jmp 0x10001c7d2
mov qword [rbx + 0x90], r12
jmp 0x10001c7ef