Function at 0x100241d0
Capabilities:
Get thread local storage value

Disassembly:
sub esp, 0x34
push ebx
push ebp
push esi
mov esi, dword [esp + 0x44]
push edi
push str.Execute
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], vtable.CDAOContext.0
mov dword [esp + 0x20], esi
call fcn.10009750
xor ebp, ebp
lea ecx, [esp + 0x2c]
mov dword [esp + 0x18], vtable.CDAOVARGContext.0
mov word [esp + 0x28], bp
mov dword [esp + 0x24], 1
call fcn.10013930
mov esi, dword [esi + 8]
mov edx, dword [esp + 0x4c]
push ebp
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x50], 0x201c0
mov eax, dword [esi + 0x18]
sub esp, 0x10
mov dword [esp + 0x2c], eax
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0x30]
call fcn.1000a140
mov eax, dword [esp + 0x20]
cmp eax, ebp
jl 0x1002444f
mov edx, dword [esp + 0x4c]
test edx, 0xc00
je 0x100242a9
mov eax, dword [esp + 0x1c]
cmp eax, ebp
mov dword [esp + 0x20], 0x80070057
je 0x1002429b
mov eax, dword [eax + 8]
cmp eax, ebp
je 0x1002429b
push 2
push 0x80070057
push eax
call fcn.10019ba0
mov dword [esp + 0x20], eax
jmp 0x1002444f
mov eax, 0x80070057
mov dword [esp + 0x20], eax
jmp 0x1002444f
cmp esi, ebp
je 0x10024424
mov ecx, 0x25
cmp dword [esi + 0x10], ecx
jge 0x10024424
or edi, 0xffffffff
cmp dword [esi + 0x30], ebp
jne 0x100242d3
cmp dword [esi + 0xe8], edi
je 0x10024424
cmp dword [esi + 0xe8], edi
je 0x100242f2
mov eax, dword [esi + 0xec]
cmp eax, ebp
je 0x10024424
cmp dword [eax + 0x10], ecx
jge 0x10024424
cmp word [esp + 0x28], bp
je 0x1002430d
cmp edx, ebp
je 0x1002430d
lea eax, [esp + 0x48]
push eax
push edx
call fcn.1004add0
and dword [esp + 0x48], 0xfffffff1
cmp dword [esi + 0xe8], edi
je 0x1002431d
mov ebp, dword [esi + 0xec]
jmp 0x10024327
mov eax, dword [esi + 0x30]
cmp eax, ebp
je 0x10024327
mov ebp, dword [eax + 0x34]
mov edx, dword [esp + 0x14]
mov edi, dword [ebp + 0x494]
mov ebx, dword [ebp + 0x4a0]
lea ecx, [esp + 0x10]
push ecx
push esi
push edx
mov dword [esi + 0xd4], 0
call fcn.1004b7f0
push eax
lea ecx, [esp + 0x1c]
call fcn.1000c3b0
test eax, eax
jne 0x100243da
mov eax, dword [0x1007eed0]
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esp + 0x48]
mov eax, dword [eax + 0x38]
or ecx, 0x200000
mov dword [esp + 0x48], ecx
mov edx, dword [esi + 0xe8]
cmp edx, 0xffffffff
push 0
push ecx
je 0x10024397
mov ecx, dword [esp + 0x18]
push ecx
push eax
push edx
push edi
push ebx
call dword [0x1007ef6c]
jmp 0x100243a9
mov edx, dword [esp + 0x18]
push edx
push eax
lea eax, [esi + 0x3a]
push eax
push edi
push ebx
call dword [0x1007eff0]
test eax, eax
jge 0x100243fa
cmp eax, 0xfffffbf7
je 0x100243e0
cmp eax, 0xfffffc0d
je 0x100243e0
cmp eax, 0xfffffc0a
je 0x100243e0
cmp eax, 0xfffff8ec
je 0x100243e0
cmp eax, 0xfffff8f0
je 0x100243e0
push eax
lea ecx, [esp + 0x1c]
call fcn.1000c3b0
mov esi, dword [esp + 0x20]
jmp 0x10024451
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
push 1
push 0
push edx
push 0xfffffc0a
call fcn.1005a550
test eax, eax
jmp 0x1002443b
mov ebp, dword [ebp + 0x30]
test ebp, ebp
je 0x10024414
mov ebp, dword [ebp + 0x34]
test ebp, ebp
je 0x10024414
mov eax, dword [ebp + 0xf8]
mov dword [esi + 0xd4], eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.1004b060
mov esi, dword [esp + 0x20]
jmp 0x10024451
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 8]
push 1
push ebp
push eax
push 0xffff8abf
call fcn.1005a550
cmp eax, ebp
je 0x1002444b
movzx eax, ax
or eax, 0x800a0000
mov dword [esp + 0x20], eax
jmp 0x1002444f
mov eax, dword [esp + 0x20]
mov esi, eax
lea ecx, [esp + 0x2c]
call fcn.10013940
lea ecx, [esp + 0x18]
call fcn.100097c0
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 0x14