Function at 0x72a1a2ca
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
push dword [0x72a4ef9c]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x72a1a366
cmp dword [eax + 0x24], 0
je 0x72a1a366
mov eax, dword [ebp + 8]
sub eax, 0x8dad
je 0x72a1a35f
dec eax
je 0x72a1a358
dec eax
je 0x72a1a351
dec eax
je 0x72a1a34a
dec eax
je 0x72a1a343
dec eax
je 0x72a1a33c
dec eax
je 0x72a1a314
mov eax, 0x800a0033
pop edi
pop esi
pop ebx
leave
ret 0x10
mov eax, 0x1388
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push dword [0x72a4e7dc]
call dword [sym.imp.USER32.dll_LoadStringA]
neg eax
sbb eax, eax
and eax, 0x7ff8fff2
add eax, 0x8007000e
jmp 0x72a1a30d
mov eax, 0x138b
jmp 0x72a1a319
mov eax, 0x138a
jmp 0x72a1a319
mov eax, 0x1389
jmp 0x72a1a319
mov eax, 0x138e
jmp 0x72a1a319
mov eax, 0x138d
jmp 0x72a1a319
mov eax, 0x138c
jmp 0x72a1a319
mov eax, 0x72a4fbe8
mov ecx, 0x72a4fde4
movzx edx, word [eax + 2]
cmp edx, dword [ebp + 8]
je 0x72a1a380
add eax, 4
cmp eax, ecx
jb 0x72a1a370
cmp eax, ecx
jb 0x72a1a40e
mov eax, 0x2738
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push dword [0x72a4e690]
call dword [sym.imp.USER32.dll_LoadStringA]
test eax, eax
je 0x72a1a504
push 0x7296f452
push dword [ebp + 0x10]
call fcn.72a1e64c
mov ebx, eax
pop ecx
test ebx, ebx
pop ecx
je 0x72a1a50e
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp + 8], ecx
dec ecx
mov dword [ebp - 8], ecx
test ebx, ebx
je 0x72a1a50e
mov esi, dword [ebp + 8]
test esi, esi
jne 0x72a1a416
lea edx, [ebx + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
push ebx
call fcn.72945bda
add esp, 0xc
push 0x7296f452
push ebx
call fcn.72a1e64c
pop ecx
mov ebx, eax
pop ecx
jmp 0x72a1a3d5
movzx eax, word [eax]
jmp 0x72a1a38d
cmp esi, 1
jne 0x72a1a425
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
mov byte [ebx], al
inc ebx
jmp 0x72a1a3fd
mov edi, dword [ebp + 0x10]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
lea ecx, [ecx + esi - 1]
cmp ecx, dword [ebp + 0x14]
jbe 0x72a1a4c9
push ecx
call fcn.72945484
mov esi, eax
test esi, esi
mov dword [ebp - 4], esi
je 0x72a1a504
push dword [ebp + 0x10]
push esi
call fcn.72a1e6d4
pop ecx
pop ecx
push 0x7296f452
push esi
call fcn.72a1e64c
mov ebx, eax
pop ecx
pop ecx
xor eax, eax
lea edx, [ebx + 1]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
mov eax, dword [ebp - 8]
not ecx
push ecx
push edx
add edx, eax
push edx
call fcn.72945bda
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
add esp, 0xc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
lea eax, [esi - 1]
push eax
push dword [ebp - 4]
push edi
call fcn.729456ef
and byte [esi + edi - 1], 0
add esp, 0xc
push dword [ebp - 4]
call fcn.7294d14e
mov ebx, edi
jmp 0x72a1a3fd
lea edx, [ebx + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [ebp - 8]
not ecx
push ecx
push edx
add edx, eax
push edx
call fcn.72945bda
mov ecx, esi
mov esi, dword [ebp + 0xc]
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
add esp, 0xc
and ecx, 3
add ebx, dword [ebp + 8]
rep movsb byte es:[edi], byte [esi]
jmp 0x72a1a3fd
mov eax, 0x8007000e
jmp 0x72a1a30d
xor eax, eax
jmp 0x72a1a30d