Function at 0x10133290
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x124
mov eax, dword [0x101d2014]
mov ecx, dword [ebp + 8]
mov edi, dword [ebp + 0x24]
xor eax, ebp
cmp edi, 0x11
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 8]
mov byte [ebp - 0x101], 1
mov dword [ebp - 0x108], 4
mov dword [ebp - 0x10c], 0x10
mov dword [ebp - 0x110], 0
jb 0x101332e5
push 0
push 0xffffe005
jmp 0x1013365b
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x124], ecx
lea esi, [ebp - 0x100]
mov dword [ebp - 0x128], eax
mov ecx, edx
mov ebx, edx
and ecx, 0xff000000
and ebx, 0xffffff
cmp ecx, 0x82000000
cmovne ebx, edx
test edi, edi
je 0x1013333b
mov eax, dword [ebp + 0x20]
lea edx, [ebp - 0x100]
mov ecx, edi
mov esi, dword [eax + 8]
dec ecx
mov dword [edx + 8], esi
lea esi, [edx + 0xc]
movsd xmm0, qword [eax]
lea eax, [eax + 0xc]
movsd qword [edx], xmm0
mov edx, esi
jne 0x10133322
push 0
push edi
lea eax, [ebp - 0x100]
push eax
call fcn.10128510
add esp, 0xc
test eax, eax
jne 0x1013336a
lea eax, [ebp - 0x108]
mov dword [esi], 0
mov dword [esi + 4], eax
mov dword [esi + 8], 4
add esi, 0xc
lea eax, [ebp - 0x100]
push 0x100
push edi
push eax
call fcn.10128510
add esp, 0xc
test eax, eax
jne 0x101333ac
push dword [ebp + 0x1c]
push dword [ebp + 0x14]
call fcn.101230f0
add esp, 8
lea ecx, [ebp - 0x10c]
mov dword [esi], 0x100
mov dword [esi + 4], ecx
mov dword [esi + 8], 4
add esi, 0xc
mov dword [ecx], eax
cmp dword [ebp + 0x1c], 0
jle 0x101333e9
push 0x161
push edi
lea eax, [ebp - 0x100]
push eax
call fcn.10128510
add esp, 0xc
test eax, eax
jne 0x101333e9
mov ecx, dword [ebp + 0x1c]
lea eax, [ebp - 0x110]
mov dword [esi], 0x161
mov dword [esi + 4], eax
mov dword [esi + 8], 4
add esi, 0xc
mov dword [eax], ecx
mov eax, dword [ebp + 0xc]
test ebx, ebx
je 0x1013341d
push ebx
push edi
lea eax, [ebp - 0x100]
push eax
call fcn.10128510
add esp, 0xc
test eax, eax
jne 0x1013341a
lea eax, [ebp - 0x101]
mov dword [esi], ebx
mov dword [esi + 4], eax
mov dword [esi + 8], 1
add esi, 0xc
mov eax, dword [ebp + 0xc]
push eax
mov edi, dword [ebp - 0x128]
push edi
mov ebx, eax
call sym.nss3.dll_PK11_DoesMechanism
add esp, 8
mov edx, dword [ebp + 0x14]
test eax, eax
je 0x10133497
mov dword [ebp - 0x120], 0
xor eax, eax
cmp dword [ebp + 0x28], 0
mov dword [ebp - 0x128], edi
mov ecx, edi
mov edi, dword [ebp - 0x124]
sete al
push dword [edi + 0xc]
push 1
push eax
call fcn.101317e0
add esp, 0xc
test eax, eax
je 0x10133663
mov ebx, eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0xc]
test eax, eax
mov dword [ebx + 0x30], ecx
mov dword [ebp - 0x11c], edx
je 0x10133509
mov ecx, dword [eax + 4]
mov dword [ebp - 0x118], ecx
mov eax, dword [eax + 8]
jmp 0x10133515
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x11c]
mov eax, dword [edi + 0xc]
mov dword [ecx], ebx
xor ebx, ebx
push eax
push 1
push ebx
push ebx
push ecx
call fcn.101396c0
add esp, 0x14
test eax, eax
je 0x10133665
mov ecx, edi
mov edi, eax
xor ebx, ebx
push ecx
push ebx
push ebx
push 0x10c
push dword [ebp + 0xc]
push eax
call fcn.10132150
add esp, 0x18
lock dec dword [edi + 0x48]
jne 0x101334ea
push edi
mov edi, eax
call fcn.10135de0
mov eax, edi
add esp, 4
test eax, eax
je 0x10133665
mov edi, dword [eax + 8]
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
jmp 0x10133440
xor eax, eax
mov dword [ebp - 0x118], 0
cmp dword [ebp + 0x28], 0
mov dword [ebp - 0x114], eax
mov dword [ebx + 0x34], 1
je 0x10133546
push dword [ebp - 0x128]
call fcn.101363c0
add esp, 4
mov edi, eax
test eax, eax
jne 0x1013359c
mov esi, 0xb3
jmp 0x1013362f
cmp dword [ebx + 0x28], 0
mov eax, dword [ebx + 8]
je 0x10133555
cmp dword [eax + 0x30], 0
jne 0x10133591
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x130], eax
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
mov dword [ebp - 0x12c], eax
je 0x101336a8
mov edi, dword [ebp - 0x130]
lea eax, [edi + 0x1c]
push eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x12c]
mov dword [edi + 8], eax
mov edi, dword [ebx + 0x24]
test edi, edi
je 0x1013367c
lea eax, [ebp - 0x100]
sub esi, eax
sar esi, 2
imul eax, esi, 0xaaaaaaab
mov esi, ebx
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x128]
add esi, 4
mov eax, dword [eax]
mov ecx, dword [eax + 0xfa]
mov eax, dword [ebp - 0x124]
mov eax, dword [eax + 4]
mov dword [ebp - 0x124], eax
call dword [section..00cfg]
lea eax, [ebp - 0x11c]
push esi
push dword [ebp - 0x12c]
lea edx, [ebp - 0x100]
push edx
push dword [ebp - 0x124]
push eax
push edi
call ecx
add esp, 0x18
cmp dword [ebp + 0x28], 0
mov esi, eax
je 0x10133615
push edi
push dword [ebp - 0x128]
call fcn.101364f0
add esp, 8
jmp 0x1013362f
cmp dword [ebx + 0x28], 0
mov eax, dword [ebx + 8]
je 0x10133624
cmp dword [eax + 0x30], 0
jne 0x1013362f
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov edi, dword [ebp - 0x120]
test edi, edi
je 0x10133642
push edi
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
test esi, esi
je 0x10133665
push ebx
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
push esi
call fcn.10115520
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10192ef0
mov eax, ebx
add esp, 0x124
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [ebx + 0x28], 0
mov eax, dword [ebx + 8]
mov edi, dword [ebp - 0x120]
je 0x10133696
cmp dword [eax + 0x30], 0
mov esi, 0xb3
jne 0x10133635
push dword [eax + 0x3c]
call sym.nss3.dll_PR_Unlock
add esp, 4
mov esi, 0xb3
jmp 0x10133635
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
mov dword [ebp - 0x12c], eax
jmp 0x10133578