Function at 0x47eaf6
Capabilities:
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
movzx eax, byte [ebp + 8]
test eax, eax
je 0x47eb47
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x38], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x40], eax
push 1
push 1
push 0x575a
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax]
push eax
push 0x1945
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
call fcn.0047ed1f
add esp, 0x20
jmp 0x47ed1b
mov dword [ebp - 8], 0x4e2
mov dword [ebp - 0x14], 0
jmp 0x47eb5e
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x47eb71
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x64], 0x898f01ba
jmp 0x47eb57
mov eax, dword [ebp - 8]
dec eax
mov dword [ebp - 8], eax
mov dword [ebp - 8], 0
jmp 0x47eb88
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x12
jge 0x47ed13
mov dword [ebp - 0xc], 0xea122098
cmp dword [ebp - 8], 0
je 0x47ec43
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0x1b17d72b
mov dword [ebp - 0x48], 1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x28]
mov dword [ebp + eax - 0x64], ecx
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 8]
imul ecx, dword [ebp - 8]
imul eax, ecx
cmp dword [ebp - 0x28], eax
jl 0x47ebff
mov dword [ebp - 0x44], 1
jmp 0x47ec03
and dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jg 0x47ec1a
mov dword [ebp - 0x2c], 1
jmp 0x47ec1e
and dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x2c]
add eax, 0x108fc3a9
cmp dword [ebp - 0xc], eax
jne 0x47ec34
mov dword [ebp - 0x30], 1
jmp 0x47ec38
and dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
jmp 0x47ecf8
mov dword [ebp - 0xc], 2
jmp 0x47ec53
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jl 0x47ecf8
mov dword [ebp - 0x18], 0xae7b1b0c
mov dword [ebp - 0x18], 0
jmp 0x47ec74
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jg 0x47ecdd
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], 2
jmp 0x47ec91
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jl 0x47ecdb
mov dword [ebp - 0x10], 0x29207965
mov byte [ebp - 1], 0
movzx eax, byte [ebp - 1]
test eax, eax
je 0x47ecb6
push 0
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
mov dword [ebp - 0x10], 0
jmp 0x47ecc6
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x47ecd9
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x64], 0x653e3f36
jmp 0x47ecbf
jmp 0x47ec8a
jmp 0x47ec6d
mov byte [ebp - 2], 0
movzx eax, byte [ebp - 2]
test eax, eax
je 0x47ecf3
push 0
push 0
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
jmp 0x47ec4c
mov byte [ebp - 3], 0
movzx eax, byte [ebp - 3]
test eax, eax
je 0x47ed0e
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
jmp 0x47eb81
push 0
call fcn.00471773
pop ecx
mov esp, ebp
pop ebp
ret