Function at 0x1000673b0
Capabilities:
Get thread local storage value

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
xor r15d, r15d
mov esi, r9d
mov edi, r8d
mov rbx, rdx
mov rbp, rcx
mov r13d, 1
movabs r12, 0x8000000000000001
cmp dword [0x1000e2d3c], r15d
je 0x100067453
mov al, byte [0x1000e2d40]
cmp byte [0x1000e2d00], r15b
je 0x100067415
cmp al, 4
jae 0x10006740a
cmp al, r15b
jne 0x100067453
test byte [0x1000e2d38], r13b
jne 0x100067439
jmp 0x100067453
cmp al, 4
jae 0x10006741e
cmp al, r15b
jne 0x100067453
test qword [0x1000e2d28], r12
je 0x100067453
mov rcx, qword [0x1000e2d30]
mov rax, rcx
and rax, r12
cmp rax, rcx
jne 0x100067453
mov rcx, qword [0x1000e2d10]
lea r8, [0x10000d2f8]
lea rdx, [0x10000d4f8]
call fcn.1000531fc
xor eax, eax
mov dword [rbx], eax
mov dword [rbx + 4], eax
test byte [rbp + 0x89], 0x40
je 0x100067b84
lea rdx, [0x100007668]
xor r8d, r8d
mov rcx, rbp
call fcn.100055880
mov r12, rax
mov ecx, dword [rax]
shl ecx, 0x1a
sar ecx, 0x1a
cmp ecx, 5
je 0x100067529
cmp ecx, 9
je 0x1000674af
cmp ecx, 0xb
jne 0x100067b4a
movzx eax, word [rax + 0x18]
mov dword [rbx], eax
movzx eax, word [r12 + 0x1a]
mov dword [rbx + 4], eax
jmp 0x100067b4a
mov rdi, qword [rsp + 0xe0]
mov rcx, rdi
mov rax, qword [rdi]
call qword [rax + 8]
cmp eax, r15d
jne 0x100067b43
cmp byte [r12 + 8], 6
jne 0x100067b43
mov rcx, qword [r12 + 0x10]
cmp rcx, r15
je 0x100067b43
lea rdx, [rsp + 0xc0]
call fcn.1000790a0
cmp eax, r15d
jl 0x100067b43
mov r9d, dword [r12 + 0x1c]
mov r8d, dword [r12 + 0x18]
mov rdx, qword [rdi + 8]
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r15
call qword [sym.imp.UxTheme.dll_GetThemePartSize]
jmp 0x100067b43
mov r14, qword [rax + 8]
mov qword [rsp + 0x40], r14
cmp r14, r15
je 0x100067b4a
lea rdx, [0x1000086e8]
xor r8d, r8d
mov rcx, rbp
mov dword [rsp + 0xc0], 0x800
call fcn.100055880
mov edx, dword [rax]
mov edi, dword [rax + 8]
mov ecx, edx
and ecx, 0xffffff80
cmp ecx, 0xffffff80
je 0x100067588
mov ecx, edx
not edx
and ecx, 0xffffff80
and edx, 0x7f
sub ecx, r13d
xor ecx, edx
mov dword [rax], ecx
test ecx, 0xffffff80
jne 0x100067588
mov rcx, rax
call fcn.100059224
lea rsi, [0x1000e1ec4]
cmp edi, r15d
je 0x10006761d
mov r13d, r15d
mov dword [rsp + 0xc0], r15d
jle 0x1000675bf
movzx edx, di
mov rcx, r14
call fcn.100064958
mov r14, rsi
cmp rax, r15
cmovne r14, rax
mov qword [rsp + 0x40], r14
mov rcx, rbp
call fcn.10005fb00
mov rsi, rax
cmp rax, r15
je 0x100067617
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x100]
mov rdx, qword [0x1000e2050]
mov rdi, qword [rax]
mov rcx, rax
call qword [rdi + 0x50]
cmp al, r15b
je 0x100067617
mov al, byte [rsi + 0xd2]
mov ecx, 1
shr al, 1
not al
test cl, al
mov eax, 0x100000
cmove r13d, eax
mov dword [rsp + 0xc0], r13d
mov r13, rcx
jmp 0x10006761d
mov r13d, 1
mov rdi, qword [rsp + 0xe0]
mov rcx, rdi
mov rax, qword [rdi]
call qword [rax + 8]
cmp eax, r15d
jne 0x100067b0a
mov r15, qword [rdi + 8]
mov ecx, dword [0x1000de19c]
xor eax, eax
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x60], rax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r14, rax
mov qword [rsp + 0x48], rax
mov eax, dword [rbp + 0x90]
mov dword [rsp + 0xc8], eax
test r14, r14
je 0x1000677e3
lea rdx, [0x1000078f0]
xor r8d, r8d
mov rcx, rbp
call fcn.100055880
mov edx, dword [rax]
mov r15d, dword [rax + 8]
mov ecx, edx
and ecx, 0xffffff80
cmp ecx, 0xffffff80
je 0x1000676b4
mov ecx, edx
not edx
and ecx, 0xffffff80
and edx, 0x7f
sub ecx, r13d
xor ecx, edx
mov dword [rax], ecx
test ecx, 0xffffff80
jne 0x1000676b4
mov rcx, rax
call fcn.100059224
lea rdx, [0x100007858]
xor r8d, r8d
mov rcx, rbp
call fcn.100055880
mov edx, dword [rax]
mov r14d, dword [rax + 8]
mov ecx, edx
and ecx, 0xffffff80
cmp ecx, 0xffffff80
je 0x1000676f7
mov ecx, edx
not edx
and ecx, 0xffffff80
and edx, 0x7f
sub ecx, r13d
xor ecx, edx
mov dword [rax], ecx
test ecx, 0xffffff80
jne 0x1000676f7
mov rcx, rax
call fcn.100059224
lea rdx, [0x1000077c0]
xor r8d, r8d
mov rcx, rbp
call fcn.100055880
mov edx, dword [rax]
mov r13d, dword [rax + 8]
mov ecx, edx
and ecx, 0xffffff80
cmp ecx, 0xffffff80
je 0x100067739
mov ecx, edx
not edx
and ecx, 0xffffff80
and edx, 0x7f
dec ecx
xor ecx, edx
mov dword [rax], ecx
test ecx, 0xffffff80
jne 0x100067739
mov rcx, rax
call fcn.100059224
mov rsi, qword [rbp + 0x98]
mov ecx, dword [rsi]
mov eax, ecx
and eax, 0xffffff80
cmp eax, 0xffffff80
je 0x10006775b
mov eax, ecx
and ecx, 0x7f
and eax, 0xffffff80
sub eax, 0xffffff80
xor eax, ecx
mov dword [rsi], eax
mov rax, qword [rbp + 0x98]
and dword [rsp + 0x30], 0
mov rdi, qword [rsp + 0x48]
mov rdi, qword [rdi]
mov r8d, dword [rsp + 0xc8]
mov rdx, qword [rax + 8]
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r14d
mov r14, qword [rsp + 0x48]
mov r9d, r13d
mov rcx, r14
call qword [rdi]
mov rdi, rax
mov eax, dword [rsi]
mov ecx, eax
and ecx, 0xffffff80
cmp ecx, 0xffffff80
je 0x1000677c1
mov edx, eax
not eax
and edx, 0xffffff80
and eax, 0x7f
dec edx
xor edx, eax
mov dword [rsi], edx
test edx, 0xffffff80
jne 0x1000677c1
mov rcx, rsi
call fcn.100059224
mov r15, qword [rsp + 0x50]
test rdi, rdi
je 0x1000677dc
mov rdx, rdi
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xc8]
cdq
xor r8d, r8d
mov rcx, rbp
mov esi, eax
xor r13d, r13d
xor esi, edx
sub esi, edx
lea rdx, [0x100008790]
call fcn.100055880
mov edx, dword [rax]
mov dil, byte [rax + 8]
mov ecx, edx
and ecx, 0xffffff80
cmp ecx, 0xffffff80
je 0x10006782f
mov ecx, edx
not edx
and ecx, 0xffffff80
and edx, 0x7f
dec ecx
xor ecx, edx
mov dword [rax], ecx
test ecx, 0xffffff80
jne 0x10006782f
mov rcx, rax
call fcn.100059224
test dil, dil
je 0x100067848
mov eax, 0x2aaaaaab
imul esi
mov r13d, edx
shr r13d, 0x1f
add r13d, edx
add r13d, r13d
test byte [rbp + 0x89], 0x80
jne 0x100067868
lea rdx, [0x100007b28]
xor r8d, r8d
mov rcx, rbp
call fcn.100055880
mov rcx, rax
jmp 0x10006786f
lea rcx, [0x100013d20]
mov edx, dword [rcx]
mov edi, dword [rcx + 8]
mov r8d, 1
mov eax, edx
and eax, 0xffffff80
cmp eax, 0xffffff80
je 0x1000678a7
mov eax, edx
not edx
and eax, 0xffffff80
and edx, 0x7f
sub eax, r8d
xor eax, edx
mov dword [rcx], eax
test eax, 0xffffff80
jne 0x1000678a7
call fcn.100059224
mov r8d, 1
test byte [rbp + 0x8c], 0x20
je 0x1000678c4
mov eax, edi
and eax, 3
jne 0x1000678bc
or edi, 2
jmp 0x1000678c4
cmp eax, 2
jne 0x1000678c4
and edi, 0xfffffffd
mov esi, dword [rsp + 0xc0]
test byte [rbp + 0x8a], r8b
jne 0x100067925
mov eax, esi
shr eax, 0xb
not al
test r8b, al
jne 0x100067925
test edi, 0x150
jne 0x100067925
bt edi, 9
jb 0x100067925
test byte [rbp + 0x8b], 0x20
jne 0x100067925
mov rsi, qword [rsp + 0x40]
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
mov r9, rbx
mov rdx, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, r8
mov r8, rcx
mov rcx, r15
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
jmp 0x100067a8c
mov eax, dword [rsp + 0xd0]
mov ecx, dword [rsp + 0xd8]
and dword [rsp + 0x50], 0
and dword [rsp + 0x54], 0
sub eax, r13d
mov dword [rsp + 0x5c], ecx
test eax, eax
mov edx, edi
mov rcx, rbp
cmovle eax, r8d
mov dword [rsp + 0x58], eax
call fcn.100067c18
mov ecx, 1
mov edi, eax
or edi, esi
bts edi, 0xa
test byte [rbp + 0x8a], cl
je 0x10006797a
or edi, 0x10
bt edi, 0xd
jb 0x10006797a
bts edi, 0x12
cmp dword [0x1000e2d3c], 0
je 0x1000679eb
cmp byte [0x1000e2d00], 0
mov al, byte [0x1000e2d40]
je 0x1000679a4
cmp al, 4
jae 0x10006799a
test al, al
jne 0x1000679eb
test byte [0x1000e2d38], cl
jne 0x1000679d1
jmp 0x1000679eb
cmp al, 4
jae 0x1000679ac
test al, al
jne 0x1000679eb
movabs rdx, 0x8000000000000001
test qword [0x1000e2d28], rdx
je 0x1000679eb
mov rcx, qword [0x1000e2d30]
mov rax, rcx
and rax, rdx
cmp rax, rcx
jne 0x1000679eb
mov rcx, qword [0x1000e2d10]
lea r8, [0x10000d318]
lea rdx, [0x10000d538]
call fcn.1000531fc
mov rsi, qword [rsp + 0x40]
lea r9, [rsp + 0x50]
or r8d, 0xffffffff
mov rcx, r15
mov rdx, rsi
mov dword [rsp + 0x20], edi
call qword [sym.imp.USER32.dll_DrawTextW]
cmp dword [0x1000e2d3c], 0
je 0x100067a7f
cmp byte [0x1000e2d00], 0
mov al, byte [0x1000e2d40]
je 0x100067a38
cmp al, 4
jae 0x100067a29
test al, al
jne 0x100067a7f
mov eax, 1
test byte [0x1000e2d38], al
jne 0x100067a65
jmp 0x100067a7f
cmp al, 4
jae 0x100067a40
test al, al
jne 0x100067a7f
movabs rdx, 0x8000000000000001
test qword [0x1000e2d28], rdx
je 0x100067a7f
mov rcx, qword [0x1000e2d30]
mov rax, rcx
and rax, rdx
cmp rax, rcx
jne 0x100067a7f
mov rcx, qword [0x1000e2d10]
lea r8, [0x10000d318]
lea rdx, [0x10000d548]
call fcn.1000531fc
mov eax, dword [rsp + 0x58]
mov dword [rbx], eax
mov eax, dword [rsp + 0x5c]
mov dword [rbx + 4], eax
test byte [rbp + 0x8b], 0x20
je 0x100067ade
lea rdx, [0x1000088a8]
xor r8d, r8d
mov rcx, rbp
call fcn.100055880
mov edx, dword [rax]
mov edi, dword [rax + 8]
mov ecx, edx
and ecx, 0xffffff80
cmp ecx, 0xffffff80
je 0x100067ad6
mov ecx, edx
not edx
and ecx, 0xffffff80
and edx, 0x7f
dec ecx
xor ecx, edx
mov dword [rax], ecx
test ecx, 0xffffff80
jne 0x100067ad6
mov rcx, rax
call fcn.100059224
lea eax, [rdi + rdi]
add dword [rbx], eax
add dword [rbx + 4], eax
mov rax, qword [rsp + 0x60]
add dword [rbx], r13d
test rax, rax
je 0x100067af7
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
xor r15d, r15d
cmp r14, r15
je 0x100067b0f
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
jmp 0x100067b0f
mov rsi, qword [rsp + 0x40]
cmp rsi, qword [r12 + 8]
je 0x100067b36
lea rax, [0x1000e1ec4]
cmp rsi, rax
je 0x100067b36
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov esi, dword [rsp + 0xd8]
mov r13d, 1
mov edi, dword [rsp + 0xd0]
mov ecx, dword [r12]
mov eax, ecx
and eax, 0xffffff80
cmp eax, 0xffffff80
je 0x100067b7a
mov eax, ecx
not ecx
and eax, 0xffffff80
and ecx, 0x7f
sub eax, r13d
xor eax, ecx
mov dword [r12], eax
test eax, 0xffffff80
jne 0x100067b7a
mov rcx, r12
call fcn.100059224
movabs r12, 0x8000000000000001
cmp dword [rbx], edi
jle 0x100067b8a
mov dword [rbx], edi
cmp dword [rbx + 4], esi
jle 0x100067b92
mov dword [rbx + 4], esi
cmp dword [0x1000e2d3c], r15d
je 0x100067bfc
mov al, byte [0x1000e2d40]
cmp byte [0x1000e2d00], r15b
je 0x100067bbe
cmp al, 4
jae 0x100067bb3
cmp al, r15b
jne 0x100067bfc
test byte [0x1000e2d38], r13b
jne 0x100067be2
jmp 0x100067bfc
cmp al, 4
jae 0x100067bc7
cmp al, r15b
jne 0x100067bfc
test qword [0x1000e2d28], r12
je 0x100067bfc
mov rcx, qword [0x1000e2d30]
mov rax, rcx
and rax, r12
cmp rax, rcx
jne 0x100067bfc
mov rcx, qword [0x1000e2d10]
lea r8, [0x10000d2f8]
lea rdx, [0x10000d508]
call fcn.1000531fc
mov rax, rbx
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret