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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, ecx
push edi
cmp dword [esi + 0x98], 1
jne 0x135870
movzx eax, byte [esi + 0x422b]
cdq
mov edi, eax
mov ebx, edx
movzx eax, byte [esi + 0x422a]
shld ebx, edi, 8
cdq
shl edi, 8
add edi, eax
movzx eax, byte [esi + 0x4229]
adc ebx, edx
cdq
shld ebx, edi, 8
shl edi, 8
add edi, eax
movzx eax, byte [esi + 0x4228]
adc ebx, edx
cdq
shld ebx, edi, 8
shl edi, 8
add edi, eax
movzx eax, byte [esi + 0x4227]
adc ebx, edx
cdq
shld ebx, edi, 8
shl edi, 8
add edi, eax
movzx eax, byte [esi + 0x4226]
adc ebx, edx
cdq
shld ebx, edi, 8
shl edi, 8
add edi, eax
movzx eax, byte [esi + 0x4225]
adc ebx, edx
cdq
shld ebx, edi, 8
shl edi, 8
add edi, eax
movzx eax, byte [esi + 0x4224]
jmp 0x1358f3
movzx eax, byte [esi + 0x4224]
cdq
mov edi, eax
mov ebx, edx
movzx eax, byte [esi + 0x4225]
shld ebx, edi, 8
cdq
shl edi, 8
add edi, eax
movzx eax, byte [esi + 0x4226]
adc ebx, edx
cdq
shld ebx, edi, 8
shl edi, 8
add edi, eax
movzx eax, byte [esi + 0x4227]
adc ebx, edx
cdq
shld ebx, edi, 8
shl edi, 8
add edi, eax
movzx eax, byte [esi + 0x4228]
adc ebx, edx
cdq
shld ebx, edi, 8
shl edi, 8
add edi, eax
movzx eax, byte [esi + 0x4229]
adc ebx, edx
cdq
shld ebx, edi, 8
shl edi, 8
add edi, eax
movzx eax, byte [esi + 0x422a]
adc ebx, edx
cdq
shld ebx, edi, 8
shl edi, 8
add edi, eax
movzx eax, byte [esi + 0x422b]
adc ebx, edx
cdq
shld ebx, edi, 8
shl edi, 8
add edi, eax
mov eax, edi
adc ebx, edx
or eax, ebx
jne 0x135979
call fcn.000ee7f0
mov edi, dword [0x1aa224]
push edi
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, eax
test esi, esi
jne 0x135946
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.Not_an_exFAT_file_system__invalid_volume_length_
mov dword [esi], 0x800000a
call fcn.000ee5f0
add esp, 4
cmp dword [0x1aa220], 0
je 0x135e25
push 0
push 0
push str.exfatfs_get_fs_layout
push str._s:_Invalid_volume_length_in_sectors___llu__n
jmp 0x135e12
mov al, byte [esi + 0x424a]
mov byte [esi + 0x4195], al
cmp al, 1
je 0x1359e4
cmp al, 2
je 0x1359e4
call fcn.000ee7f0
mov ecx, 0x800000a
call fcn.000ee550
push str.Not_an_exFAT_file_system__number_of_FATs_
call fcn.000ee5f0
add esp, 4
cmp dword [0x1aa220], 0
je 0x135e25
movzx eax, byte [esi + 0x4195]
push eax
push str.exfatfs_get_fs_layout
push str._s:_Invalid_number_of_FATs___d__n
push 2
call fcn.00158e14
add esp, 4
push eax
call fcn.000a3930
add esp, 0x10
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x98], 1
jne 0x135a15
movzx ecx, byte [esi + 0x422f]
movzx eax, byte [esi + 0x422e]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x422d]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x422c]
jmp 0x135a3b
movzx ecx, byte [esi + 0x422c]
movzx eax, byte [esi + 0x422d]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x422e]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x422f]
shl ecx, 8
add ecx, eax
mov dword [esi + 0x415c], 0
mov edx, ecx
mov dword [esi + 0x4158], ecx
mov ecx, dword [esi + 0x415c]
mov eax, edx
or eax, ecx
je 0x135da1
cmp ecx, ebx
ja 0x135da1
jb 0x135a74
cmp edx, edi
jae 0x135da1
cmp dword [esi + 0x98], 1
jne 0x135aa5
movzx ecx, byte [esi + 0x4237]
movzx eax, byte [esi + 0x4236]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x4235]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x4234]
jmp 0x135acb
movzx ecx, byte [esi + 0x4234]
movzx eax, byte [esi + 0x4235]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x4236]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x4237]
shl ecx, 8
add ecx, eax
mov dword [esi + 0x4164], 0
mov dword [esi + 0x4160], ecx
mov edx, ecx
movzx ecx, byte [esi + 0x4195]
xor eax, eax
imul ecx, dword [esi + 0x4198]
add ecx, dword [esi + 0x4158]
adc eax, dword [esi + 0x415c]
add ecx, 0xffffffff
adc eax, 0xffffffff
cmp dword [esi + 0x4164], eax
jb 0x135d60
ja 0x135b1a
cmp edx, ecx
jbe 0x135d60
mov eax, dword [esi + 0x4164]
cmp eax, ebx
ja 0x135d60
jb 0x135b32
cmp edx, edi
jae 0x135d60
mov dword [esi + 0x4168], edx
mov dword [esi + 0x416c], eax
cmp dword [esi + 0x98], 1
jne 0x135b6f
movzx ecx, byte [esi + 0x423b]
movzx eax, byte [esi + 0x423a]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x4239]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x4238]
jmp 0x135b95
movzx ecx, byte [esi + 0x4238]
movzx eax, byte [esi + 0x4239]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x423a]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x423b]
shl ecx, 8
add ecx, eax
mov dword [esi + 0x4174], 0
push dword [esi + 0x4174]
movzx eax, byte [esi + 0x4194]
mov dword [ebp - 4], eax
cdq
push ecx
push edx
push eax
mov dword [esi + 0x4170], ecx
call fcn.00171bf0
add eax, dword [esi + 0x4160]
mov ecx, dword [esi + 0x4170]
adc edx, dword [esi + 0x4164]
add eax, 0xffffffff
mov dword [ebp - 8], eax
adc edx, 0xffffffff
or ecx, dword [esi + 0x4174]
je 0x135d1c
cmp edx, ebx
ja 0x135d1c
jb 0x135bfc
cmp eax, edi
jae 0x135d1c
mov eax, dword [esi + 0x4170]
mov ecx, dword [esi + 0x4174]
add eax, 1
mov dword [esi + 0x4178], eax
adc ecx, 0
mov dword [esi + 0x41a0], 0xfffffff
mov dword [esi + 0x417c], ecx
cmp dword [esi + 0x98], 1
jne 0x135c55
movzx ecx, byte [esi + 0x423f]
movzx eax, byte [esi + 0x423e]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x423d]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x423c]
jmp 0x135c7b
movzx ecx, byte [esi + 0x423c]
movzx eax, byte [esi + 0x423d]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x423e]
shl ecx, 8
add ecx, eax
movzx eax, byte [esi + 0x423f]
shl ecx, 8
add ecx, eax
xor eax, eax
and ecx, 0xfffffff
sub ecx, 2
imul ecx, dword [ebp - 4]
add ecx, dword [esi + 0x4168]
mov dword [esi + 0x4180], ecx
adc eax, dword [esi + 0x416c]
mov edi, eax
mov dword [esi + 0x4184], eax
cmp edi, dword [esi + 0x4164]
jb 0x135cd8
ja 0x135cbb
cmp ecx, dword [esi + 0x4160]
jb 0x135cd8
cmp edi, edx
ja 0x135cd8
jb 0x135cc6
cmp ecx, dword [ebp - 8]
ja 0x135cd8
xor eax, eax
mov word [esi + 0x419c], ax
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.000ee7f0
mov ecx, 0x8000003
call fcn.000ee550
push str.Not_an_exFAT_file_system__invalid_root_directory_sector_address_
call fcn.000ee5f0
add esp, 4
cmp dword [0x1aa220], 0
je 0x135e25
push dword [esi + 0x4184]
push dword [esi + 0x4180]
push str.exfatfs_get_fs_layout
push str._s:_Invalid_root_directory_sector_address___llu__n
jmp 0x135e12
call fcn.000ee7f0
mov ecx, 0x8000003
call fcn.000ee550
push str.Not_an_exFAT_file_system__invalid_cluster_count_
call fcn.000ee5f0
add esp, 4
cmp dword [0x1aa220], 0
je 0x135e25
push dword [esi + 0x4174]
push dword [esi + 0x4170]
push str.exfatfs_get_fs_layout
push str._s:_Invalid_cluster_count___llu__n
jmp 0x135e12
call fcn.000ee7f0
mov ecx, 0x8000003
call fcn.000ee550
push str.Not_an_exFAT_file_system__invalid_first_data_sector
call fcn.000ee5f0
add esp, 4
cmp dword [0x1aa220], 0
je 0x135e25
push dword [esi + 0x4164]
push dword [esi + 0x4160]
push str.exfatfs_get_fs_layout
push str._s:_Invalid_first_data_sector___llu__n
jmp 0x135e12
call fcn.000ee7f0
mov ebx, dword [0x1aa224]
push ebx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
test edi, edi
jne 0x135de0
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]
push str.Not_an_exFAT_file_system__invalid_first_FAT_sector_
mov dword [edi], 0x8000003
call fcn.000ee5f0
add esp, 4
cmp dword [0x1aa220], 0
je 0x135e25
push dword [esi + 0x415c]
push dword [esi + 0x4158]
push str.exfatfs_get_fs_layout
push str._s:_Invalid_first_FAT_sector___llu__n
push 2
call fcn.00158e14
add esp, 4
push eax
call fcn.000a3930
add esp, 0x14
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret