Function at 0x1012d690
Capabilities:
Get thread local storage value
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1a0
mov edi, dword [ebp + 8]
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [esp + 0x198], eax
mov eax, 0xb4
add eax, dword [edi + 0x78]
lea ecx, [esp + 0x38]
push eax
push ecx
call sym.nss3.dll_DER_DecodeTimeChoice_Util
add esp, 8
test eax, eax
je 0x1012d723
cmp dword [0x101de200], 0
je 0x1012dbd5
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1012db33
push 0
push dword [eax + 0x28]
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101de200], 0
je 0x1012dbdf
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1012db4e
mov esi, dword [eax + 0x28]
push 0x50
jmp 0x1012d993
mov ebx, dword [ebp + 0xc]
mov eax, dword [esp + 0x3c]
imul ecx, dword [ebx], 0xf4240
add ecx, dword [esp + 0x38]
adc eax, 0
lea esi, [esp + 0x10]
push esi
push sym.nss3.dll_PR_GMTParameters
push eax
push ecx
call sym.nss3.dll_PR_ExplodeTime
add esp, 0x10
lea eax, [esp + 0x50]
push esi
push str._a__b__d__H:_M:_S__Y
push 0x100
push eax
call sym.nss3.dll_PR_FormatTime
add esp, 0x10
xorps xmm0, xmm0
lea esi, [esp + 0x40]
movaps xmmword [esi], xmm0
mov edi, dword [edi + 0x78]
push 4
push 0
push dword [ebx]
push esi
call fcn.101114b0
add esp, 0x10
xor ecx, ecx
test eax, eax
je 0x1012d789
mov ebx, esi
jmp 0x1012d7e1
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov ecx, eax
sar ecx, 0x1f
push 2
push ecx
push eax
push esi
call fcn.101114b0
add esp, 0x10
test eax, eax
jne 0x1012d7dd
push 3
mov eax, dword [ebp + 0xc]
push dword [eax + 0x10]
push dword [eax + 0xc]
push esi
call fcn.10111590
add esp, 0x10
test eax, eax
jne 0x1012d7dd
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
mov ecx, eax
sar ecx, 0x1f
push 2
push ecx
push eax
push esi
call fcn.101114b0
add esp, 0x10
test eax, eax
je 0x1012d9d2
mov ebx, esi
xor ecx, ecx
push ecx
call sym.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
xor eax, eax
dec eax
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 8]
push ebx
call fcn.10111940
add esp, 4
mov dword [esp + 0x150], 0
mov edi, dword [edi + 0x78]
mov dword [esp + 0x154], 0x101dd8bc
mov dword [esp + 0x158], 9
mov eax, dword [edi + 0x114]
mov eax, dword [eax]
test eax, eax
je 0x1012d86f
mov ebx, 4
lea esi, [esp + 0x150]
push esi
push eax
call sym.nss3.dll_SECITEM_CompareItem_Util
add esp, 8
test eax, eax
je 0x1012d859
mov eax, dword [edi + 0x114]
mov eax, dword [eax + ebx]
add ebx, 4
test eax, eax
jne 0x1012d839
jmp 0x1012d86f
cmp dword [edi + 0x138], 0
je 0x1012d86f
cmp byte [edi + 0x130], 0
js 0x1012d9ca
xor esi, esi
mov edi, 0xffffd0b8
push esi
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x2f
push 2
mov ebx, dword [ebp + 8]
push ebx
call fcn.100fa900
add esp, 0xc
push esi
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
xor eax, eax
dec eax
mov dword [esp + 0xc], eax
mov esi, dword [ebp + 0xc]
mov eax, 0xb4
add eax, dword [ebx + 0x78]
lea ecx, [esp + 0x150]
push eax
push ecx
call sym.nss3.dll_DER_DecodeTimeChoice_Util
add esp, 8
test eax, eax
mov edi, ebx
je 0x1012d91c
cmp dword [0x101de200], 0
je 0x1012dbe9
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1012db69
push 0
push dword [eax + 0x28]
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101de200], 0
je 0x1012dbf3
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1012db84
mov esi, dword [eax + 0x28]
mov eax, 0x50
jmp 0x1012d992
mov eax, 0xf4240
mul dword [esi]
mov ecx, edi
mov edi, edx
mov ebx, eax
add ebx, dword [esp + 0x150]
adc edi, dword [esp + 0x154]
push ecx
call fcn.1011c450
add esp, 4
cmp ebx, eax
mov ecx, edi
sbb ecx, edx
jl 0x1012d976
test edi, edi
js 0x1012d976
sub ebx, eax
sbb edi, edx
mov eax, 0xd0e3a000
cmp eax, ebx
mov eax, 0x8c
sbb eax, edi
jge 0x1012d9c4
push 0
push 0xffffd0ba
call sym.nss3.dll_PR_SetError
add esp, 8
mov esi, 0xffffd0ba
jmp 0x1012d98a
push 0
push 0xffffd0b9
call sym.nss3.dll_PR_SetError
add esp, 8
mov esi, 0xffffd0b9
mov eax, 0x2f
mov edi, dword [ebp + 8]
push eax
push 2
push edi
call fcn.100fa900
add esp, 0xc
push 0
push esi
call sym.nss3.dll_PR_SetError
add esp, 8
xor esi, esi
dec esi
mov ecx, dword [esp + 0x198]
xor ecx, ebp
call fcn.1014dc80
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [esp + 0xc]
jmp 0x1012d9ac
mov ebx, dword [ebp + 8]
jmp 0x1012d8a1
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x18]
lea ecx, [esp + 0x150]
push esi
push edi
call fcn.1012e210
add esp, 8
test eax, eax
mov ebx, esi
je 0x1012da60
cmp dword [0x101de200], 0
je 0x1012dbfd
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1012db9f
push 0
push dword [eax + 0x28]
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101de200], 0
je 0x1012dc07
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1012dbba
mov edi, dword [eax + 0x28]
push 0x50
push 2
push dword [ebp + 8]
call fcn.100fa900
add esp, 0xc
push 0
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x1012d7df
lea esi, [esp + 0x150]
add edi, 0xd4
mov ecx, edi
call fcn.10094ac0
test eax, eax
je 0x1012da9f
mov ebx, dword [ebp + 0xc]
lea ecx, [ebx + 0x1c]
push ecx
push esi
push dword [ebx + 0x18]
mov esi, eax
push eax
mov edi, dword [ebp + 8]
push edi
call fcn.100fae60
add esp, 0x14
test eax, eax
je 0x1012dad0
xor edi, edi
mov ebx, 0xffffd0b7
jmp 0x1012daeb
xor esi, esi
mov edi, 0xffffd043
push esi
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x50
push 2
push dword [ebp + 8]
call fcn.100fa900
add esp, 0xc
push esi
push edi
call sym.nss3.dll_PR_SetError
xor ecx, ecx
add esp, 8
jmp 0x1012d7e1
mov eax, dword [ebx + 0x14]
add eax, 4
push eax
call sym.nss3.dll_SECOID_GetAlgorithmTag_Util
add esp, 4
cmp eax, 0x10
jne 0x1012db19
xor edi, edi
mov ebx, 0xffffd080
push edi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x2f
push 2
push dword [ebp + 8]
call fcn.100fa900
add esp, 0xc
push edi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
lea ebx, [esp + 0x40]
mov ecx, esi
jmp 0x1012d7e1
push esi
call sym.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
mov dword [esp + 0xc], 0
lea ebx, [esp + 0x40]
jmp 0x1012d7f4
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x1012d6eb
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x1012d719
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x1012d8e4
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x1012d912
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x1012da10
sub esp, 0x10
movaps xmm0, xmmword [0x1019c190]
movups xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x1012da3e
call fcn.100745e0
jmp 0x1012d6d7
call fcn.100745e0
jmp 0x1012d705
call fcn.100745e0
jmp 0x1012d8d0
call fcn.100745e0
jmp 0x1012d8fe
call fcn.100745e0
jmp 0x1012d9fc
call fcn.100745e0
jmp 0x1012da2a