Function at 0x1000a53b
Capabilities:
Get thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
and dword [esp], 0
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x18], edx
xor ecx, ecx
xor esi, esi
and dword [esp + 0x2c], ecx
and dword [esp + 0x34], ecx
and dword [esp + 0x10], ecx
mov eax, dword [edi + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], esi
cmp dword [edi + 8], ecx
jge 0x1000a57d
add eax, 0xfffffffc
mov dword [edi + 4], eax
mov ecx, dword [eax]
jmp 0x1000a585
mov ecx, dword [eax]
add eax, 4
mov dword [edi + 4], eax
mov bl, byte [ebp + 8]
mov dword [esp + 0x1c], ecx
test bl, bl
jns 0x1000a5b7
test ecx, ecx
je 0x1000a5b7
mov edx, ecx
mov ecx, edi
push 4
call fcn.10007b9e
mov ecx, eax
test ecx, ecx
je 0x1000a6cb
mov al, bl
and al, 0x40
je 0x1000a5b3
mov ecx, dword [ecx]
jmp 0x1000a5bb
xor ecx, ecx
jmp 0x1000a5bb
mov al, bl
and al, 0x40
mov dword [esp + 0x20], ecx
test al, al
je 0x1000a6de
test ecx, ecx
je 0x1000a6d8
mov edx, ecx
mov ecx, edi
call fcn.10007cd6
test eax, eax
je 0x1000a6cb
and bl, 0x3f
cmp bl, 0x1c
jne 0x1000a60f
push dword [ebp + 0xc]
mov ecx, dword [edi + 0x28]
call fcn.10006e60
mov esi, dword [0x100136c0]
mov ecx, esi
push 1
push 0x24
push eax
call dword [0x100142a8]
call esi
mov eax, dword [eax + 0x10]
mov dword [esp + 0x10], eax
cmp bl, 0x20
jne 0x1000a64b
mov ecx, dword [edi + 0x28]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x28]
call fcn.10006259
mov esi, eax
mov dword [esp + 0x34], 1
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x38]
mov dword [esp + 0x24], esi
mov dword [esp + 0x38], eax
call fcn.10004e93
jmp 0x1000a6ba
mov eax, dword [edi + 0x18]
xor esi, esi
cmp eax, dword [sym.imp.ole32.dll_OleIsCurrentClipboard]
jne 0x1000a66d
push dword [0x100131cc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test dword [eax + 0x44], 0x100000
jne 0x1000a695
push dword [0x100131cc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test dword [eax + 0x44], 0x10000
je 0x1000a698
cmp dword [edi + 0x2c], 0x14
jne 0x1000a698
cmp dword [esp + 0x18], 0xf
jne 0x1000a698
cmp dword [edi + 0x30], 3
jne 0x1000a698
xor esi, esi
inc esi
mov ecx, dword [edi + 0x28]
lea eax, [esp + 0x28]
push eax
push esi
push dword [esp + 0x20]
push dword [esp + 0x1c]
push dword [esp + 0x30]
push 0
call fcn.100068b1
mov esi, eax
mov dword [esp + 0x24], eax
test esi, esi
jne 0x1000a6de
mov ebx, 0x8007000e
mov dword [edi + 0x1c], ebx
jmp 0x1000a8ed
mov eax, 0x80070057
mov dword [edi + 0x1c], eax
jmp 0x1000a8ef
xor esi, esi
mov dword [esp + 0x24], esi
cmp byte [ebp + 8], 0
mov ebx, 0x8007000e
jge 0x1000a75a
cmp dword [esp + 0x1c], 0
je 0x1000a75a
push dword [esp + 0x18]
mov ecx, dword [edi + 0x28]
call fcn.10005b3e
mov edx, eax
mov dword [esp + 0x14], edx
test edx, edx
je 0x1000a753
mov ecx, dword [edi + 0x10]
lea eax, [esp + 0xc]
push 1
mov dword [esp + 0x10], esi
push 0x24
mov dword [ecx], eax
add dword [edi + 0x10], 4
mov esi, dword [0x100136c0]
mov ecx, esi
push edx
call dword [0x100142a8]
call esi
push 1
lea ecx, [esp + 0x10]
push 4
push dword [esp + 0x24]
mov dword [eax + 0x20], ecx
mov esi, dword [0x100136c0]
mov ecx, esi
call dword [0x100142a8]
call esi
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
jmp 0x1000a763
mov dword [edi + 0x1c], ebx
mov ecx, ebx
jmp 0x1000a784
mov eax, dword [edi + 0x10]
mov dword [eax], esi
add dword [edi + 0x10], 4
mov eax, dword [edi + 0x14]
push edi
movzx eax, byte [eax]
and eax, 0x3f
mov esi, dword [eax*4 + 0x10001028]
mov ecx, esi
call dword [0x100142a8]
call esi
mov edx, dword [esp + 0x14]
mov ecx, eax
mov al, byte [ebp + 8]
mov dword [esp + 0x10], ecx
test al, al
jns 0x1000a88e
cmp dword [esp + 0x1c], 0
je 0x1000a88e
and dword [esp + 0x2c], 0
test ecx, ecx
js 0x1000a867
cmp dword [esp + 0xc], 0
je 0x1000a867
cmp dword [ebp + 0xc], 0
je 0x1000a7f2
push dword [0x100131cc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
and dword [esp + 0x30], 0
lea ecx, [esp + 0x30]
push ecx
push dword [esp + 0x1c]
mov eax, dword [eax + 0x48]
mov ecx, dword [esp + 0x1c]
push dword [eax]
push dword [esp + 0x18]
push ecx
mov ecx, dword [edi + 0x28]
call fcn.10005c22
mov edx, dword [esp + 0x30]
jmp 0x1000a80e
mov ecx, dword [edi + 0x28]
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x1c]
push 0
push dword [esp + 0x18]
push edx
call fcn.10005c22
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x1000a84e
mov cl, byte [ebp + 8]
and cl, 0x3f
cmp cl, 0x21
jne 0x1000a842
cmp edx, 4
je 0x1000a842
mov esi, dword [0x100136c0]
mov ecx, esi
push 1
push 0x24
push eax
call dword [0x100142a8]
call esi
mov dword [eax + 0x1c], 0x20
mov ebx, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x14], ecx
jmp 0x1000a851
mov dword [edi + 0x1c], ebx
mov eax, dword [esp + 0xc]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x100142a8]
call esi
jmp 0x1000a86b
mov ebx, dword [esp + 0x10]
mov esi, dword [0x100136c0]
mov ecx, esi
push 1
push 4
push dword [esp + 0x24]
call dword [0x100142a8]
call esi
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov al, byte [ebp + 8]
jmp 0x1000a892
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x1000a8cc
and al, 0xc0
cmp al, 0xc0
jne 0x1000a8bc
push dword [esp + 0x20]
mov esi, dword [0x100136d8]
mov ecx, esi
push dword [0x10013588]
call dword [0x100142a8]
call esi
jmp 0x1000a8cc
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x100142a8]
call esi
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1000a8e1
push dword [esp + 0x18]
mov ecx, dword [edi + 0x28]
push eax
call fcn.10005bc2
cmp dword [esp + 0x34], 0
je 0x1000a8ed
call fcn.10004ebb
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8