Function at 0x4af316
Capabilities:
Set thread local storage value

Disassembly:
outsb dx, byte [esi]
push dword [ebp - 4]
and ecx, eax
or ecx, esi
pop ebp
jns 0x4af04a
inc esi
pop ebp
arpl word [eax + 0x59], cx
insd dword es:[edi], dx
outsd dx, dword [esi]
pop ecx
insd dword es:[edi], dx
push 0x34ff515a
push dword [esp]
add dword [esp], 0xfff625ad
add dword [esp + 4], 0x83
ret
mul esi
call fcn.004b9df0
popal
push ebp
jmp 0x4af019
or byte [ecx + 0x21cb3], cl
add byte [ebx + 0x350a0], al
add ch, bh
pop ebp
insb byte es:[edi], dx
pop ecx
inc esp
movlpd xmm2, qword [esp + 4]
cmp edi, esi
inc sp
inc esp
jmp 0x4aef5b
dec esp
popal
pop ebp
jnp 0x4af0a3
push 0x61415c5c
inc esp
insd dword es:[edi], dx
jnp 0x4af0d1
pop ecx
cmp dword [esp + 0x2c], 0x4b9d7925
cmove edx, ebp
pop ecx
cmp edi, 0xa51e44b7
jne 0x4af0ac
push edx
mov eax, dword [ebp + 8]
call fcn.004b2b94
jmp 0x3c60f01e
jg 0x4af0fe
push ebx
adc byte [ecx + 0x2276f445], cl
xor eax, eax
cmp ecx, 0x24759af3
je 0x4af0b0
lcall 0x815e, 0xfa742475
jl 0x4af0de
pop esi
cmp dword [esp + 0x44], 0x3579bb17
je 0x4af059
inc esp
pop ss
mov ebx, 0x98743579
pop ebp
cmp esi, 0x6c933951
jne 0x4af103
dec esp
push eax
pop ax
pop eax
push edi
push ecx
push esp
pop esi
push eax
imul ecx, dword [ecx + 0x60], 0x526a787b
push esi
pop ebp
dec edi
dec esi
dec ebx
insb byte es:[edi], dx
dec esi
pop edx
dec eax
dec ebx
push ebx
pop edi
outsb dx, byte [esi]
dec esp
arpl word [esi + 0x41], bx
popal
jnp 0x4af15e
inc ecx
pop ebp
bound esp, qword [edx + 0x5b]
push ebp
dec ebx
pop eax
dec edi
push eax
inc bp
jnp 0x4af166
dec ecx
inc esp
dec ecx
ret
inc eax
push 0x57
jnp 0x4af1a5
pop esp
push ebx
pushal
push ebx
pop ecx
pop esi
dec ebp
dec ecx
pop ebx
push edx
popal
push ecx
push 0x48
jnp 0x4af14e
pop ecx
add byte [eax], al
add byte [ebx + 0x68], bh
pop esp
pop esi
inc eax
inc eax
dec eax
jns 0x4af1de
pop esp
inc edx
dec esi
popal
dec edx
imul di, word [ebx + 0x4d], 0x5f5a
inc ecx
inc ebp
dec edx
insb byte es:[edi], dx
jns 0x4af1d2
inc edx
pop edx
dec ecx
arpl word [ecx + 0x44], dx
inc ebx
pop ecx
arpl word [eax + 0x46], dx
inc eax
push esp
push esi
arpl word [edx + 0x40], cx
pop ebp
push 0x6e
js 0x4af1f6
imul esp, dword [ebp + 0x5e], 0x55
pop esi
bound ebp, qword [eax + 0x6b]
bound ecx, qword [ecx + 0x78]
dec ecx
js 0x4af1f0
push edi
insb byte es:[edi], dx
pop ebp
jnp 0x4af225
pop eax
inc ebx
inc eax
pushaw
dec ebx
pop edi
inc eax
push edx
dec esp
inc edx
push ecx
push edx
inc edx
inc edx
push ecx
pop esi
push eax
dec edx
inc esi
dec ebx
add dword [esp], 0xfff7131e
cmp esi, 0xc785fc41
je 0x4c96c8
test cl, dh
movsb byte es:[edi], byte [esi]
add dword [eax], eax
dec esi
jns 0x4af23d
pop esi
imul edi, dword [ecx + 0x50], 0x4a6d6868
popal
bound eax, qword [edx + 0x58]
push esp
pop esi
dec esi
jnp 0x4af241
push esi
pop edx
dec eax
dec esp
push edi
pop edi
dec esi
arpl word [edi + 0x5e], ax
js 0x4af262
dec edx
inc eax
pop eax
push 0x53
dec esi
inc edx
bound ecx, qword [ebx + 0x5c]
dec eax
outsb dx, byte gs:[esi]
dec ebx
dec esi
pop eax
dec eax
push ebp
push 0x69786e5a
push esi
inc edi
push eax
inc ecx
pop ecx
inc ebp
outsd dx, dword [esi]
jns 0x4af266
arpl word [edx + 0x79], sp
pop esi
jnp 0x4af26b
popal
popal
dec edx
pop ecx
push ebp
inc esp
outsd dx, dword [esi]
dec esi
jns 0x4af277
pushal
outsd dx, dword [esi]
inc esi
pop esi
push esi
pop ebx
inc esi
push eax
dec edx
push ebp
inc eax
pop esp
push 0x79
dec ebp
jns 0x4af28c
push esp
insb byte es:[edi], dx
pop edx
push 0x43
inc edx
inc bx
jns 0x4af2b3
inc ebp
push dword [esp]
add dword [esp], 0xfff81741
add dword [esp + 4], 0xc4
ret
dec ecx
push ebx
push ebp
mov eax, dword [ecx + 0x60]
inc ecx
pushal
sbb eax, eax
push edi
ret
inc edx
arpl word [esp + edx*2 + 0x59], cx
pop ecx
outsd dx, dword [esi]
cmp edi, dword [ebp + 0xc]
not eax
jmp dword [sym.imp.KERNEL32.dll_TlsSetValue]
test dword [edi + edi*8], eax
invalid
je 0x4af4ad
cmp dword [esp + 0x1c], 0x9246f6ed
je 0x4af245
and dword [ebp - 4], 0
cmp eax, 0x964ade13
jne 0x4af319
push ecx
cmp dword [ebx + 0x10], 3
call 0x4af316
mov dword [ebp - 0x14], ebx
je 0x4af2e0
mov ebp, esp
fstp st(1)
je 0x4af2fc
fnstenv [ecx + ebx + 0x58]
pop eax
pop ecx
pop edx
inc ebx
push edx
inc esp
js 0x4af32c
dec edx
dec eax
jnp 0x4af273
jl 0x4af2f9
sbb bh, bh
jns 0x4af33f
inc ebx
push 0x48
mov dword [ebp - 0x10], ecx
dec edx
mov bx, word [ebp - 0x3a4]
lea eax, [ebp - 0x20]
push dword [ebp + 8]
jmp 0x4af311
jne 0x4af320
inc ebx
or eax, eax
mov dword [ebp - 0x10], eax
mov ecx, esi
cmp dword [esp - 0x1c], 0xf0210353
cmove ecx, edi
call fcn.004af34d
test ebx, ebx
inc ebx
dec esp
add esp, dword [ecx]
invalid
fild dword [ebx + 0x4c]
push ecx
push esp
insd dword es:[edi], dx
inc esi
js 0x4af397
arpl word [esi - 0x7d], cx
invalid
loope 0x4af380
mov eax, dword [ebp + 0x10]
arpl word [ecx + 0x69], dx
outsd dx, dword [esi]
cmp ebx, esi
jbe 0x4af43c
and edx, dword [ebp + 0x10]
inc ebp
push edi
push eax
mov dword [ebp - 4], eax
mov al, bl
push eax
xor edi, edi
jns 0x4af3ef
push edi
pop edi
dec eax
push ebx
push 0x60
mov eax, dword [ebp - 8]
push 7
je 0x4af3ad
push esp
imul eax, dword [esi - 0x77], 0x45
fsubr qword [ecx + eax*2 + 0x69]
arpl word [ebx + 0x67], bp
dec ebp
push eax
insd dword es:[edi], dx
dec ebx
pop esi
push 0x5a6f7966
inc edi
pop eax
push eax
mov eax, esi
nop
pop ebp
pop ecx
mov byte [ebx], 0x2d
dec esi
inc edi
add eax, 0xffffffd0
and esi, 0x80000000
mov edi, 0x60545974
pop esp
push edx
arpl word [esi + 0x59], cx
pop esp
call esi
pushfd
push cs
call int.004af424
pop ebp
push edx
insd dword es:[edi], dx
push 0x41
dec esp
inc edi
mov eax, dword [eax]
pushal
push 0x79
push 0x79
dec ebp
push esi
add esp, 0xc
pop esi
cmp dword [0x421ed8], ebx
lea eax, [esi + 2]
call fcn.004b8157
inc ebp
pop ebx
pop edx
push edx
pop eax
mov edi, edi
outsb dx, byte [esi]
pop ecx
push 0x4d885b7b
invalid
ret
cld
mov edi, dword [ebp - 0x20]
ret
cmp eax, 0x7974439f
cmove edx, edi
call fcn.004af50d
inc eax
pushal
dec eax
push edx
inc ebp
bound edi, qword [edx + 0x10]
cmp dword [ebp + 0xc], ecx
jne 0x4af4a1
pop ecx
cmp eax, 0xfffffffc
dec ebp
pop ebp
jnp 0x4af541
jns 0x4af54d
inc edx
inc eax
cmp edi, 0x73
push ebp
dec edi
jnp 0x4af4d1
test dword [eax + 0x5ffffff6], edx
mov al, 1
jmp 0x4af593
inc ebp
mov dword [ebp - 0x974], eax
mov eax, dword [ebp + 0x24]
and eax, ecx
mov dword [ebp - 0x10], ecx
inc dword [ebp - 0x3a4]
test eax, eax
mov al, byte [ecx + 1]
dec dword [eax + 0x18]
inc edx
mov ecx, edi
fld qword [0x41fa60]
inc cx
pop ebx
push edi
mov eax, dword [ecx + 0x60]
push edi
mov ecx, dword [esi + eax + 4]
call dword [0x41a118]
push edi
inc esp
jae 0x4af58c
push 0xfffffffffffffff5
jmp 0x4af591
dec dword [ebx - 0x76fbdbac]
inc ebp
clc
push esp
and al, 4
mov dword [ebp - 8], eax
push edi
dec ebx
insb byte es:[edi], dx
invalid