Function at 0x534c70
Capabilities:
Execute anti-debugging instructions
Get thread local storage value

Disassembly:
sub esp, 0xc
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_TlsGetValue]
push ebp
push esi
mov esi, dword [esp + 0x1c]
push edi
mov eax, dword [esi + 0x214]
mov dword [esp + 0x20], eax
test eax, eax
je 0x534d2a
movzx edi, word [eax + 0xc]
sub edi, 1
js 0x534d2a
mov eax, dword [eax + 8]
cmp dword [eax + edi*4], 0
je 0x534d1d
push dword [0x884c50]
call ebx
mov dword [esp + 0x14], eax
mov ebp, dword [eax + 4]
cmp ebp, dword [eax + 0xc]
jae 0x534cdb
mov dword [ebp], str.TtentRemCb
rdtsc
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
lea eax, [ebp + 0xc]
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x20]
push esi
mov eax, dword [eax + 8]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx]
call dword [eax + 8]
push dword [0x884c50]
call ebx
mov dword [esp + 0x14], eax
mov ebp, dword [eax + 4]
cmp ebp, dword [eax + 0xc]
jae 0x534d1d
mov dword [ebp], 0x77f5ec
rdtsc
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
lea eax, [ebp + 0xc]
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 4], eax
sub edi, 1
mov eax, dword [esp + 0x20]
jns 0x534ca0
cmp word [esi + 0xb0], 0
je 0x534da2
push dword [0x884c50]
call ebx
mov ebp, eax
mov edi, dword [ebp + 4]
cmp edi, dword [ebp + 0xc]
jae 0x534d5f
mov dword [edi], str.TtentRemCb
rdtsc
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0xc]
mov dword [edi + 4], ecx
mov dword [ebp + 4], eax
mov eax, dword [esi + 0xac]
push esi
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x10]
push dword [0x884c50]
call ebx
mov ebp, eax
mov edi, dword [ebp + 4]
cmp edi, dword [ebp + 0xc]
jae 0x534d98
mov dword [edi], 0x77f5ec
rdtsc
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0xc]
mov dword [edi + 4], ecx
mov dword [ebp + 4], eax
cmp word [esi + 0xb0], 0
jne 0x534d34
mov ecx, esi
call fcn.00507bd0
cmp dword [esi + 0xb8], 0
je 0x534e1f
push dword [0x884c50]
call ebx
mov ebp, eax
mov edi, dword [ebp + 4]
cmp edi, dword [ebp + 0xc]
jae 0x534ddd
mov dword [edi], str.TtentRemCb
rdtsc
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0xc]
mov dword [edi + 4], ecx
mov dword [ebp + 4], eax
mov eax, dword [esi + 0xb4]
push esi
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x10]
push dword [0x884c50]
call ebx
mov ebp, eax
mov edi, dword [ebp + 4]
cmp edi, dword [ebp + 0xc]
jae 0x534e16
mov dword [edi], 0x77f5ec
rdtsc
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0xc]
mov dword [edi + 4], ecx
mov dword [ebp + 4], eax
cmp dword [esi + 0xb8], 0
jne 0x534db2
cmp word [esi + 0x20c], 0
je 0x534e9e
nop dword [eax]
push dword [0x884c50]
call ebx
mov ebp, eax
mov edi, dword [ebp + 4]
cmp edi, dword [ebp + 0xc]
jae 0x534e5b
mov dword [edi], str.TtentRemCb
rdtsc
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x20]
lea eax, [edi + 0xc]
mov dword [edi + 4], ecx
mov dword [ebp + 4], eax
mov eax, dword [esi + 0x208]
push esi
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x18]
push dword [0x884c50]
call ebx
mov ebp, eax
mov edi, dword [ebp + 4]
cmp edi, dword [ebp + 0xc]
jae 0x534e94
mov dword [edi], 0x77f5ec
rdtsc
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0xc]
mov dword [edi + 4], ecx
mov dword [ebp + 4], eax
cmp word [esi + 0x20c], 0
jne 0x534e30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret