Function at 0x100f3440
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov eax, dword [0x101d2014]
mov esi, ecx
mov ecx, dword [ebp + 0x20]
mov ebx, dword [ebp + 0xc]
mov edi, edx
xor eax, ebp
test ecx, ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x64], 0
je 0x100f3479
mov dword [ecx], 0
lea eax, [esp + 0x60]
lea ecx, [esp + 0x5c]
push eax
push ecx
push 1
push ebx
call fcn.100e88a0
add esp, 0x10
test eax, eax
je 0x100f34a6
cmp dword [ebp + 0x1c], 0
je 0x100f3d86
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
cmp ebx, 0xc
ja 0x100f3d96
mov eax, 0x1d7f
bt eax, ebx
jae 0x100f3d96
cmp ebx, 0xd
jae 0x100f34cc
mov eax, 0x1d7f
bt eax, ebx
jb 0x100f34de
xor ecx, ecx
cmp dword [ebp + 0x1c], 0
mov eax, 0
jne 0x100f34ec
jmp 0x100f3d86
mov ecx, dword [ebx*4 + 0x1019e068]
mov eax, dword [ebx*4 + 0x1019e09c]
test esi, esi
je 0x100f3d86
mov dword [esp + 0x20], ecx
mov dword [esp + 0x48], eax
push esi
call fcn.10106d10
add esp, 4
test eax, eax
je 0x100f350d
lock inc dword [eax + 4]
push 0x800
call sym.nss3.dll_PORT_NewArena_Util
add esp, 4
test eax, eax
mov dword [esp + 0x38], eax
je 0x100f3d7d
push 0x40
call sym.nss3.dll_PORT_ZAlloc_Util
add esp, 4
test eax, eax
je 0x100f3d8e
cmp ebx, 1
mov dword [esp + 8], eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x3c], 0x10
mov dword [esp + 0x40], esi
mov dword [esp + 0x28], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x1c], 0
sete al
cmp ebx, 0xc
sete cl
and ebx, 0xfffffffe
or cl, al
mov dword [esp + 0x44], ebx
xor ebx, ebx
mov byte [esp + 0x1b], cl
test ebx, ebx
mov dword [esp + 4], esi
jne 0x100f3646
cmp dword [esp + 0xc], 0
sete al
and al, byte [esp + 0x1b]
movzx eax, al
push eax
push dword [esp + 0x3c]
push esi
call sym.nss3.dll_CERT_GetConstrainedCertificateNames
add esp, 0xc
test eax, eax
je 0x100f3e3f
mov edi, eax
push eax
call fcn.100edb70
add esp, 4
test eax, eax
je 0x100f3e61
mov esi, eax
mov eax, dword [esp + 0x28]
lea ebx, [esi + eax]
cmp dword [esp + 0x3c], ebx
jg 0x100f3612
lea eax, [ebx*8]
test eax, eax
js 0x100f3e52
push eax
push dword [esp + 0xc]
call dword [sym.imp.mozglue.dll_realloc]
add esp, 8
test eax, eax
je 0x100f3e52
lea ecx, [ebx + ebx]
mov dword [esp + 8], eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 4]
test esi, esi
jle 0x100f362d
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x28]
lea eax, [eax + edx*4]
mov dword [eax], ecx
add eax, 4
dec esi
jne 0x100f3625
push edi
push dword [esp + 0x38]
call fcn.100edad0
mov esi, dword [esp + 0xc]
add esp, 8
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], ebx
test byte [esi + 0x174], 1
mov edi, dword [ebp + 0xc]
mov ebx, 0xffffffff
mov dword [esp + 0x14], ebx
je 0x100f3693
push 0
push 0xffffe029
call sym.nss3.dll_PR_SetError
add esp, 8
mov esi, dword [ebp + 0x1c]
test esi, esi
je 0x100f3e46
call sym.nss3.dll_PR_GetCurrentThread
mov ecx, esi
mov esi, dword [esp + 4]
mov edx, esi
push 0
push dword [esp + 0x10]
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push esi
call sym.nss3.dll_CERT_FindCertIssuer
add esp, 0x10
test eax, eax
je 0x100f3dd4
cmp dword [esp + 0x4c], 0
mov edi, dword [ebp + 0x1c]
mov ebx, eax
je 0x100f375c
push 0
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
call sym.nss3.dll_CERT_CheckCertValidTimes
add esp, 0x10
test eax, eax
je 0x100f389f
mov eax, dword [ebp + 8]
test eax, eax
je 0x100f36e1
mov dword [eax], 1
call sym.nss3.dll_PR_GetCurrentThread
cmp dword [eax + 0x28], 0xffffe00b
jne 0x100f371b
push 0
push 0xffffe01e
call sym.nss3.dll_PR_SetError
add esp, 8
test edi, edi
je 0x100f3e48
mov eax, dword [esp + 0xc]
lea esi, [eax + 1]
call sym.nss3.dll_PR_GetCurrentThread
mov ecx, edi
mov edx, ebx
push 0
push esi
jmp 0x100f3751
call sym.nss3.dll_PR_GetCurrentThread
cmp dword [eax + 0x28], 0xffffe0b0
je 0x100f3738
push 0
push 0xffffe00a
call sym.nss3.dll_PR_SetError
add esp, 8
test edi, edi
je 0x100f3e48
call sym.nss3.dll_PR_GetCurrentThread
mov edx, dword [esp + 4]
mov ecx, edi
push 0
push dword [esp + 0x10]
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
lea eax, [esp + 0x68]
push eax
push ebx
call fcn.100ea810
add esp, 8
test eax, eax
je 0x100f37af
call sym.nss3.dll_PR_GetCurrentThread
cmp dword [eax + 0x28], 0xffffe023
je 0x100f37a2
test edi, edi
je 0x100f3e48
mov eax, dword [esp + 0xc]
lea esi, [eax + 1]
call sym.nss3.dll_PR_GetCurrentThread
mov ecx, edi
mov edx, ebx
push 0
push esi
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
mov dword [esp + 0x30], 0
jmp 0x100f3833
cmp dword [esp + 0x68], 0
jne 0x100f37eb
push 0
push 0xffffe024
call sym.nss3.dll_PR_SetError
add esp, 8
test edi, edi
je 0x100f3e48
mov eax, dword [esp + 0xc]
lea esi, [eax + 1]
call sym.nss3.dll_PR_GetCurrentThread
mov ecx, edi
mov edx, ebx
push 0
push esi
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
mov esi, dword [esp + 0x6c]
mov al, 1
mov dword [esp + 0x30], eax
cmp esi, dword [esp + 0x2c]
jae 0x100f3833
push 0
push 0xffffe025
call sym.nss3.dll_PR_SetError
add esp, 8
test edi, edi
je 0x100f3e48
mov eax, dword [esp + 0xc]
lea edi, [eax + 1]
call sym.nss3.dll_PR_GetCurrentThread
mov ecx, dword [ebp + 0x1c]
mov edx, ebx
push esi
push edi
mov edi, dword [ebp + 0x1c]
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x3c]
push dword [esp + 0x10]
push dword [esp + 0x40]
push ebx
call fcn.100ee550
add esp, 0x14
test eax, eax
jne 0x100f3e0c
cmp dword [esp + 0x64], 0
jne 0x100f3e0c
mov eax, dword [ebx + 0x5c]
cmp eax, 0x56
jle 0x100f3884
cmp eax, 0x57
je 0x100f38e3
cmp eax, 0x5a
je 0x100f38ec
cmp eax, 0x7f
jne 0x100f3937
push 0x7f
push 0x1019df91
jmp 0x100f38f3
cmp eax, 0x48
je 0x100f3b7a
cmp eax, 0x55
jne 0x100f3937
push 0x55
push 0x1019e010
jmp 0x100f38f3
lea ecx, [ebx + 0xd4]
call fcn.100f9910
test eax, eax
je 0x100f36d4
mov esi, eax
mov eax, dword [esp + 4]
add eax, 0xc
push dword [ebp + 0x18]
push esi
push eax
call fcn.100f2e80
add esp, 0xc
mov edi, eax
push esi
call sym.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
test edi, edi
mov edi, dword [ebp + 0x1c]
jne 0x100f36d4
jmp 0x100f375c
push 0x57
push 0x1019dee0
jmp 0x100f38f3
push 0x5a
push 0x1019df37
push dword [ebx + 0x58]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x100f3937
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x48]
call sym.nss3.dll_CERT_GetCertTimes
add esp, 0xc
test eax, eax
jne 0x100f3dad
mov eax, dword [esp + 0x7c]
cmp dword [esp + 0x78], 0xb92ba001
sbb eax, 0x53f54
jge 0x100f3dad
xor eax, eax
push eax
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push ebx
push dword [esp + 0x20]
call fcn.100ec970
add esp, 0x20
cmp eax, 0xfffffffe
je 0x100f398f
cmp eax, 0xffffffff
jne 0x100f39cc
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x100f3969
mov dword [eax], 1
test edi, edi
je 0x100f3e48
call sym.nss3.dll_PR_GetCurrentThread
mov edx, dword [esp + 4]
mov ecx, edi
push 0
push dword [esp + 0x10]
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
jmp 0x100f39cc
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x100f399c
mov dword [eax], 1
test edi, edi
mov eax, 0xffffffff
mov dword [esp + 0x1c], eax
je 0x100f39cc
call sym.nss3.dll_PR_GetCurrentThread
mov edx, dword [esp + 4]
mov ecx, edi
push 0
push dword [esp + 0x10]
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
xor eax, eax
dec eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x50]
push eax
push ebx
call sym.nss3.dll_CERT_GetCertTrust
add esp, 8
test eax, eax
je 0x100f3a87
mov eax, dword [ebx + 0x13c]
test eax, 0x4207
sete cl
test byte [esp + 0x30], cl
jne 0x100f3a31
test dword [esp + 0x60], eax
jne 0x100f3a31
push 0
push 0xffffe024
call sym.nss3.dll_PR_SetError
add esp, 8
test edi, edi
je 0x100f3e48
mov eax, dword [esp + 0xc]
lea esi, [eax + 1]
call sym.nss3.dll_PR_GetCurrentThread
mov ecx, edi
mov edx, ebx
push 0
push esi
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
push dword [esp + 0x5c]
push ebx
call fcn.100e8910
add esp, 8
test eax, eax
je 0x100f3ce6
push 0
push 0xffffe05a
call sym.nss3.dll_PR_SetError
add esp, 8
test edi, edi
je 0x100f3e48
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x5c]
lea edi, [eax + 1]
call sym.nss3.dll_PR_GetCurrentThread
mov ecx, dword [ebp + 0x1c]
mov edx, ebx
push esi
push edi
mov edi, dword [ebp + 0x1c]
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
jmp 0x100f3ce6
cmp dword [esp + 0x44], 0xa
mov edx, dword [esp + 0x48]
jne 0x100f3b59
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 4]
mov eax, ebx
and eax, edx
cmp eax, edx
je 0x100f3e6c
mov edi, dword [esp + 0x54]
mov eax, edi
and eax, edx
cmp eax, edx
je 0x100f3e6c
mov eax, dword [esp + 0x58]
mov ecx, eax
and ecx, edx
cmp ecx, edx
je 0x100f3e6c
mov esi, ebx
or eax, edi
shr esi, 3
and esi, 1
test al, 8
mov eax, 1
cmovne esi, eax
mov eax, ebx
and eax, 0x13
cmp eax, 1
mov eax, dword [esp + 0xc]
lea eax, [eax + 1]
mov dword [esp + 0x24], eax
jne 0x100f3bc8
push 0
push 0xffffe014
call sym.nss3.dll_PR_SetError
add esp, 8
mov edi, dword [ebp + 0x1c]
test edi, edi
je 0x100f3ed0
call sym.nss3.dll_PR_GetCurrentThread
mov edx, dword [esp + 0x10]
mov ecx, edi
push ebx
push dword [esp + 0x28]
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
mov edi, dword [esp + 0x54]
mov eax, edi
and eax, 0x13
cmp eax, 1
jne 0x100f3c07
push 0
push 0xffffe014
call sym.nss3.dll_PR_SetError
add esp, 8
mov ebx, dword [ebp + 0x1c]
jmp 0x100f3bec
cmp dword [ebp + 0xc], 8
mov esi, dword [esp + 4]
jne 0x100f3ba2
mov eax, dword [esi + 0x13c]
test al, 2
jne 0x100f3c5b
test al, 4
jne 0x100f3bb7
jmp 0x100f3c6f
mov esi, dword [ebx + 0x58]
push 0x48
push str.0F1_v0_t
push esi
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100f3902
push 0x48
push 0x1019de98
push esi
jmp 0x100f38f6
mov eax, dword [esp + 0x20]
cmp eax, 1
je 0x100f3c5b
test eax, eax
jne 0x100f3c68
mov edi, dword [esp + 0x50]
mov dword [esp + 0x20], 0
jmp 0x100f3c7b
mov eax, edi
and eax, 0x13
cmp eax, 1
jne 0x100f3c07
push 0
push 0xffffe014
call sym.nss3.dll_PR_SetError
add esp, 8
mov ebx, dword [ebp + 0x1c]
test ebx, ebx
je 0x100f3ed0
call sym.nss3.dll_PR_GetCurrentThread
mov edx, dword [esp + 0x10]
mov ecx, ebx
push edi
push dword [esp + 0x28]
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
mov edi, dword [esp + 0x58]
mov dword [esp + 0x20], 3
mov eax, edi
and eax, 0x13
cmp eax, 1
jne 0x100f3c4f
push 0
push 0xffffe014
call sym.nss3.dll_PR_SetError
add esp, 8
mov eax, dword [ebp + 0x1c]
mov ebx, dword [esp + 0x10]
test eax, eax
je 0x100f3e48
call sym.nss3.dll_PR_GetCurrentThread
mov ecx, dword [ebp + 0x1c]
mov edx, ebx
push edi
push dword [esp + 0x28]
jmp 0x100f3cd0
mov edi, dword [ebp + 0x1c]
mov ebx, dword [esp + 0x10]
jmp 0x100f3cde
mov edi, dword [esp + 0x54]
xor eax, eax
inc eax
mov dword [esp + 0x20], eax
jmp 0x100f3c7b
xor edi, edi
cmp eax, 2
jne 0x100f3c7b
mov edi, dword [esp + 0x58]
mov dword [esp + 0x20], 2
mov eax, edi
and eax, edx
cmp eax, edx
je 0x100f3e76
mov esi, edi
mov eax, edi
shr esi, 3
and eax, 0x13
and esi, 1
cmp eax, 1
jne 0x100f3cdb
push 0
push 0xffffe014
call sym.nss3.dll_PR_SetError
add esp, 8
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x100f3e48
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], ebx
lea ebx, [eax + 1]
call sym.nss3.dll_PR_GetCurrentThread
mov ecx, dword [ebp + 0x1c]
mov edx, dword [esp + 0x10]
push edi
push ebx
mov ebx, dword [esp + 0x18]
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
mov edi, dword [ebp + 0x1c]
test esi, esi
je 0x100f39e2
cmp dword [ebx + 0x170], 0
jne 0x100f3dad
mov ecx, ebx
lea eax, [ebx + 0x54]
add ecx, 0x48
push eax
push ecx
call sym.nss3.dll_SECITEM_HashCompare
add esp, 8
test eax, eax
mov edi, ebx
je 0x100f3d1f
xor eax, eax
xor ebx, ebx
cmp dword [edi + 0x5c], 0
sete al
setne bl
add dword [esp + 0x2c], eax
jmp 0x100f3d25
inc dword [esp + 0x2c]
xor ebx, ebx
mov eax, dword [esp + 4]
push eax
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov eax, dword [esp + 0xc]
mov esi, edi
inc eax
cmp eax, 0x14
mov dword [esp + 0xc], eax
jne 0x100f358f
push 0
push 0xffffe00d
call sym.nss3.dll_PR_SetError
add esp, 8
mov esi, dword [ebp + 0x1c]
test esi, esi
je 0x100f3d74
call sym.nss3.dll_PR_GetCurrentThread
mov ecx, esi
mov edx, edi
push 0
push 0x14
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
mov esi, edi
xor ebx, ebx
jmp 0x100f3e7e
push esi
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
xor edi, edi
dec edi
jmp 0x100f3eb8
xor edi, edi
dec edi
jmp 0x100f3ea1
cmp dword [ebp + 0x1c], 0
je 0x100f3d86
mov dword [esp + 0x60], 0
xor ecx, ecx
xor eax, eax
jmp 0x100f34ec
push 0
push 0xffffe014
call sym.nss3.dll_PR_SetError
add esp, 8
test edi, edi
je 0x100f3e48
mov esi, dword [esp + 0xc]
inc esi
call sym.nss3.dll_PR_GetCurrentThread
mov ecx, edi
mov edx, ebx
jmp 0x100f3e2f
push 0
push 0xffffe00d
call sym.nss3.dll_PR_SetError
add esp, 8
mov esi, dword [ebp + 0x1c]
xor ebx, ebx
test esi, esi
je 0x100f3e48
call sym.nss3.dll_PR_GetCurrentThread
mov ecx, esi
mov esi, dword [esp + 4]
mov edx, esi
push 0
push dword [esp + 0x10]
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
jmp 0x100f3e7e
push 0
push 0xffffe070
call sym.nss3.dll_PR_SetError
add esp, 8
test edi, edi
je 0x100f3e48
mov esi, dword [esp + 0xc]
inc esi
call sym.nss3.dll_PR_GetCurrentThread
mov edx, dword [esp + 0x64]
mov ecx, edi
push 0
push esi
push dword [eax + 0x28]
call fcn.100f3370
add esp, 0xc
jmp 0x100f3e48
xor eax, eax
dec eax
mov dword [esp + 0x14], eax
xor ebx, ebx
mov eax, dword [esp + 8]
mov esi, dword [esp + 4]
jmp 0x100f3e82
push 0
push 0xffffe013
call sym.nss3.dll_PR_SetError
add esp, 8
xor eax, eax
mov esi, dword [esp + 4]
xor ebx, ebx
dec eax
jmp 0x100f3e7a
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
jmp 0x100f3e7a
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
test eax, eax
je 0x100f3e90
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
test ebx, ebx
je 0x100f3e9d
push ebx
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov edi, dword [esp + 0x14]
push esi
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
push 0
push dword [esp + 0x3c]
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
mov ecx, dword [esp + 0x80]
xor ecx, ebp
call fcn.10192ef0
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 8]
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x10]
jmp 0x100f3e82