Function at 0xffed0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov edi, ecx
mov byte [ebp - 1], 0
mov ecx, 0x804
mov dword [ebp - 8], edi
mov ebx, 0x8000
mov dword [ebp - 0xc], 0
mov eax, dword [edi + 4]
mov dword [edi + 0x120], 0
mov dword [edi + 0x124], 0
mov eax, dword [eax + 0x10]
mov dword [edi + 0x54], eax
call fcn.000f2310
mov esi, eax
test esi, esi
je 0x100356
nop
push 0x800
push dword [ebp - 0xc]
mov edx, esi
mov ecx, edi
push ebx
call fcn.00135350
add esp, 0xc
cmp eax, 0x800
jne 0x1002f7
push 5
lea eax, [esi + 1]
push str.CD001
push eax
call fcn.00159a40
add esp, 0xc
test eax, eax
je 0xffffe
mov eax, dword [0x1aa220]
test eax, eax
je 0xfff86
push str.iso_load_vol_desc
push str._s:_Bad_volume_descriptor:_Magic_number_is_not_CD001_n
push 2
call fcn.00158e14
add esp, 4
push eax
call fcn.000f0dc0
mov eax, dword [0x1aa220]
add esp, 0xc
cmp byte [ebp - 1], 0
jne 0x10034d
mov ecx, dword [edi + 0x58]
test ecx, ecx
jne 0xfffc6
test eax, eax
je 0xfffb3
push str.Trying_RAW_ISO9660_with_16_byte_pre_block_size_n
push 2
call fcn.00158e14
add esp, 4
push eax
call fcn.000f0dc0
add esp, 8
mov dword [edi + 0x58], 0x10
mov dword [edi + 0x5c], 0x120
jmp 0xfff20
cmp ecx, 0x10
jne 0x1000f8
test eax, eax
je 0xfffeb
push str.Trying_RAW_ISO9660_with_24_byte_pre_block_size_n
push 2
call fcn.00158e14
add esp, 4
push eax
call fcn.000f0dc0
add esp, 8
mov dword [edi + 0x58], 0x18
mov dword [edi + 0x5c], 0x118
jmp 0xfff20
mov al, byte [esi]
mov byte [ebp - 1], 1
cmp al, 0xff
je 0x100119
movzx eax, al
sub eax, 1
je 0x10007b
sub eax, 1
jne 0x1000d0
mov ecx, dword [edi + 0x124]
test ecx, ecx
je 0x100073
lea edx, [esi + 0x8c]
lea eax, [ecx + 0x8c]
cmp edx, eax
je 0x100056
nop word [eax + eax]
mov eax, dword [ecx + 0x800]
test eax, eax
je 0x100056
mov ecx, eax
lea eax, [ecx + 0x8c]
cmp edx, eax
jne 0x100040
lea eax, [ecx + 0x8c]
cmp edx, eax
jne 0x10006b
push esi
call fcn.00158d47
add esp, 4
jmp 0x1000d0
mov dword [ecx + 0x800], esi
jmp 0x1000c6
mov dword [edi + 0x124], esi
jmp 0x1000c6
mov ecx, dword [edi + 0x120]
test ecx, ecx
je 0x1000c0
lea edx, [esi + 0x8c]
lea eax, [ecx + 0x8c]
cmp edx, eax
je 0x1000ab
mov eax, dword [ecx + 0x800]
test eax, eax
je 0x1000ab
mov ecx, eax
lea eax, [ecx + 0x8c]
cmp edx, eax
jne 0x100095
lea eax, [ecx + 0x8c]
cmp edx, eax
jne 0x10006b
push esi
call fcn.00158d47
add esp, 4
jmp 0x1000d0
mov dword [edi + 0x120], esi
mov dword [esi + 0x800], 0
add ebx, 0x800
mov ecx, 0x804
adc dword [ebp - 0xc], 0
call fcn.000f2310
mov esi, eax
test esi, esi
jne 0xfff20
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
mov dword [edi + 0x58], 0
mov dword [edi + 0x5c], 0
call fcn.00158d47
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [edi + 0x124]
test ebx, ebx
je 0x100280
nop word [eax + eax]
mov edi, dword [edi + 0x120]
mov eax, edi
test eax, eax
je 0x10026f
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 0x98]
mov dword [ebp - 0xc], ecx
nop dword [eax]
cmp ecx, 1
jne 0x1001a8
movzx edx, byte [eax + 0x97]
movzx ecx, byte [eax + 0x96]
movzx esi, byte [ebx + 0x97]
shl edx, 8
add edx, ecx
shl esi, 8
movzx ecx, byte [eax + 0x95]
shl edx, 8
add edx, ecx
movzx ecx, byte [eax + 0x94]
shl edx, 8
add edx, ecx
movzx ecx, byte [ebx + 0x96]
add esi, ecx
movzx ecx, byte [ebx + 0x95]
shl esi, 8
add esi, ecx
movzx ecx, byte [ebx + 0x94]
jmp 0x1001f9
movzx edx, byte [eax + 0x94]
movzx ecx, byte [eax + 0x95]
movzx esi, byte [ebx + 0x94]
shl edx, 8
add edx, ecx
shl esi, 8
movzx ecx, byte [eax + 0x96]
shl edx, 8
add edx, ecx
movzx ecx, byte [eax + 0x97]
shl edx, 8
add edx, ecx
movzx ecx, byte [ebx + 0x95]
add esi, ecx
movzx ecx, byte [ebx + 0x96]
shl esi, 8
add esi, ecx
movzx ecx, byte [ebx + 0x97]
shl esi, 8
add esi, ecx
cmp edx, esi
je 0x100215
mov eax, dword [eax + 0x800]
mov ecx, dword [ebp - 0xc]
test eax, eax
jne 0x100150
jmp 0x10026f
cmp eax, edi
jne 0x10022a
mov edx, dword [ebp - 8]
mov ecx, dword [eax + 0x800]
mov dword [edx + 0x120], ecx
jmp 0x10025c
cmp dword [edi + 0x800], eax
lea ecx, [edi + 0x800]
je 0x100250
nop dword [eax + eax]
mov edi, dword [ecx]
cmp dword [edi + 0x800], eax
lea ecx, [edi + 0x800]
jne 0x100240
mov ecx, dword [eax + 0x800]
mov dword [edi + 0x800], ecx
push eax
mov dword [eax + 0x800], 0
call fcn.00158d47
add esp, 4
mov ebx, dword [ebx + 0x800]
mov edi, dword [ebp - 8]
test ebx, ebx
jne 0x100130
cmp dword [edi + 0x120], 0
jne 0x1002ee
cmp dword [edi + 0x124], 0
jne 0x1002ee
call fcn.000ee7f0
mov edi, dword [0x1aa224]
push edi
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x1002d1
push 0xc08
call fcn.0015c8ae
add esp, 4
mov esi, eax
push 0xc08
push 0
push esi
call fcn.00153d90
add esp, 0xc
push esi
push edi
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
push str.load_vol_desc:_primary_and_secondary_volume_descriptors_null
mov dword [esi], 0x800000a
call fcn.000ee5f0
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
js 0x100340
call fcn.000ee7f0
mov ebx, dword [0x1aa224]
push ebx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
test edi, edi
jne 0x10033a
push 0xc08
call fcn.0015c8ae
add esp, 4
mov edi, eax
push 0xc08
push 0
push edi
call fcn.00153d90
add esp, 0xc
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov dword [edi], 0x8000004
push str.iso_load_vol_desc:_Error_reading
call fcn.000ee650
add esp, 4
push esi
call fcn.00158d47
add esp, 4
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret