Function at 0x72a25c56
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
and dword [ebp - 8], 0
push ebx
push esi
push edi
push dword [0x72a4ef9c]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, dword [ebp + 0xc]
add eax, 0x50
cmp dword [ebp + 0x10], 0
mov dword [ebp - 0xc], eax
mov ax, word [esi]
mov dword [ebp - 4], eax
je 0x72a25d57
push dword [ebp + 0x10]
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x10]
push 2
push eax
push edi
call fcn.72a26679
mov ebx, eax
test ebx, ebx
jne 0x72a25f56
cmp word [ebp - 0x10], 9
je 0x72a25e3c
test byte [ebp - 3], 0x40
je 0x72a25d4b
mov dword [ebp - 8], esi
mov esi, dword [ebp - 0xc]
and dword [esi + 8], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
movzx eax, dx
cmp eax, 0x24
jg 0x72a25d11
je 0x72a25e3c
cmp eax, 9
jg 0x72a2601c
je 0x72a25e3c
cmp eax, 4
jg 0x72a25fe8
cmp eax, 3
jge 0x72a26059
test eax, eax
jl 0x72a25d11
cmp eax, 1
jle 0x72a25e8e
cmp eax, 2
je 0x72a26052
test dh, 0x20
je 0x72a25fde
and edx, 0xdfff
cmp dx, 9
mov dword [ebp - 0x10], edx
je 0x72a25e3c
cmp dx, 0xc
jbe 0x72a25d98
cmp dx, 0x11
je 0x72a25d98
cmp dx, 0xe
je 0x72a25d98
mov eax, 0x1ca
pop edi
pop esi
pop ebx
leave
ret 0xc
mov ecx, esi
call sym.MSVBVM60.DLL___vbaFreeVar
jmp 0x72a25cbf
test ah, 0x40
je 0x72a25d70
lea eax, [ebp - 0x20]
push esi
push eax
call fcn.72a47025
and dword [ebp - 4], 0xbfff
lea esi, [ebp - 0x20]
mov edi, dword [ebp + 8]
push 0
lea eax, [ebp - 4]
push 2
push eax
push edi
call fcn.72a26679
mov ebx, eax
test ebx, ebx
je 0x72a25cc9
mov ecx, dword [ebp - 0xc]
call sym.MSVBVM60.DLL___vbaFreeVar
jmp 0x72a25f56
xor ecx, ecx
cmp dword [ebp + 0x10], ecx
je 0x72a25f07
cmp dword [ebp - 8], ecx
mov dword [ebp + 0xc], ecx
je 0x72a25e44
mov ecx, dword [ebp - 8]
mov di, word [ecx]
test di, 0x2000
je 0x72a25e44
mov ecx, dword [ecx + 8]
mov ebx, dword [ecx]
test ebx, ebx
je 0x72a25e44
mov cx, word [ebx + 2]
test cl, 0x16
je 0x72a25e44
movzx esi, di
and esi, 0xffffbfff
cmp esi, eax
jne 0x72a25e3c
movzx eax, dx
push ecx
push dword [eax*4 + 0x7296fb58]
lea eax, [ebp + 0xc]
push eax
push dword [ebp + 8]
call fcn.72a26060
test eax, eax
jne 0x72a25d44
mov eax, dword [ebp + 0xc]
mov cx, word [eax]
cmp cx, word [ebx]
jne 0x72a25e35
movzx ecx, cx
shl ecx, 3
lea edi, [ebx + 0x10]
lea esi, [eax + 0x10]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x72a25e35
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayDestroyData]
push dword [ebp + 0x10]
push 0
push ebx
push dword [ebp + 8]
call fcn.72a2616d
jmp 0x72a25d44
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayDestroyData]
push 0xd
pop eax
jmp 0x72a25d44
cmp dx, 8
jne 0x72a25ef1
mov dword [ebp + 0xc], 0x100
push dword [ebp + 0xc]
lea edi, [esi + 8]
movzx eax, dx
push dword [eax*4 + 0x7296fb58]
push edi
push dword [ebp + 8]
call fcn.72a26060
test eax, eax
jne 0x72a25d44
mov ax, word [ebp - 4]
mov word [esi], ax
push dword [ebp + 0x10]
push 0
push dword [edi]
push dword [ebp + 8]
call fcn.72a2616d
mov ebx, eax
test ebx, ebx
jne 0x72a25d8b
cmp dword [ebp + 0x10], ebx
je 0x72a25ea2
mov ax, word [ebp - 4]
mov word [esi], ax
cmp dword [ebp - 8], 0
je 0x72a25d8b
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
lea ecx, [ebp - 0x40]
mov ax, word [esi]
push ecx
and eax, 0xbfff
push eax
push edi
mov dword [ebp - 4], eax
call fcn.72a2173c
test eax, eax
jge 0x72a25f24
cmp eax, 0x80020009
je 0x72a25ee7
push eax
call fcn.72a0be99
mov ebx, eax
cmp ebx, 0x1b8
jne 0x72a25d8b
mov ebx, 0x1bb
jmp 0x72a25d8b
cmp dx, 0xc
jne 0x72a25e55
mov dword [ebp + 0xc], 0x800
jmp 0x72a25e55
push dword [esi + 8]
lea edi, [esi + 8]
push dword [ebp + 8]
call fcn.72a26122
mov ebx, eax
test ebx, ebx
je 0x72a25e7d
jmp 0x72a25d8b
movzx eax, word [ebp - 4]
cmp eax, 8
jg 0x72a25f77
je 0x72a25f5d
cmp eax, 2
je 0x72a25fcf
jle 0x72a25f86
cmp eax, 4
jle 0x72a25f6d
cmp eax, 7
jg 0x72a25f86
mov eax, dword [esi + 8]
mov ecx, dword [edi + 8]
mov dword [eax], ecx
mov ecx, dword [edi + 0xc]
mov dword [eax + 4], ecx
and word [edi], 0
mov eax, ebx
jmp 0x72a25d44
mov eax, dword [esi + 8]
mov eax, dword [eax]
test eax, eax
je 0x72a25f6d
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 8]
mov ecx, dword [edi + 8]
mov dword [eax], ecx
jmp 0x72a25f52
cmp eax, 0xb
je 0x72a25fcf
cmp eax, 0xe
je 0x72a25fbd
cmp eax, 0x11
je 0x72a25fb3
test byte [ebp - 3], 0x20
je 0x72a25fab
push 0
push dword [esi + 8]
call fcn.72a1c0a3
mov ebx, eax
test ebx, ebx
jne 0x72a25d8b
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
mov eax, dword [eax + 8]
jmp 0x72a25f70
push 0xd
pop ebx
jmp 0x72a25d8b
mov eax, dword [esi + 8]
mov cl, byte [edi + 8]
mov byte [eax], cl
jmp 0x72a25f52
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0xc]
mov edi, dword [eax + 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xc]
jmp 0x72a25f52
mov eax, dword [esi + 8]
mov cx, word [edi + 8]
mov word [eax], cx
jmp 0x72a25f52
mov ebx, 0x1ca
jmp 0x72a25d8b
cmp eax, 5
jl 0x72a25d11
cmp eax, 7
jle 0x72a26011
cmp eax, 8
jne 0x72a25d11
push dword [ebp + 0x10]
lea eax, [esi + 8]
push eax
push edi
call fcn.72a25b5c
jmp 0x72a25e8c
push dword [ebp + 0x10]
push 8
lea eax, [esi + 8]
push eax
jmp 0x72a26047
mov ecx, eax
sub ecx, 0xa
je 0x72a26059
dec ecx
je 0x72a26052
dec ecx
dec ecx
je 0x72a25e3c
dec ecx
je 0x72a26041
sub ecx, 3
jne 0x72a25d11
push dword [ebp + 0x10]
push 1
jmp 0x72a26016
push dword [ebp + 0x10]
push 0x10
push esi
push edi
call fcn.72a26679
jmp 0x72a25e8c
push dword [ebp + 0x10]
push 2
jmp 0x72a26016
push dword [ebp + 0x10]
push 4
jmp 0x72a26016