Function at 0x10103310
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, 0x150
mov esi, dword [ebp + 8]
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [esp + 0x148], eax
mov eax, dword [esi + 0x4ac]
cmp eax, 1
jne 0x101033d5
xor eax, eax
mov dword [esi + 0x454], eax
mov dword [esi + 0x45c], eax
mov dword [esi + 0x46c], eax
mov eax, dword [esi + 0x478]
test eax, eax
je 0x10103372
push 1
push eax
call sym.nss3.dll_PK11_DestroyContext
add esp, 8
mov dword [esi + 0x478], 0
mov eax, dword [esi + 0x47c]
test eax, eax
je 0x10103391
push 1
push eax
call sym.nss3.dll_PK11_DestroyContext
add esp, 8
mov dword [esi + 0x47c], 0
mov eax, dword [esi + 0x480]
test eax, eax
je 0x101033b0
push 1
push eax
call sym.nss3.dll_PK11_DestroyContext
add esp, 8
mov dword [esi + 0x480], 0
mov eax, dword [esi + 0x484]
test eax, eax
je 0x101033cf
push 1
push eax
call sym.nss3.dll_PK11_DestroyContext
add esp, 8
mov dword [esi + 0x484], 0
mov eax, dword [esi + 0x4ac]
mov edi, dword [ebp + 0xc]
cmp eax, 0x14
ja 0x1010365e
mov ecx, 0x10800f
bt ecx, eax
jae 0x1010365e
xor eax, eax
push eax
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [esi + 0x450], 9
jne 0x1010343c
cmp dword [esi + 0x4ac], 0x16
jne 0x1010342b
lea eax, [esi + 0x3b0]
mov dword [esp + 0x24], eax
mov edx, dword [esi + 0x3b0]
movzx ebx, word [edx + 0x4c]
mov ecx, 0x16
jmp 0x101035df
push esi
call fcn.10102180
add esp, 4
test eax, eax
jne 0x10104821
mov edx, dword [esi + 0x3b0]
mov ecx, dword [esi + 0x4ac]
lea eax, [esi + 0x3b0]
movzx ebx, word [edx + 0x4c]
cmp ecx, 2
je 0x101035b8
cmp ecx, 1
jne 0x101035db
cmp dword [esi + 0x60], 0
je 0x1010368f
mov word [esp + 0x1e], bx
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], edi
xor eax, eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esi + 0x540], eax
mov eax, dword [esi + 0x450]
mov ebx, 0xffffd02a
mov edi, 0xa
mov ecx, 2
cmp eax, 1
ja 0x10104719
test eax, eax
je 0x101037af
push esi
call fcn.1011bf80
add esp, 4
mov ebx, eax
test eax, eax
jne 0x10104740
lea eax, [esi + 0x6fc]
push esi
mov dword [esp + 0xc], eax
push eax
call fcn.1010c940
add esp, 8
mov dword [esi + 0x6f8], 0
cmp dword [esi + 0x9f8], 1
jne 0x10103530
push esi
call fcn.100f9370
add esp, 4
lea ebx, [esp + 0x40]
lea edx, [esp + 0x120]
lea ecx, [esp + 0x64]
lea eax, [esp + 0x60]
push ebx
lea ebx, [esp + 0x54]
push ebx
lea ebx, [esp + 0x70]
push ebx
push edx
push ecx
push eax
push esi
call fcn.10100a20
add esp, 0x1c
mov ebx, 0xffffd01c
test eax, eax
jne 0x10104724
mov eax, dword [esp + 0x64]
test eax, eax
je 0x10104124
cmp eax, 1
jne 0x101040e2
movzx eax, word [esi + 0x58]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2f]
push eax
push 2
push esi
call fcn.100fa900
add esp, 0xc
xor eax, eax
cmp dword [esi + 0x60], 0
sete al
or eax, 0xffffd006
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10104724
cmp dword [esi + 0x60], 0
je 0x101036a8
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd02b
jmp 0x10104819
mov dword [esp + 0x24], eax
movzx eax, word [esi + 0x58]
cmp eax, 0x303
mov word [esp + 0x1e], bx
ja 0x1010364a
cmp ecx, 0x16
ja case.0x101035f8.1
jmp dword [ecx*4 + 0x101b0b78]
cmp dword [ebp + 0x10], 0
je 0x10103d50
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2f]
push eax
push 2
push esi
call fcn.100fa900
add esp, 0xc
xor edi, edi
xor eax, eax
cmp dword [esi + 0x60], edi
sete al
or eax, 0xffffd006
push edi
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
push edi
push 0xffffd01b
jmp 0x10104735
push dword [ebp + 0x10]
push edi
push esi
call fcn.10120e60
add esp, 0xc
mov ebx, eax
jmp 0x101047e3
push esi
call fcn.1011f910
add esp, 4
test eax, eax
jne 0x101033ef
push dword [ebp + 0x10]
push edi
push dword [esi + 0x4ac]
push esi
call fcn.10102ff0
add esp, 0x10
test eax, eax
jne 0x10104821
jmp 0x101033ef
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd02a
jmp 0x10104819
mov word [esp + 0x1e], bx
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x68], eax
mov dword [esp + 0x50], edi
xor eax, eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x124], eax
mov edx, 0xa
mov ebx, 0xffffd02b
cmp dword [esi + 0x450], 8
jne 0x10104002
mov eax, dword [esi + 0x3d8]
test eax, eax
je 0x10103708
xor ebx, ebx
push ebx
push dword [eax + 8]
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
mov dword [esi + 0x3d8], ebx
mov eax, dword [esi + 0x3d0]
test eax, eax
je 0x10103725
push eax
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov dword [esi + 0x3d0], 0
mov eax, dword [esi + 0x3d4]
test eax, eax
je 0x10103742
push eax
call sym.nss3.dll_SECKEY_DestroyPrivateKey
add esp, 4
mov dword [esi + 0x3d4], 0
lea ebx, [esi + 0x58]
lea edi, [esp + 0x68]
lea eax, [esp + 0x50]
push ebx
push edi
push eax
push esi
call fcn.100fa790
add esp, 0x10
mov ecx, 0xffffd01d
test eax, eax
jne 0x10104010
mov eax, dword [esp + 0x68]
cmp eax, 0x1f
ja 0x10103db6
movzx eax, word [esi + 0x58]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2f]
push eax
push 2
push esi
call fcn.100fa900
add esp, 0xc
xor eax, eax
cmp dword [esi + 0x60], 0
sete al
or eax, 0xffffd006
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10103e77
movzx eax, word [esi + 0x58]
mov ebx, 0xffffd070
cmp eax, 0x303
ja 0x10104719
test byte [esi + 0x1d], 0x60
jne 0x101034ed
mov edi, 0x64
xor ecx, ecx
inc ecx
jmp 0x10104719
cmp dword [esi + 0x450], 9
jne 0x10103bae
push dword [ebp + 0x10]
push edi
push esi
call fcn.10102020
add esp, 0xc
test eax, eax
jne 0x101047e0
push esi
call fcn.10102180
jmp 0x10103d95
cmp dword [esi + 0x60], 0
jne 0x10103b63
cmp dword [esi + 0x450], 0xb
jne 0x10103b63
mov eax, dword [esi + 0x48c]
mov eax, dword [eax + 4]
cmp eax, 4
je 0x10104695
cmp eax, 2
jne 0x101046a9
lea ecx, [esp + 0x64]
mov eax, dword [ebp + 0x10]
mov dword [ecx], eax
lea edx, [esp + 0x60]
mov dword [edx], edi
mov eax, dword [esi + 0x3b4]
movzx edi, word [eax + 0x10]
xor eax, eax
lea ebx, [esp + 0x120]
mov dword [ebx + 4], eax
mov dword [ebx], eax
mov dword [ebx + 8], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
push ecx
push edx
push 2
push ebx
push esi
call fcn.100fd330
add esp, 0x14
mov ecx, 0xffffd01f
test eax, eax
jne 0x101056bf
mov word [esp + 0xc], di
lea eax, [esp + 0x4c]
push eax
push 2
call sym.nss3.dll_NSS_OptionGet
add esp, 8
test eax, eax
jne 0x101038c1
cmp dword [esp + 0x4c], 0
jg 0x101038c9
mov dword [esp + 0x4c], 0x3ff
push ebx
call fcn.10094600
add esp, 4
mov edi, eax
mov dword [esp + 8], 0xffffd073
mov eax, 0x2f
cmp edi, dword [esp + 0x4c]
jb 0x101056af
cmp edi, 0x2000
jbe 0x10105363
mov dword [esp + 8], 0xffffd0af
jmp 0x101056af
cmp dword [esi + 0x60], 0
je 0x10103be0
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd02e
jmp 0x101047d8
cmp dword [esi + 0x60], 0
mov eax, dword [esi + 0x450]
je 0x10103c5d
cmp eax, 3
jne 0x10103c87
push esi
call fcn.100f9560
add esp, 4
mov ecx, dword [esi + 0x60]
jmp 0x10103c64
cmp dword [esi + 0x60], 0
jne 0x10103b7c
cmp dword [esi + 0x450], 0xe
jne 0x10103b7c
push esi
call fcn.1011c450
add esp, 4
mov dword [esi + 0x4c4], edx
mov dword [esi + 0x4c0], eax
mov ebx, dword [ebp + 0x10]
cmp ebx, 4
jae 0x10104185
push 0x32
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd06e
jmp 0x101047d8
cmp dword [esi + 0x9f8], 1
jne 0x101039b5
cmp dword [esi + 0x60], 0
je 0x10103ef5
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd07b
jmp 0x101047d8
cmp dword [ebp + 0x10], 0
je 0x10103d73
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2f]
push eax
push 2
push esi
call fcn.100fa900
add esp, 0xc
mov ebx, edi
xor edi, edi
xor eax, eax
cmp dword [esi + 0x60], edi
sete al
or eax, 0xffffd006
push edi
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
push edi
mov edi, ebx
push 0xffffd021
jmp 0x101047d8
cmp dword [esi + 0x60], 0
je 0x10103d9d
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x50], edi
xor ecx, ecx
mov dword [esp + 0x124], ecx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x128], ecx
cmp dword [esi + 0x450], 5
jne 0x10103e81
mov edx, dword [esi + 0x3b4]
movzx ecx, word [edx + 0x10]
cmp ecx, 0x303
jne 0x10103f77
mov ecx, dword [ebp + 0x10]
cmp ecx, 2
jae 0x101042bd
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2f]
push eax
push 2
push esi
call fcn.100fa900
add esp, 0xc
xor eax, eax
cmp dword [esi + 0x60], 0
sete al
or eax, 0xffffd006
jmp 0x101049bf
cmp dword [esi + 0x450], 7
jne 0x10103bc7
mov edi, dword [esi + 0x60]
test edi, edi
je 0x10103ac2
test byte [esi + 0x1c], 4
jne 0x10103ad1
push esi
call fcn.100f9560
add esp, 4
mov edx, dword [esi + 0x3b0]
test edi, edi
mov eax, 0x53525652
mov ebx, 0x434c4e54
cmove ebx, eax
lea eax, [esp + 0x74]
mov ecx, esi
push ebx
push eax
call fcn.100fda10
add esp, 8
test eax, eax
je 0x10103f04
push 0
push 0xffffe001
jmp 0x10104735
cmp dword [esi + 0x60], 0
je 0x10103b95
cmp dword [esi + 0x450], 4
jne 0x10103b95
mov ebx, dword [esi + 0x48c]
cmp dword [ebx + 0x10], 0
je 0x10104028
mov eax, dword [esi + 0xd4]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], eax
push dword [eax + 4]
call fcn.10095190
add esp, 4
mov dword [esi + 0x90], eax
jmp 0x10104046
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd038
jmp 0x101047d8
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd02d
jmp 0x101047d8
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd06d
jmp 0x101047d8
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd031
jmp 0x101047d8
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd07d
jmp 0x101047d8
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd032
jmp 0x101047d8
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x68], eax
mov dword [esp + 0x50], edi
xor edi, edi
mov dword [esp + 0x124], edi
mov dword [esp + 0x120], edi
mov dword [esp + 0x128], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x64], edi
cmp dword [esi + 0x450], 0xc
jne 0x10103ea9
mov eax, dword [esi + 0x3b4]
movzx ebx, word [eax + 0x10]
cmp ebx, 0x300
seta al
mov edi, eax
lea ecx, [esp + 0x68]
lea edx, [esp + 0x50]
lea eax, [esp + 0x120]
push ecx
push edx
push 1
push eax
push esi
call fcn.100fd330
add esp, 0x14
test eax, eax
je 0x1010432d
push 0
push 0xffffd020
jmp 0x10104735
xor ecx, ecx
cmp eax, 0xa
jne 0x10103c87
mov dword [esp + 8], ecx
mov edi, dword [esi + 0x3e4]
mov ebx, dword [esi + 0x3e8]
test ebx, ebx
je 0x10103ca0
push dword [ebx + 4]
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov ebx, dword [ebx]
jmp 0x10103c74
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd02c
jmp 0x101047d8
test edi, edi
je 0x10103caf
push 0
push edi
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
xor eax, eax
mov dword [esi + 0x3e4], eax
mov dword [esi + 0x3e8], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10103cee
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x10103cde
push ecx
call sym.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
mov dword [esi + 0x7c], 0
mov eax, dword [esi + 0x78]
push eax
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov dword [esi + 0x78], 0
mov eax, dword [esi + 0x3b4]
movzx ecx, word [eax + 0x10]
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x1010424a
cmp ebx, 3
jae 0x10103f2f
movzx eax, word [esi + 0x58]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2f]
push eax
push 2
push esi
call fcn.100fa900
add esp, 0xc
xor eax, eax
cmp dword [esi + 0x60], 0
sete al
or eax, 0xffffd006
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
mov ebx, 0xffffd01e
mov edi, dword [ebp + 0xc]
jmp 0x101042af
cmp dword [esi + 0x60], 0
je 0x10103fa1
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd029
jmp 0x10104735
cmp dword [esi + 0x60], 0
jne 0x10103e90
mov eax, dword [esi + 0x450]
and eax, 0xfffffffe
cmp eax, 0xc
jne 0x10103e90
push esi
call fcn.10109c70
add esp, 4
jmp 0x10103657
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd030
jmp 0x101047d8
lea ecx, [esi + 0x3f0]
mov edx, dword [esp + 0x50]
movdqu xmm0, xmmword [edx]
movdqu xmm1, xmmword [edx + 0x10]
movdqu xmmword [ecx + 0x10], xmm1
movdqu xmmword [ecx], xmm0
add edx, 0x20
mov dword [esp + 0x50], edx
add eax, 0xffffffe0
mov dword [esp + 0x68], eax
mov eax, 0x74ad21cf
xor eax, dword [esi + 0x3f0]
mov dword [esp + 8], eax
mov eax, 0x11619ae5
xor eax, dword [esi + 0x3f4]
mov dword [esp + 0xc], eax
mov ecx, edi
mov eax, 0x28c1dbe
xor eax, dword [esi + 0x3f8]
mov dword [esp + 0x10], eax
mov eax, 0x91b8651e
xor eax, dword [esi + 0x3fc]
mov dword [esp + 0x20], eax
mov eax, 0x1611a2c2
xor eax, dword [esi + 0x400]
mov dword [esp + 0x2c], eax
mov eax, 0x5e8cbb7a
xor eax, dword [esi + 0x404]
mov dword [esp + 0x28], eax
mov eax, 0xe2099e07
xor eax, dword [esi + 0x408]
mov dword [esp + 0x34], eax
mov edi, 0x9c33a8c8
xor edi, dword [esi + 0x40c]
lea eax, [esp + 0x120]
push ecx
lea ecx, [esp + 0x54]
push ecx
push 1
push eax
push esi
call fcn.100fd330
add esp, 0x14
test eax, eax
je 0x10103fd6
mov ecx, 0xffffd01d
jmp 0x10104010
mov ebx, 0xffffd030
mov eax, 0xa
jmp 0x10104c39
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd02f
jmp 0x101047d8
mov eax, 0xa
mov ebx, 0xffffd02e
xor edx, edx
xor ecx, ecx
test cl, cl
mov ecx, 0x32
cmove ecx, eax
test dl, dl
cmove ecx, eax
push ecx
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
dec ebx
test edi, edi
je 0x10104740
push 0
push edi
call sym.nss3.dll_PORT_FreeArena_Util
jmp 0x10105344
push dword [ebp + 0x10]
push edi
push esi
call fcn.100f9460
jmp 0x10103654
mov dword [esp + 8], edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0x14
push esi
call fcn.10102ff0
add esp, 0x10
test eax, eax
je 0x101043a7
mov ebx, eax
push 0
push 0xffffe001
jmp 0x1010533f
mov word [esp + 0xc], cx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
shl eax, 0x10
shl ecx, 8
or ecx, eax
movzx edi, byte [edx + 2]
or edi, ecx
add ebx, 0xfffffffd
cmp ebx, edi
jae 0x101041d7
movzx eax, word [esp + 0xc]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx*8 + 0x2a]
mov ebx, 0xffffd01e
jmp 0x101042a0
lea eax, [esp + 0x74]
mov ecx, esi
push 0
push eax
call fcn.100fda10
add esp, 8
xor edi, edi
test eax, eax
je 0x101045e5
mov ebx, 0xffffd07f
mov eax, 0x33
jmp 0x10104c39
mov eax, dword [esi + 0x450]
test eax, eax
je 0x10104748
xor ebx, ebx
cmp eax, 8
mov edi, dword [ebp + 0xc]
je 0x101047e3
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd029
jmp 0x101047d8
mov dword [esp + 0x38], edi
mov ecx, dword [esp + 0x128]
cmp ecx, 0x21
jb 0x10104446
movzx eax, word [ebx]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea edx, [ecx + ecx*2]
add edx, 0x2f
mov ebx, 0xffffd01d
push edx
push 2
push esi
call fcn.100fa900
add esp, 0xc
mov ecx, ebx
mov dword [esi + 0x954], 0
push ecx
call fcn.10111ec0
add esp, 4
jmp 0x1010473d
mov eax, dword [esi + 0x9c]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esi + 0x90], eax
mov dword [esp + 8], ecx
test ecx, ecx
je 0x101047c4
mov eax, dword [ebx + 4]
mov dword [esi + 0x8c], eax
mov eax, dword [ebx + 4]
cmp eax, 4
je 0x1010459d
cmp eax, 2
je 0x1010449f
cmp eax, 1
jne 0x101045b5
mov dword [esp + 0x124], edi
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x128], edx
mov eax, dword [esi + 0x3b4]
movzx eax, word [eax + 0x10]
cmp eax, 0x301
jb 0x10104b1b
cmp edx, 2
jae 0x10104afa
movzx eax, word [esi + 0x58]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2f]
push eax
push 2
push esi
call fcn.100fa900
add esp, 0xc
mov ebx, edi
xor edi, edi
xor eax, eax
cmp dword [esi + 0x60], edi
sete al
or eax, 0xffffd006
push edi
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
push edi
mov edi, ebx
push 0xffffd045
jmp 0x10104bcf
mov ecx, dword [esp + 0x60]
movzx edx, word [ecx]
shl edx, 0x10
bswap edx
add ecx, 2
mov dword [esp + 0x60], ecx
add eax, 0xfffffffe
mov dword [esp + 0x64], eax
cmp eax, edx
jne 0x1010470a
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x64]
push eax
push esi
call fcn.1010baf0
add esp, 0xc
mov ebx, 0xffffd01c
test eax, eax
jne 0x10104724
push 0x2b
push esi
call fcn.1010bc80
add esp, 8
test eax, eax
je 0x101046c2
push eax
push esi
call fcn.10126390
add esp, 8
test eax, eax
je 0x1010494e
cmp dword [0x101de200], 0
je 0x101071a4
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10106607
mov ebx, dword [eax + 0x28]
cmp ebx, 0xffffd009
mov eax, 0x46
mov edi, 0x2f
cmove edi, eax
jmp 0x10104714
mov eax, dword [edi]
lea ecx, [edi + 4]
lea edx, [esp + 0x68]
mov dword [edx], ecx
lea ecx, [ebx - 4]
lea ebx, [esp + 0x120]
mov dword [ebx], ecx
bswap eax
mov dword [esi + 0x4c8], eax
lea edi, [esp + 0x74]
push ebx
push edx
push 2
push edi
push esi
call fcn.100fd330
add esp, 0x14
or eax, dword [ebx]
je 0x1010487f
push 0x32
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd06e
jmp 0x10104735
test edi, edi
movzx ecx, word [esp + 0xc]
je 0x1010424a
push 0x800
call sym.nss3.dll_PORT_NewArena_Util
add esp, 4
mov dword [esi + 0x3e4], eax
test eax, eax
je 0x10104240
cmp edi, 3
jb 0x10103f57
cmp ebx, 3
jae 0x10104e30
movzx eax, word [esi + 0x58]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2f]
push eax
push 2
push esi
call fcn.100fa900
add esp, 0xc
xor eax, eax
cmp dword [esi + 0x60], 0
sete al
or eax, 0xffffd006
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
mov edi, dword [ebp + 0xc]
mov ebx, 0xffffd01e
jmp 0x101042af
mov ebx, 0xffffd01e
mov eax, 0x2a
cmp dword [esp + 8], 0
je 0x101042a0
movzx ecx, cx
cmp ecx, 0x301
mov edi, dword [ebp + 0xc]
jb 0x101042a3
push esi
call fcn.100fc9d0
add esp, 4
test eax, eax
je 0x10104861
cmp dword [0x101de200], 0
je 0x1010717e
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x101065c0
mov ebx, dword [eax + 0x28]
jmp 0x101042af
mov edi, dword [ebp + 0xc]
push eax
push 2
push esi
call fcn.100fa900
add esp, 0xc
push ebx
call fcn.10111ec0
add esp, 4
jmp 0x101047e0
mov eax, edi
movzx edi, word [edi]
shl edi, 0x10
bswap edi
add eax, 2
mov dword [esp + 0x50], eax
lea eax, [ecx - 2]
mov dword [esp + 0x68], eax
mov ecx, edi
call fcn.100fd570
test eax, eax
je 0x101049ad
mov eax, 0xd4
add eax, dword [esi + 0x78]
push eax
push edi
push esi
call fcn.100fd760
add esp, 0xc
test eax, eax
je 0x10104a5f
cmp dword [0x101de200], 0
je 0x101071cb
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1010670a
mov ebx, dword [eax + 0x28]
mov eax, 0x2f
jmp 0x10104c39
mov dword [esp + 8], edi
push 0x800
call sym.nss3.dll_PORT_NewArena_Util
add esp, 4
mov dword [esp + 0x74], eax
test eax, eax
je 0x10104a00
mov edi, eax
movzx eax, bx
xor ebx, ebx
cmp eax, 0x303
jb 0x10104d4e
lea eax, [esp + 0x64]
lea ecx, [esp + 0x40]
lea edx, [esp + 0x68]
push edx
lea edx, [esp + 0x54]
push edx
push eax
push ecx
push edi
push esi
call fcn.100ffea0
add esp, 0x18
test eax, eax
je 0x10104d42
xor ebx, ebx
mov eax, 0xffffd020
push ebx
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
push ebx
mov eax, 0xffffd020
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10104d6a
mov eax, dword [esp + 0x24]
mov edx, dword [eax]
movzx eax, word [edx + 0x10]
cmp eax, 0x301
jb 0x101048c0
cmp dword [ebp + 0x10], 0xc
jne 0x10104aab
lea ebx, [esi + 0x4ea]
lea ecx, [esi + 0x4f6]
xor eax, eax
cmp dword [esp + 8], 0
sete al
lea edi, [esp + 0x120]
cmove ebx, ecx
mov ecx, esi
push edi
lea edi, [esp + 0x78]
push edi
push eax
call fcn.10109b70
lea edx, [esp + 0x12c]
add esp, 0xc
movq xmm0, qword [edx]
movq qword [ebx], xmm0
mov ecx, dword [edx + 8]
mov dword [ebx + 8], ecx
mov word [esi + 0x4e8], 0xc
mov edi, 0xffffd057
mov ebx, 0x33
test eax, eax
jne 0x10104ab5
push 0xc
push dword [ebp + 0xc]
push edx
call sym.nss3.dll_NSS_SecureMemcmp
add esp, 0xc
test eax, eax
jne 0x10104ab5
mov edi, dword [esp + 8]
jmp 0x10104c4a
mov eax, dword [esp + 0x68]
cmp eax, 2
jb 0x10103773
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x50]
movzx edi, word [ecx]
lea edx, [ecx + 2]
mov dword [esp + 0x50], edx
mov edx, eax
add edx, 0xfffffffe
mov dword [esp + 0x68], edx
je 0x10103773
mov dword [esp + 0x30], ebx
lea edx, [ecx + 3]
cmp byte [ecx + 2], 0
lea ebx, [eax - 3]
mov dword [esp + 0x50], edx
mov dword [esp + 0x68], ebx
mov ebx, 0xffffd01d
je 0x10104d92
mov edx, 0x2f
jmp 0x10104002
lea eax, [esp + 0x120]
mov ecx, dword [ebp + 0x10]
mov dword [eax], ecx
lea ecx, [esp + 0x68]
mov dword [ecx], edi
lea edi, [esp + 0xa0]
mov dword [edi - 0x28], 4
mov edx, dword [esp + 8]
mov edx, dword [edx + 4]
mov ebx, dword [edx + 0x1c]
mov dword [edi - 0x10], ebx
mov ebx, dword [edx + 0x18]
mov dword [edi - 0x14], ebx
mov ebx, dword [edx + 0x28]
mov dword [edi - 4], ebx
mov edx, dword [edx + 0x24]
mov dword [edi - 8], edx
push eax
push ecx
push 2
push edi
push esi
call fcn.100fd330
add esp, 0x14
xor ebx, ebx
dec ebx
test eax, eax
jne 0x101052fb
mov eax, dword [esp + 8]
mov eax, dword [eax + 4]
add eax, 0x14
push edi
push eax
call fcn.1011a520
add esp, 8
test eax, eax
je 0x10104bdc
mov eax, dword [esi + 0x3b4]
movzx eax, word [eax + 0x10]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx*4 + 0x373]
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
sub esp, 0x28
xor edx, edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], edx
movdqa xmm0, xmmword [0x101b0020]
movdqu xmmword [esp + 8], xmm0
lea edx, [esp + 0x9c]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0x10c
call fcn.100cf710
add esp, 0x28
test eax, eax
je 0x101052e5
mov edi, eax
push 1
push eax
push esi
call fcn.100fb4e0
add esp, 0xc
mov ebx, eax
push edi
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
push esi
call fcn.1011b010
jmp 0x101052f8
push dword [esp + 8]
push dword [ebp + 0x10]
push edi
push esi
call fcn.1010aab0
add esp, 0x10
mov ebx, eax
jmp 0x101052fe
push 0x28
push 2
push esi
call fcn.100fa900
add esp, 0xc
mov ebx, edi
xor edi, edi
xor eax, eax
cmp dword [esi + 0x60], edi
sete al
or eax, 0xffffd006
push edi
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
push edi
mov edi, ebx
jmp 0x101046b8
lea eax, [esp + 0x68]
lea ecx, [esp + 0x50]
lea edx, [esp + 0x120]
push eax
push ecx
push 2
push edx
push esi
call fcn.100fd330
add esp, 0x14
mov ebx, 0xffffd022
test eax, eax
jne 0x10104732
mov eax, dword [esi + 0x3b4]
movzx eax, word [eax + 0x10]
mov word [esp + 8], ax
mov ecx, 0xd4
add ecx, dword [esi + 0x78]
call fcn.10094ac0
test eax, eax
je 0x10104bf0
mov ebx, eax
lea eax, [esp + 0x74]
lea ecx, [esp + 0x120]
push ecx
push eax
push edi
push ebx
push esi
call fcn.100fae60
add esp, 0x14
mov edi, eax
push ebx
call sym.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
test edi, edi
jne 0x10104bfd
mov dword [esp + 0x124], 0
cmp dword [esp + 0x68], 0
je 0x10105543
movzx eax, word [esp + 8]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2]
add eax, 0x2f
mov ebx, 0xffffd022
jmp 0x10104c39
push dword [ebp + 0x10]
push edi
push esi
call fcn.1010adf0
add esp, 0xc
mov ebx, eax
jmp 0x101056d9
push 0x28
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffe030
jmp 0x101047d8
movzx ecx, word [esi + 0x5a]
mov eax, 0x303
cmp ecx, eax
cmovb eax, ecx
mov ebx, 0xffffd009
cmp dword [esi + 0x614], 0
mov edx, 0xffffd009
je 0x10104a0c
push 0
push edx
call sym.nss3.dll_PR_SetError
add esp, 8
movzx eax, word [esi + 0x5a]
cmp eax, 0x300
mov eax, 0x46
mov edi, 0x28
cmova edi, eax
jmp 0x10104714
mov ebx, 0xffffd01c
mov edi, 0x32
mov ecx, 2
push edi
push ecx
push esi
call fcn.100fa900
add esp, 0xc
push 1
push dword [esp + 0x50]
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
push 0
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
dec ebx
mov edi, dword [ebp + 0xc]
jmp 0x101047e3
test byte [esi + 0x1d], 0x60
je 0x10104a92
mov edi, dword [esi + 0xc4]
test edi, edi
je 0x10104778
push esi
call fcn.101141d0
add esp, 4
push edi
call fcn.10113020
add esp, 4
mov dword [esi + 0xc4], 0
cmp dword [esi + 0x9f8], 1
jne 0x1010478a
push esi
call fcn.100f9370
add esp, 4
test byte [esi + 0x1d], 4
mov edi, dword [ebp + 0xc]
jne 0x101047a1
push dword [esi + 0x168]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
push 3
push esi
call fcn.100fe480
add esp, 8
mov ebx, eax
test byte [esi + 0x1d], 4
jne 0x101047e3
push dword [esi + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
jmp 0x101047e3
push 0x28
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd052
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
dec ebx
movzx eax, word [esi + 0x58]
cmp eax, 0x304
jb 0x10104826
cmp dword [ebp + 0x14], 0
jne 0x10104826
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
movzx ecx, word [esp + 0x1e]
cmp cx, word [eax + 0x4c]
je 0x10104826
push 0xa
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd035
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
dec ebx
jmp 0x10104849
cmp ebx, 0xffffffff
je 0x1010483b
cmp dword [esi + 0x9f8], 1
jne 0x1010483b
inc word [esi + 0x562]
push dword [ebp + 0x10]
push 0x4e
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [esp + 0x148]
xor ecx, ebp
call fcn.1014dc80
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, word [esi + 0x58]
cmp eax, 0x303
ja 0x10104a50
mov dword [esi + 0x450], 4
jmp 0x101056eb
cmp dword [esp + 0x7c], 0
je 0x101048af
lea eax, [esi + 0x4d8]
push edi
push eax
push 0
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
mov ebx, eax
test eax, eax
mov edi, dword [ebp + 0xc]
jne 0x101047e3
mov dword [esi + 0x4bc], 1
mov dword [esi + 0x450], 6
xor ebx, ebx
jmp 0x10104740
cmp dword [ebp + 0x10], 0x24
jne 0x10104ac9
lea eax, [esi + 0x4ea]
lea ecx, [esi + 0x50e]
mov edi, dword [esp + 8]
test edi, edi
cmove eax, ecx
lea ecx, [esp + 0x7c]
mov edx, dword [ecx + 0x20]
mov dword [eax + 0x20], edx
movdqu xmm0, xmmword [ecx]
movdqu xmm1, xmmword [ecx + 0x10]
movdqu xmmword [eax + 0x10], xmm1
movdqu xmmword [eax], xmm0
mov word [esi + 0x4e8], 0x24
push 0x24
push dword [ebp + 0xc]
push ecx
call sym.nss3.dll_NSS_SecureMemcmp
add esp, 0xc
test eax, eax
je 0x10104c4a
push 0x28
push 2
push esi
call fcn.100fa900
add esp, 0xc
xor edi, edi
xor eax, eax
cmp dword [esi + 0x60], edi
sete al
or eax, 0xffffd006
push edi
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
push edi
mov edi, dword [ebp + 0xc]
push 0xffffd057
jmp 0x101047d8
mov ecx, dword [esi + 0x38]
or byte [esi + 0x540], 1
test ecx, ecx
jne 0x10105006
test byte [esi + 0x1d], 4
jne 0x10104974
push dword [esi + 0x174]
call fcn.100dab60
add esp, 4
mov eax, dword [esi + 0x3b8]
movzx ecx, word [esi + 0x58]
mov word [eax + 0x10], cx
movzx ecx, word [esi + 0x58]
mov edx, dword [esi + 0x9f8]
cmp ecx, 0x304
jb 0x10104fc5
cmp edx, 1
mov edx, 0xfefd
mov ecx, 0x303
cmove ecx, edx
jmp 0x10104fee
push 0x2f
push 2
push esi
call fcn.100fa900
add esp, 0xc
mov eax, 0xffffd087
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101de200], 0
je 0x10107174
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10106559
mov eax, dword [eax + 0x28]
cmp eax, 0xffffd087
mov ebx, 0xffffd022
cmove ebx, eax
jmp 0x10104732
push 0
push 0xffffe013
jmp 0x10104735
movzx ecx, word [esi + 0x24]
test cx, cx
je 0x10104e26
mov edx, 0xffffd009
cmp cx, ax
ja 0x101046e7
movzx ecx, word [esi + 0x26]
cmp cx, ax
cmovbe eax, ecx
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x10104a47
mov edx, 0xffffd009
cmp word [esi + 0x58], ax
jne 0x101046e7
mov word [esi + 0x58], ax
jmp 0x10104951
mov dword [esi + 0x450], 0x87
jmp 0x101056eb
push edi
call fcn.100fd410
add esp, 4
mov dword [esp + 8], eax
mov ecx, dword [esi + 0x458]
mov edx, dword [esi + 0x45c]
mov eax, edi
lea edi, [esp + 0x74]
push edi
mov edi, eax
push dword [esp + 0xc]
call fcn.100fdf70
add esp, 8
jmp 0x10103f8a
push 0x64
push 1
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd070
jmp 0x10104735
mov edi, 0xffffd024
mov ebx, 0x32
push ebx
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push edi
jmp 0x10104735
push 0x2f
push 2
push esi
call fcn.100fa900
add esp, 0xc
xor edi, edi
xor eax, eax
cmp dword [esi + 0x60], edi
sete al
or eax, 0xffffd006
push edi
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
push edi
push 0xffffd024
jmp 0x10104735
movzx eax, word [edi]
shl eax, 0x10
bswap eax
lea ecx, [edi + 2]
mov dword [esp + 0x124], ecx
lea ecx, [edx - 2]
cmp ecx, eax
cmovbe eax, ecx
mov dword [esp + 0x128], eax
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov ebx, dword [eax + 8]
lock inc dword [ebx + 0x48]
test ebx, ebx
je 0x10104bc8
push 0x371
push ebx
call sym.nss3.dll_PK11_DoesMechanism
add esp, 8
test eax, eax
jne 0x10104b7d
lock dec dword [ebx + 0x48]
jne 0x10104b51
push ebx
call fcn.100d1c70
add esp, 4
lea eax, [esp + 0x74]
mov dword [eax], 0x371
sub esp, 0x14
movdqa xmm0, xmmword [0x1019c5f0]
movdqu xmmword [esp + 4], xmm0
mov dword [esp], eax
call fcn.100d5860
add esp, 0x14
mov ebx, eax
test eax, eax
je 0x10104bc8
test byte [esi + 0x1d], 4
jne 0x10104b91
push dword [esi + 0x174]
call fcn.100dab60
add esp, 4
mov eax, dword [esi + 0x11c]
cmp dword [esi + 0x9f8], 1
movzx ecx, word [esi + 0x5a]
jne 0x10105184
add ecx, 0xfffffcfe
cmp cx, 2
ja 0x10105181
movsx ecx, cx
movzx ecx, word [ecx + ecx + 0x101b098c]
jmp 0x10105184
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x101052e0
push 0
push 0xffffd08d
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x101052fb
push 0xffffd043
call fcn.10111ec0
add esp, 4
cmp dword [0x101de200], 0
je 0x101071df
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10106744
movzx ecx, word [esp + 8]
cmp ecx, 0x300
mov ebx, dword [eax + 0x28]
mov ecx, 0x33
mov eax, 0x28
cmova eax, ecx
push eax
push 2
push esi
call fcn.100fa900
add esp, 0xc
jmp 0x10104732
test byte [esi + 0x1d], 4
jne 0x10104c5e
push dword [esi + 0x168]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
mov eax, dword [esi + 0x4b4]
test edi, edi
je 0x1010541e
xor ebx, ebx
test eax, eax
jne 0x101055dc
push 0x23
push esi
call fcn.1010ba70
add esp, 8
test eax, eax
je 0x10105426
mov eax, dword [esi + 0x48c]
cmp dword [eax + 8], 2
je 0x10105426
xor eax, eax
lea edi, [esp + 0x68]
mov dword [edi + 4], eax
mov dword [edi], eax
mov dword [edi + 8], eax
lea ecx, [esp + 0x120]
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x20], eax
pxor xmm0, xmm0
movdqa xmmword [ecx + 0x10], xmm0
movdqa xmmword [ecx], xmm0
mov edx, dword [esi + 0x3bc]
push edi
push dword [edx + 0x24]
push eax
push eax
push ecx
push esi
call fcn.1010d480
add esp, 0x18
mov ebx, eax
test eax, eax
jne 0x10104d23
mov eax, dword [esp + 0x70]
add eax, 6
push eax
push 4
push esi
call fcn.100fd170
add esp, 0xc
mov ebx, eax
test eax, eax
jne 0x10104d23
push 4
push 0
push 0x2a300
push esi
call fcn.10111cf0
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x10104d23
push 2
push dword [esp + 0x74]
push dword [esp + 0x74]
push esi
call fcn.10111d70
add esp, 0x10
mov ebx, eax
cmp dword [esp + 0x6c], 0
je 0x10104d35
push 0
push edi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
test ebx, ebx
jne 0x101055dc
jmp 0x10105426
mov ebx, dword [esp + 0x64]
test ebx, ebx
je 0x101054a1
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x58]
push eax
push esi
call fcn.100ffc70
add esp, 0x10
test eax, eax
je 0x10104d72
xor ebx, ebx
dec ebx
jmp 0x10103ee8
lea eax, [esp + 0x74]
cmp dword [esp + 0x68], 0
je 0x101053f5
mov eax, 0x2f
mov cl, 1
mov ebx, 0xffffd020
jmp 0x101055c7
cmp eax, 3
je 0x10104dda
cmp eax, 4
je 0x10103773
movzx edx, word [ecx + 3]
shl edx, 0x10
bswap edx
add ecx, 5
mov dword [esp + 0x50], ecx
add eax, 0xfffffffb
mov dword [esp + 0x68], eax
cmp eax, edx
jne 0x101055d0
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x54]
push eax
push esi
call fcn.1010baf0
add esp, 0xc
test eax, eax
jne 0x10104495
mov word [esp + 0x16], di
push esi
call fcn.101262c0
add esp, 4
test eax, eax
jne 0x10103e77
movzx eax, word [esi + 0x58]
cmp word [esi + 0x24], ax
ja 0x10104e07
movzx ecx, word [esi + 0x26]
cmp cx, ax
jae 0x10105783
movzx eax, ax
cmp eax, 0x300
mov eax, 0x46
mov edx, 0x28
cmova edx, eax
mov ebx, 0xffffd009
jmp 0x10104002
mov edx, 0xffffd014
jmp 0x101046e7
add edi, 0xfffffffd
mov ecx, dword [ebp + 0xc]
movzx eax, byte [ecx + 3]
movzx ebx, byte [ecx + 4]
shl eax, 0x10
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 5]
lea ecx, [eax + ebx]
dec ecx
cmp ecx, edi
jae 0x10103f57
or ebx, eax
mov eax, dword [ebp + 0xc]
add eax, 6
lea ecx, [esp + 0x74]
mov dword [esp + 0x10], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], ebx
xor eax, eax
push 1
push eax
push eax
push ecx
push dword [esi + 0x178]
call sym.nss3.dll_CERT_NewTempCertificate
add esp, 0x14
mov dword [esi + 0x78], eax
test eax, eax
je 0x10105561
sub edi, ebx
je 0x10104f80
add dword [esp + 0x10], ebx
mov edx, dword [ebp + 0x10]
sub edx, ebx
add edx, 0xfffffffa
mov dword [esp + 0x20], 0
cmp edi, 3
jb 0x10103f57
cmp edx, 3
jb 0x10104209
add edi, 0xfffffffd
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
shl eax, 0x10
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 2]
lea ecx, [eax + ebx]
dec ecx
cmp ecx, edi
jae 0x10103f57
mov dword [esp + 0x2c], edx
or ebx, eax
mov eax, dword [esp + 0x10]
add eax, 3
mov dword [esp + 0x10], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x7c], ebx
push 8
push dword [esi + 0x3e4]
call sym.nss3.dll_PORT_ArenaAlloc_Util
add esp, 8
test eax, eax
je 0x10104240
mov ebx, eax
push 1
xor eax, eax
push eax
push eax
lea eax, [esp + 0x80]
push eax
push dword [esi + 0x178]
call sym.nss3.dll_CERT_NewTempCertificate
add esp, 0x14
mov dword [ebx + 4], eax
test eax, eax
je 0x10105561
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
sub edx, ecx
sub edi, ecx
mov dword [ebx], 0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10104f5c
mov dword [eax], ebx
jmp 0x10104f62
mov dword [esi + 0x3e8], ebx
add dword [esp + 0x10], ecx
add edx, 0xfffffffd
mov dword [esp + 0x20], ebx
test edi, edi
jne 0x10104ea8
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10105a29
mov ecx, eax
xor edx, edx
call fcn.10094890
cmp dword [esp + 8], 0
jne 0x101056f2
movzx eax, word [esi + 0x58]
cmp eax, 0x303
ja 0x101056f2
push 5
push esi
call fcn.1010ba70
add esp, 8
test eax, eax
je 0x101056f2
mov dword [esi + 0x450], 9
jmp 0x101048b9
cmp edx, 1
jne 0x10104fee
movzx ecx, cx
cmp ecx, 0x303
mov edx, 0xfefd
mov ebx, 0xffff
cmove ebx, edx
cmp ecx, 0x302
mov ecx, 0xfeff
cmovne ecx, ebx
mov word [eax + 0x12], cx
test byte [esi + 0x1d], 4
jne 0x10105006
push dword [esi + 0x174]
call fcn.100dac50
add esp, 4
movzx eax, word [esi + 0x58]
cmp eax, 0x304
jb 0x10105128
mov ebx, 0xffffd070
cmp dword [esi + 0x38], 0
jne 0x10104714
mov ebx, eax
push 0x2c
push esi
call fcn.1010bc80
add esp, 8
test eax, eax
je 0x1010503f
mov dword [esi + 0x614], 1
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x130]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.10128ee0
add esp, 0x20
test eax, eax
jne 0x10105679
movzx eax, word [esi + 0x58]
cmp eax, 0x304
mov eax, ebx
jb 0x10105128
cmp dword [esp + 0x128], 0
je 0x10105635
cmp dword [esi + 0x9f8], 1
je 0x10105635
lea edi, [esi + 0x644]
xor eax, eax
push eax
push edi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
lea eax, [esp + 0x120]
push eax
push edi
xor eax, eax
push eax
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
test eax, eax
je 0x10105635
cmp dword [0x101de200], 0
je 0x1010725e
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10106e02
push 0
push dword [eax + 0x28]
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101de200], 0
je 0x10107268
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10106e1f
mov edi, dword [eax + 0x28]
mov eax, 0x50
jmp 0x10105662
or byte [esi + 0x540], 0x10
cmp dword [esi + 0x614], 0
je 0x10105156
push 0
push 0xffffd009
call sym.nss3.dll_PR_SetError
add esp, 8
mov edi, 0xffffd009
mov eax, 0x46
jmp 0x10105662
cmp dword [esi + 0x618], 0
je 0x101054b0
push 0
push 0xffffd033
call sym.nss3.dll_PR_SetError
add esp, 8
mov edi, 0xffffd033
mov eax, 0xa
jmp 0x10105662
xor ecx, ecx
dec ecx
rol cx, 8
lea edx, [esp + 0x68]
mov word [edx], cx
lea ecx, [esp + 0x74]
mov dword [ecx + 4], edx
mov dword [ecx + 8], 2
push eax
push 0
push ecx
push 0x370
push ebx
call sym.nss3.dll_PK11_KeyGen
add esp, 0x14
mov dword [esp + 0xc], eax
test eax, eax
jne 0x101051c4
push 0xffffd045
call fcn.10111ec0
add esp, 4
test byte [esi + 0x1d], 4
jne 0x101051d8
push dword [esi + 0x174]
call fcn.100dac50
add esp, 4
lock dec dword [ebx + 0x48]
jne 0x101051e7
push ebx
call fcn.100d1c70
add esp, 4
mov eax, dword [esp + 0xc]
test eax, eax
je 0x101052d3
mov edi, eax
xor ebx, ebx
lea eax, [esp + 0x120]
push ebx
push 0x10c
push 0x371
push eax
mov eax, dword [esp + 0x18]
push dword [eax]
call sym.nss3.dll_PK11_PubUnwrapSymKey
add esp, 0x14
xor ecx, ecx
test eax, eax
sete cl
lea ecx, [ecx + ecx*2]
lea edx, [ecx + ecx*4]
mov ecx, edx
shl ecx, 4
or ecx, edx
mov edx, ecx
shl edx, 8
or edx, ecx
mov ecx, edx
shl ecx, 0x10
or ecx, edx
mov edx, eax
xor eax, edi
mov dword [esp + 0x10], eax
and ecx, eax
xor edx, ecx
mov dword [esp + 8], edx
xor ecx, edi
mov edi, ecx
mov ecx, esi
push ebx
call fcn.100fb850
add esp, 4
test eax, eax
setne al
test edi, edi
mov edx, edi
setne cl
and cl, al
movzx eax, cl
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
mov ecx, eax
shl ecx, 4
or ecx, eax
mov eax, ecx
shl eax, 8
or eax, ecx
mov edi, eax
shl edi, 0x10
or edi, eax
and edi, dword [esp + 0x10]
mov eax, dword [esp + 8]
xor eax, edi
mov dword [esp + 8], eax
xor edi, edx
push 1
push eax
push esi
call fcn.100fb4e0
add esp, 0xc
mov dword [esp + 0xc], eax
push dword [esp + 8]
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
push edi
mov edi, dword [ebp + 0xc]
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
cmp dword [esp + 0xc], 0
je 0x101052fe
push 0x28
push 2
push esi
call fcn.100fa900
add esp, 0xc
jmp 0x101052e0
push 0xffffd045
call fcn.10111ec0
add esp, 4
xor ebx, ebx
dec ebx
jmp 0x101052fe
push esi
call fcn.1011b010
add esp, 4
push 0xffffd045
call fcn.10111ec0
add esp, 4
mov edi, dword [ebp + 0xc]
push esi
call fcn.1011b010
add esp, 4
test ebx, ebx
je 0x1010534c
cmp dword [0x101de200], 0
je 0x1010716a
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1010652a
mov edi, dword [eax + 0x28]
push 0x28
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10104740
cmp dword [esi + 0x78], 1
mov eax, 5
adc eax, 0
mov dword [esi + 0x450], eax
jmp 0x101056eb
lea ecx, [esp + 0x68]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x64]
push eax
push 2
push ecx
push esi
call fcn.100fd330
add esp, 0x14
test eax, eax
mov ecx, 0xffffd01f
jne 0x101056bf
lea eax, [esp + 0x68]
push eax
call fcn.10094600
add esp, 4
cmp eax, edi
ja 0x101056a2
cmp eax, 2
jb 0x101056a2
test byte [esi + 0x1f], 2
je 0x101053c9
xor eax, eax
push eax
push eax
lea eax, [esp + 0x70]
push eax
push ebx
push esi
call fcn.1011a5d0
add esp, 0x14
test eax, eax
jne 0x101056aa
lea edi, [esp + 0x50]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x64]
push eax
push 2
push edi
push esi
call fcn.100fd330
add esp, 0x14
test eax, eax
je 0x1010583e
mov ecx, 0xffffd01f
jmp 0x101056bf
mov dword [esi + 0x450], 0xd
push eax
push ebx
push dword [esp + 0x48]
push esi
call fcn.101000c0
add esp, 0x10
cmp eax, 0xffffffff
je 0x101055bb
mov ebx, eax
jmp 0x10103ee8
test eax, eax
je 0x101055da
mov ecx, esi
call fcn.101098c0
mov ebx, eax
test eax, eax
jne 0x101055dc
mov edi, dword [esi + 0x17c]
cmp dword [0x101de200], 0
je 0x10107210
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10106da9
cmp edi, eax
sete byte [esp + 0xc]
cmp dword [esp + 8], 0
jne 0x10105476
cmp dword [esi + 0x38], 0
je 0x101058be
xor eax, eax
mov cl, byte [esp + 0xc]
mov al, cl
shl eax, 0x1e
mov edx, eax
or edx, 0x8000000
cmp dword [esi + 0x9f8], 1
cmovne edx, eax
mov ecx, esi
call fcn.101099c0
mov ebx, eax
jmp 0x101055dc
mov eax, 0x28
mov ebx, 0xffffd087
jmp 0x101055c5
mov ebx, eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x10105649
push eax
push 0
push dword [esp + 0x4c]
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x10105649
cmp dword [esi + 0x9f8], 1
jne 0x101054e9
cmp dword [esp + 0x70], 0
jne 0x10105649
push 1
push esi
call fcn.1010bcb0
add esp, 8
mov edi, eax
lea eax, [esi + 0x544]
push eax
call fcn.1010bc40
add esp, 4
test edi, edi
je 0x10105740
cmp dword [0x101de200], 0
je 0x10107254
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10106de5
mov eax, dword [eax + 0x28]
cmp eax, 0xffffd087
mov ebx, 0xffffd01c
cmove ebx, eax
jmp 0x10104724
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0xf
push esi
call fcn.10102ff0
add esp, 0x10
test eax, eax
jne 0x10103f21
jmp 0x101048af
cmp dword [0x101de200], 0
je 0x10107206
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10106d8c
mov eax, dword [eax + 0x28]
mov ebx, eax
add eax, 0x1fee
cmp eax, 2
jb 0x1010559d
cmp ebx, 0xffffe890
jne 0x10105702
movzx ecx, word [esp + 0xc]
mov eax, 0x50
cmp ecx, 0x300
mov edi, dword [ebp + 0xc]
ja 0x101042a3
jmp 0x101042af
mov eax, 0x50
mov ebx, 0xffffe001
xor ecx, ecx
mov edx, dword [esp + 8]
jmp 0x10103eb7
mov edx, 0x32
jmp 0x10104002
xor ebx, ebx
test byte [esi + 0x1d], 4
jne 0x101055f0
push dword [esi + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
test ebx, ebx
mov edi, dword [ebp + 0xc]
jne 0x101047e3
cmp dword [esi + 0x534], 0
je 0x10105627
cmp dword [esi + 0x538], 0
jne 0x10103af8
mov dword [esi + 0x538], fcn.101027e0
push 0
push 0xffffe892
jmp 0x10104735
push esi
call fcn.101027e0
add esp, 4
jmp 0x101048b9
cmp dword [esp + 0x48], 1
jne 0x10105649
mov eax, dword [esp + 0x44]
cmp byte [eax], 0
je 0x1010589f
push 0
push 0xffffd01c
call sym.nss3.dll_PR_SetError
add esp, 8
mov edi, 0xffffd01c
mov eax, 0x2f
push eax
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101de200], 0
je 0x101071d5
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10106727
mov ebx, dword [eax + 0x28]
jmp 0x10104724
mov dword [esp + 8], 0xffffd01f
mov eax, 0x2f
push eax
push 2
push esi
call fcn.100fa900
add esp, 0xc
mov ecx, dword [esp + 8]
push ecx
call fcn.10111ec0
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
dec ebx
mov edi, dword [ebp + 0xc]
test ebx, ebx
jne 0x101047e3
mov dword [esi + 0x450], 0xc
xor ebx, ebx
jmp 0x101047e3
push esi
call fcn.10102180
add esp, 4
mov ebx, eax
jmp 0x10104740
movzx eax, word [esi + 0x58]
cmp ebx, 0xffffe01d
jg 0x10105942
lea ecx, [ebx + 0x1ff5]
cmp ecx, 0xa
ja case.default.0x10105721
jmp dword [ecx*4 + 0x101b0bd4]
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx]
add eax, 0x2e
jmp 0x10105b62
movzx eax, word [esi + 0x26]
cmp ax, word [esi + 0x58]
jbe 0x101057ef
mov eax, dword [esp + 0x58]
cmp eax, 2
jb 0x101057ef
mov ecx, 3
mov edx, dword [esp + 0x54]
movzx edi, word [edx + ecx - 3]
shl edi, 0x10
bswap edi
cmp edi, 0x5600
je 0x10105b32
cmp ecx, eax
jae 0x101057ef
add ecx, 2
jmp 0x10105764
mov edx, dword [esp + 0x20]
or edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x10]
or ebx, dword [esp + 0x34]
mov edi, dword [esp + 0xc]
or edi, dword [esp + 0x28]
or edi, edx
mov edx, dword [esp + 8]
or edx, dword [esp + 0x2c]
or edx, ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
or edx, edi
je 0x1010595b
movzx edx, ax
cmp edx, 0x304
jae 0x10105986
mov ebx, 0xffffd01d
cmp dword [esi + 0x614], 0
jne 0x10104495
mov ebx, 0xffffd0a0
cmp dword [esi + 0x600], 1
je 0x10104495
jmp 0x10105986
push 0xff01
push esi
call fcn.1010ba70
add esp, 8
test eax, eax
jne 0x10105b9e
mov eax, dword [esp + 0x58]
cmp eax, 2
jb 0x10105b9e
mov ecx, 3
mov edx, dword [esp + 0x54]
movzx edi, word [edx + ecx - 3]
shl edi, 0x10
bswap edi
cmp edi, 0xff
je 0x10105b7d
cmp ecx, eax
jae 0x10105b9e
add ecx, 2
jmp 0x1010581b
push edi
push ebx
call fcn.1011a520
add esp, 8
test eax, eax
je 0x10105a1c
movzx eax, word [esi + 0x58]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
cmp eax, 0x303
jb 0x10105ade
mov eax, dword [esp + 0x64]
cmp eax, 2
jae 0x10105a78
push 0x32
push 2
push esi
call fcn.100fa900
add esp, 0xc
xor eax, eax
cmp dword [esi + 0x60], 0
sete al
or eax, 0xffffd006
push 0
push eax
jmp 0x10106025
cmp dword [esi + 0x618], 0
je 0x101054d5
cmp dword [esi + 0x614], 0
jne 0x101054d5
jmp 0x10105163
mov eax, dword [esi + 0x998]
test eax, eax
je 0x10105476
cmp dword [esi + 0x99c], 3
je 0x10105476
lea ecx, [eax + 2]
and ecx, 0x1f
mov edi, 0x20
sub edi, ecx
add eax, edi
add eax, 2
push eax
push 0x43
push esi
call fcn.100fd170
add esp, 0xc
mov ebx, eax
test eax, eax
jne 0x101055dc
push 1
push dword [esi + 0x998]
push dword [esi + 0x994]
push esi
call fcn.10111d70
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x101055dc
push 1
push edi
push 0x101b0900
push esi
call fcn.10111d70
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x101055dc
jmp 0x10105476
lea ecx, [ebx + 0x1fa6]
cmp ecx, 2
jae 0x10105a3d
mov eax, 0x2e
jmp 0x10105b62
mov ebx, 0xffffd09a
cmp dword [esi + 0x614], 0
mov edx, 0xa
jne 0x10104002
movzx edx, ax
mov ebx, 0xffffd01d
cmp edx, 0x304
jb 0x10104495
mov edx, dword [esi + 0x38]
test edx, edx
je 0x1010599d
mov edi, dword [esp + 0x24]
mov edi, dword [edi]
cmp ax, word [edi + 0x10]
jne 0x10105b73
mov edi, dword [esi + 0x1c]
bt edi, 0x1d
jae 0x101059b3
cmp dword [esi + 0x9f8], 1
jne 0x10105ee8
or byte [esi + 0x540], 1
mov ecx, dword [esp + 8]
or ecx, dword [esp + 0xc]
je 0x10105f9f
test edx, edx
jne 0x10105f9f
bt edi, 0xa
jb 0x101059e8
push dword [esi + 0x174]
call fcn.100dab60
add esp, 4
movzx eax, word [esi + 0x58]
mov ecx, dword [esi + 0x3b8]
mov word [ecx + 0x10], ax
movzx eax, word [esi + 0x58]
mov edx, dword [esi + 0x9f8]
cmp eax, 0x304
jb 0x10105f60
cmp edx, 1
mov edx, 0xfefd
mov eax, 0x303
cmove eax, edx
jmp 0x10105f87
mov dword [esp + 8], 0xffffd08d
jmp 0x101056aa
push 0
push 0xffffe005
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10104f89
cmp ebx, 0xffffe01e
jne case.0x10105721.8178
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2]
add eax, 0x2d
jmp 0x10105b62
mov eax, 0x2b
cmp ebx, 0xffffe001
je 0x10105b62
mov eax, 0x2a
jmp 0x10105b62
mov edx, dword [esp + 0x60]
movzx ecx, word [edx]
shl ecx, 0x10
bswap ecx
add edx, 2
mov dword [esp + 0x60], edx
add eax, 0xfffffffe
mov dword [esp + 0x64], eax
mov dword [esp + 0x10], ecx
call fcn.100fd570
test eax, eax
je 0x10106011
mov eax, 0xd4
add eax, dword [esi + 0x78]
push eax
push dword [esp + 0x14]
push esi
call fcn.100fd760
add esp, 0xc
mov dword [esp + 8], 0xffffd01f
test eax, eax
mov eax, 0x2f
jne 0x101056af
push dword [esp + 0x10]
call fcn.100fd410
add esp, 4
mov dword [esp + 8], eax
lea ecx, [esp + 0x40]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x64]
push eax
push 2
push ecx
push esi
call fcn.100fd330
add esp, 0x14
test eax, eax
mov ecx, 0xffffd01f
jne 0x101056bf
cmp dword [esp + 0x64], 0
je 0x101060d3
movzx eax, word [esp + 0xc]
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2]
add eax, 0x2f
mov dword [esp + 8], 0xffffd01f
jmp 0x101056af
mov ebx, 0xffffd083
mov edi, 0x56
jmp 0x10104714
mov eax, 0x2d
jmp 0x10105b62
mov eax, 0x2c
jmp 0x10105b62
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2]
add eax, 0x2e
push eax
push 2
push esi
call fcn.100fa900
add esp, 0xc
jmp 0x10103d48
mov edx, 0x46
jmp 0x10104e1c
lea eax, [esp + 0x74]
mov dword [eax], 0x101b0894
lea ecx, [esp + 0x3c]
mov dword [ecx], 5
push 1
push ecx
push eax
push esi
call fcn.1010bf60
add esp, 0x10
movzx eax, bx
mov dword [esp + 0x10], eax
cmp eax, 0x303
jbe 0x10105bf9
cmp dword [esi + 0x6f8], 0
je 0x10105cd7
mov edi, dword [esi + 0xc4]
mov ebx, dword [esp + 0x128]
lea eax, [ebx - 1]
cmp eax, 0x1f
ja 0x10105cdb
mov dword [esp + 0xc], edi
mov byte [edi + 0x78], bl
lea eax, [edi + 0x79]
push ebx
push dword [esp + 0x128]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
mov byte [eax + 0x78], bl
jmp 0x10105cdf
cmp dword [esi + 0x38], 0
je 0x10105c1b
test byte [esi + 0x1d], 0x40
je 0x10105c1b
push 0xff01
push esi
call fcn.1010ba70
add esp, 8
test eax, eax
je 0x10106007
cmp word [esi + 0x1c], 0
js 0x10105c2e
cmp dword [esi + 0x38], 0
je 0x10105c44
cmp dword [esi + 0x54], 0
je 0x10105c44
push 0xff01
push esi
call fcn.1010ba70
add esp, 8
test eax, eax
je 0x10105e97
push 0x23
push esi
call fcn.1010ba70
add esp, 8
test eax, eax
je 0x10105c60
cmp dword [esi + 0x92c], 0
je 0x10105bac
mov ebx, dword [esp + 0x128]
xor edi, edi
test ebx, ebx
je 0x10105ce9
cmp byte [esi + 0x1c], 0
js 0x10105ce9
mov edi, dword [0x101dfbd8]
test edi, edi
je 0x10106260
mov eax, dword [esi + 0x178]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0xc], eax
lea eax, [esi + 0xb0]
mov dword [esp + 0x20], eax
push esi
call fcn.1011c450
add esp, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], edx
mov ecx, edi
call dword [section..00cfg]
push dword [esp + 0x2c]
push ebx
push dword [esp + 0x14]
push dword [esp + 0x2c]
push dword [esp + 0x44]
push dword [esp + 0x3c]
call edi
add esp, 0x18
mov edi, eax
jmp 0x10105ce9
xor edi, edi
jmp 0x10105ce9
mov byte [edi + 0x78], 0
mov dword [esi + 0xc4], 0
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x10105d06
push eax
call fcn.10113020
add esp, 4
mov dword [esi + 0xc4], 0
mov dword [esp + 0xc], 0
test edi, edi
je 0x10105d27
cmp dword [edi + 0x18], 0
jne 0x10105d23
mov eax, dword [esi + 0x1c]
test al, 4
jne 0x10105ea6
mov dword [esp + 0xc], edi
cmp dword [esi + 0x9f8], 1
jne 0x10105d42
push esi
call fcn.100f84f0
add esp, 4
push esi
call fcn.100f9560
add esp, 4
cmp dword [esp + 0x10], 0x304
jb 0x10105d9e
cmp dword [esi + 0x670], 0
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
je 0x10105d65
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
push ecx
push eax
push dword [esp + 0x14]
lea eax, [esp + 0x5c]
push eax
push esi
call fcn.101226f0
add esp, 0x14
mov edi, eax
push 1
push dword [esp + 0x50]
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
mov dword [esp + 0x4c], 0
test edi, edi
jne 0x10105679
jmp 0x101048b9
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 1
push esi
call fcn.10102ff0
add esp, 0x10
mov ebx, 0x50
mov edi, 0xffffe001
test eax, eax
jne 0x10105e38
cmp dword [esp + 0xc], 0
je 0x10105df7
movzx eax, word [esi + 0x58]
mov word [esp + 0x74], ax
mov word [esp + 0x76], ax
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 0x9a]
mov edi, 0x210
cmp word [esi + edi], ax
je 0x10106063
add edi, 4
cmp edi, 0x32c
jne 0x10105de2
push 1
lea eax, [esp + 0x54]
push eax
push esi
call fcn.101002b0
add esp, 0xc
test eax, eax
je 0x10106680
cmp dword [0x101de200], 0
je 0x1010727c
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x101070be
mov edi, dword [eax + 0x28]
mov ebx, 0x28
push ebx
push 2
push esi
call fcn.100fa900
add esp, 0xc
mov bl, 1
cmp dword [esp + 0xc], 0
je 0x1010566e
mov eax, dword [esp + 0xc]
cmp eax, dword [esi + 0xc4]
je 0x10105e72
push esi
call fcn.101141d0
add esp, 4
push dword [esp + 0xc]
call fcn.10113020
add esp, 4
test bl, bl
jne 0x1010566e
test byte [esi + 0x1d], 4
jne 0x1010566e
push dword [esi + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
jmp 0x1010566e
mov ebx, 0xffffd071
mov edi, 0x28
jmp 0x10104714
shr eax, 3
and eax, 3
cmp eax, 1
je 0x10105ec9
cmp eax, 3
je 0x10105ec9
cmp eax, 2
jne 0x10105d23
cmp dword [esi + 0x38], 0
jne 0x10105d23
lock inc dword [0x101df640]
push edi
call fcn.10113020
add esp, 4
mov dword [esi + 0x6f8], 0
jmp 0x10105d27
mov ebx, dword [esi + 0x6f4]
test bx, bx
cmovne ecx, ebx
movzx ebx, cx
cmp ebx, 0x303
jb 0x101059b3
cmp cx, ax
jbe 0x101059b3
mov ecx, 0x4e574f44
mov ebx, dword [esi + 0x408]
xor ebx, ecx
mov dword [esp + 0x10], ebx
mov ecx, 0x1445247
xor ecx, dword [esi + 0x40c]
mov ebx, 0xffffd01d
or ecx, dword [esp + 0x10]
je 0x10104495
mov ecx, 0x4e574f44
xor ecx, dword [esi + 0x408]
mov dword [esp + 0x10], ecx
mov ecx, 0x445247
xor ecx, dword [esi + 0x40c]
or ecx, dword [esp + 0x10]
jne 0x101059b3
jmp 0x10104495
cmp edx, 1
jne 0x10105f87
movzx eax, ax
cmp eax, 0x303
mov edx, 0xfefd
mov edi, 0xffff
cmove edi, edx
cmp eax, 0x302
mov eax, 0xfeff
cmovne eax, edi
mov word [ecx + 0x12], ax
test byte [esi + 0x1d], 4
jne 0x10105f9f
push dword [esi + 0x174]
call fcn.100dac50
add esp, 4
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x10105ff1
movzx ecx, word [eax + 0x4a]
cmp ecx, 0x303
ja 0x10105ff1
movzx ecx, byte [eax + 0x78]
cmp dword [esp + 0x18], ecx
jne 0x10106143
mov bl, 1
cmp dword [esp + 0x18], 0
je 0x101063eb
add eax, 0x79
push dword [esp + 0x18]
push dword [esp + 0x128]
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
sete cl
jmp 0x10106147
test byte [esi + 0x1f], 8
je 0x10106000
cmp dword [esi + 0x9f8], 1
jne 0x10106032
xor ebx, ebx
jmp 0x10106145
mov ebx, 0xffffd070
jmp 0x101037cd
push 0x2f
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd087
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x101053eb
mov al, 1
xor ebx, ebx
cmp dword [esp + 0x18], 0x20
jne 0x1010626a
mov edx, 0x5a
movzx ecx, byte [esi + ebx + 0x410]
add ecx, edx
mov byte [esp + ebx + 0x74], cl
cmp ebx, 0x1f
je 0x10106271
inc ebx
movzx edx, cl
jmp 0x10106046
mov ecx, esi
call fcn.100fa0e0
test eax, eax
je 0x10106ab6
add edi, esi
movzx edx, byte [esi + 0x3e0]
lea eax, [esp + 0x74]
mov ecx, edi
push esi
push eax
call fcn.100fa5b0
add esp, 8
test eax, eax
je 0x10105df7
mov ecx, dword [esp + 0x58]
cmp ecx, 2
jb 0x10105df7
mov eax, dword [esp + 0x54]
mov dword [esp + 0x10], eax
movzx eax, word [edi]
mov edi, 3
mov edx, dword [esp + 0x10]
movzx edx, word [edx + edi - 3]
rol dx, 8
cmp dx, ax
je 0x10106576
cmp edi, ecx
jae 0x10105df7
add edi, 2
jmp 0x101060b0
movzx eax, word [esp + 0xc]
cmp eax, 0x300
mov eax, 0x33
mov ecx, 0x28
cmova ecx, eax
mov dword [esp + 0xc], ecx
lea eax, [esp + 0x74]
mov ecx, esi
mov edx, dword [esp + 8]
push 0
push dword [esp + 0x5c]
push dword [esp + 0x5c]
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push dword [esp + 0x13c]
push dword [esp + 0x13c]
push eax
call fcn.101097b0
add esp, 0x20
test eax, eax
je 0x101062b0
push 0xffffd044
call fcn.10111ec0
add esp, 4
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
jmp 0x101056af
mov bl, 1
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 0x30]
movzx edi, word [edx]
cmp edi, 0x303
ja 0x10106167
mov ebx, 0xffffd01d
test cl, al
jne 0x10104495
jmp 0x10106196
xor edx, edx
cmp dword [esp + 0x18], 0
sete dl
cmp dword [esi + 0x9f8], 1
movzx ecx, cl
cmove ecx, edx
test al, al
cmovne edx, ecx
test bl, bl
cmovne edx, ecx
mov ebx, 0xffffd01d
cmp dl, 1
jne 0x10104495
mov ecx, esi
call fcn.100fa0e0
test eax, eax
je 0x10106501
rol word [esp + 0x16], 8
mov ecx, 0x210
movzx eax, word [esp + 0x16]
cmp word [esi + ecx], ax
je 0x101061d2
add ecx, 4
cmp ecx, 0x32c
jne 0x101061b5
push 0
push 0xffffd002
jmp 0x101064f9
lea eax, [esp + 0x74]
mov word [eax], di
mov word [eax + 2], di
movzx edx, byte [esi + 0x3e0]
add ecx, esi
push esi
mov edi, eax
push eax
call fcn.100fa5b0
add esp, 8
test eax, eax
je 0x101063c5
cmp dword [esi + 0x614], 0
je 0x10106215
movzx eax, word [esp + 0x16]
cmp word [esi + 0x490], ax
jne 0x101064e5
movzx eax, word [esp + 0x16]
mov word [esi + 0x490], ax
xor eax, eax
movzx ecx, word [esp + 0x16]
cmp word [eax + 0x101b00b0], cx
je 0x101063f4
add eax, 0x14
cmp eax, 0x5a0
jne 0x10106228
xor edi, edi
push edi
push 0xffffd016
call sym.nss3.dll_PR_SetError
add esp, 8
mov dword [esi + 0x494], edi
push edi
push 0xffffe001
jmp 0x101064f9
mov ebx, 0xffffd067
jmp 0x10104724
xor ecx, ecx
jmp 0x10106149
mov ecx, dword [esp + 0x124]
movdqu xmm0, xmmword [esp + 0x74]
movdqu xmm1, xmmword [esp + 0x84]
movdqu xmm2, xmmword [ecx]
pcmpeqb xmm2, xmm0
movdqu xmm0, xmmword [ecx + 0x10]
pcmpeqb xmm0, xmm1
pand xmm0, xmm2
pmovmskb ecx, xmm0
cmp ecx, 0xffff
sete cl
xor ebx, ebx
jmp 0x10106149
mov ecx, 0xd4
add ecx, dword [esi + 0x78]
call fcn.10094ac0
test eax, eax
je 0x10106547
mov ecx, eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x14], ecx
push ecx
push esi
call fcn.100fae60
add esp, 0x14
mov dword [esp + 0x10], eax
push dword [esp + 8]
call sym.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
cmp dword [esp + 0x10], 0
jne 0x10106129
push 0x800
call sym.nss3.dll_PORT_NewArena_Util
add esp, 4
mov dword [esp + 8], eax
test eax, eax
je 0x101063bb
push 0xac
push dword [esp + 0xc]
call sym.nss3.dll_PORT_ArenaAlloc_Util
add esp, 8
mov dword [esp + 0xc], eax
test eax, eax
je 0x101063ad
mov eax, dword [esp + 0xc]
add eax, 0x10
xor ecx, ecx
push 0x9c
push ecx
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov dword [eax], ecx
mov dword [eax + 4], 4
xor edx, edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
add eax, 0x14
push ebx
push eax
push ecx
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
test eax, eax
jne 0x101063ad
mov eax, dword [esp + 0xc]
add eax, 0x20
lea ecx, [esp + 0x68]
push ecx
push eax
push dword [esp + 0x10]
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
test eax, eax
jne 0x101063ad
mov eax, dword [esp + 0xc]
add eax, 0x2c
push edi
push eax
push dword [esp + 0x10]
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
test eax, eax
je 0x10106dc6
push 0
push dword [esp + 0xc]
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
mov ecx, 0xffffe013
jmp 0x101056bf
movzx eax, word [esp + 0x16]
push edi
push eax
call fcn.100f9fa0
add esp, 8
test eax, eax
mov eax, 0xffffd079
mov ecx, 0xffffd002
cmove ecx, eax
push 0
push ecx
jmp 0x101064f9
xor eax, eax
mov cl, 1
jmp 0x10106149
or byte [esi + 0x540], 2
mov ecx, dword [esp + 0xc]
or dword [esp + 8], ecx
lea eax, [eax + 0x101b00b0]
mov dword [esi + 0x494], eax
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x101b0650]
mov dword [esi + 0x48c], eax
je 0x101065dd
push esi
call fcn.100fcd30
add esp, 4
test eax, eax
jne 0x10106501
push esi
call fcn.100f9560
add esp, 4
push 2
push esi
call fcn.1010bcb0
add esp, 8
mov dword [esp + 8], eax
lea eax, [esi + 0x544]
push eax
call fcn.1010bc40
add esp, 4
mov ebx, 0xffffd01d
mov edx, 0x2f
cmp dword [esp + 8], 0
jne 0x10104002
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 2
push esi
call fcn.10102ff0
add esp, 0x10
mov ecx, 0xffffd01d
test eax, eax
jne 0x10104010
mov eax, dword [esp + 0x30]
movzx eax, word [eax]
cmp eax, 0x304
jb 0x10106b85
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.10124360
add esp, 0xc
test eax, eax
je 0x10106e79
cmp dword [0x101de200], 0
je 0x101072b8
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1010721a
mov ecx, dword [eax + 0x28]
jmp 0x10104010
push 0x2f
push 2
push esi
call fcn.100fa900
add esp, 0xc
push 0
push 0xffffd01d
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101de200], 0
je 0x10107272
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x101070a1
mov ebx, dword [eax + 0x28]
jmp 0x10104495
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x1010532c
push 0xffffd043
call fcn.10111ec0
add esp, 4
jmp 0x10106129
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x101049eb
mov word [esi + 0x490], ax
xor ecx, ecx
cmp word [ecx + 0x101b00b0], ax
je 0x10106624
add ecx, 0x14
cmp ecx, 0x5a0
jne 0x1010657f
xor edi, edi
push edi
push 0xffffd016
call sym.nss3.dll_PR_SetError
add esp, 8
mov dword [esi + 0x494], edi
push edi
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10106657
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x1010429b
push esi
call fcn.100f9560
add esp, 4
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.10123f70
add esp, 0xc
test eax, eax
mov ecx, 0xffffd01d
jne 0x10104010
jmp 0x101048b9
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x1010416a
lea eax, [ecx + 0x101b00b0]
mov dword [esi + 0x494], eax
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x101b0650]
mov dword [esi + 0x48c], eax
or byte [esi + 0x540], 2
push esi
call fcn.100fcd30
add esp, 4
test eax, eax
je 0x10106680
cmp dword [0x101de200], 0
je 0x101072a4
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x101071ae
mov edi, dword [eax + 0x28]
jmp 0x10105e38
mov dword [esp + 0x54], 0
cmp dword [esp + 0xc], 0
je 0x101069a3
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 0x4a]
cmp ax, word [esi + 0x58]
jne 0x1010697d
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 0x9a]
cmp ax, word [esi + 0x490]
jne 0x1010697d
mov eax, dword [esp + 0xc]
push dword [eax + 0x2c]
push dword [eax + 0x60]
push esi
call fcn.1010ff90
add esp, 0xc
mov dword [esi + 0x9c], eax
test eax, eax
je 0x1010697d
cmp dword [eax + 0x10], 0
je 0x1010697d
push 0x17
push esi
call fcn.1010ba70
add esp, 8
mov ecx, dword [esp + 0xc]
mov cl, byte [ecx + 0xcf]
test eax, eax
je 0x10106761
test cl, cl
jne 0x10106774
jmp 0x1010697d
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10104320
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x1010569a
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10104c1e
test cl, cl
je 0x10106774
mov eax, 0x28
mov edi, 0xffffd088
jmp 0x10106adf
cmp dword [esi + 0xc4], 0
je 0x101067a5
push esi
call fcn.101141d0
add esp, 4
mov eax, dword [esi + 0xc4]
cmp eax, dword [esp + 0xc]
je 0x1010679b
push eax
call fcn.10113020
add esp, 4
mov dword [esi + 0xc4], 0
xor ebx, ebx
mov dword [esp + 0x74], ebx
mov ecx, dword [esp + 0xc]
lea eax, [ecx + 0x9d]
mov dword [esp + 0x78], eax
movzx eax, byte [ecx + 0xcd]
mov dword [esp + 0x7c], eax
push dword [esi + 0x11c]
push dword [ecx + 0xd0]
push ebx
push esi
call fcn.100ff0c0
add esp, 0x10
test eax, eax
je 0x1010697d
mov edi, eax
movzx eax, word [esi + 0x58]
cmp eax, 0x300
mov eax, 0x2800
cmova ebx, eax
lea eax, [esp + 0x74]
push dword [esi + 0x11c]
push ebx
push 0x30
push 0x10c
push 0x371
push eax
push 0
mov eax, dword [esp + 0x28]
push dword [eax + 0xd0]
push edi
call fcn.10100b50
add esp, 0x24
mov ebx, eax
push edi
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
mov dword [esp + 0x10], ebx
test ebx, ebx
je 0x1010697d
mov eax, dword [esp + 0xc]
mov dword [esi + 0xc4], eax
mov edi, dword [eax + 0x18]
test edi, edi
je 0x1010685e
push edi
call fcn.100a2170
add esp, 4
test eax, eax
je 0x1010685b
lock inc dword [eax + 4]
mov dword [esi + 0x78], edi
lock inc dword [0x101df638]
cmp dword [esi + 0x6f8], 0
je 0x10106875
lock inc dword [0x101df64c]
mov dword [esi + 0x4b4], 1
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 0x60]
mov dword [esi + 0x80], eax
mov eax, dword [edi + 0x64]
mov dword [esi + 0x84], eax
mov eax, dword [edi + 0x68]
mov dword [esi + 0x8c], eax
mov eax, dword [edi + 0x6c]
mov dword [esi + 0x90], eax
push dword [edi + 0x70]
call fcn.1011a470
add esp, 4
mov dword [esi + 0x98], eax
mov eax, dword [edi + 0x74]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x9c]
mov edi, dword [eax + 0x10]
test edi, edi
je 0x101068df
push edi
call fcn.100a2170
add esp, 4
test eax, eax
je 0x101068df
lock inc dword [eax + 4]
mov dword [esi + 0x74], edi
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 0x4a]
cmp eax, 0x301
jb 0x10106af2
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xf4], 0
je 0x10106af2
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xf0], 0
je 0x10106af2
mov eax, dword [esp + 0xc]
lea edi, [eax + 0xec]
lea ebx, [esi + 0x5c4]
cmp dword [esi + 0x5c8], 0
je 0x1010693b
push 0
push ebx
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
push edi
push ebx
push 0
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
test eax, eax
je 0x10106af2
cmp dword [0x101de200], 0
je 0x101072c2
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10107237
mov edi, dword [eax + 0x28]
mov eax, 0x50
jmp 0x10106adf
mov dword [esi + 0x6f8], 0
lock inc dword [0x101df640]
push esi
call fcn.101141d0
add esp, 4
push dword [esp + 0xc]
call fcn.10113020
add esp, 4
lock inc dword [0x101df63c]
push 0x23
push esi
call fcn.1010ba70
add esp, 8
test eax, eax
je 0x101069d9
mov eax, dword [esi + 0x48c]
cmp dword [eax + 8], 2
je 0x101069d9
push 0x1010c560
push 0x23
push dword [esp + 0x10]
push esi
call fcn.1010bfd0
add esp, 0x10
push esi
call fcn.10100570
add esp, 4
test eax, eax
je 0x10106a0f
cmp dword [0x101de200], 0
je 0x10107286
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x101070db
mov edi, dword [eax + 0x28]
jmp 0x1010566e
mov ecx, esi
call fcn.10100870
test eax, eax
je 0x10106a45
cmp dword [0x101de200], 0
je 0x1010729a
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1010714d
mov edi, dword [eax + 0x28]
push 0x28
jmp 0x10105663
push 1
push esi
call fcn.100fee40
add esp, 8
mov dword [esp + 0xc], eax
test eax, eax
je 0x101069e6
mov edi, dword [esp + 0xc]
mov dword [esi + 0xc4], edi
push 0x17
push esi
call fcn.1010ba70
add esp, 8
mov byte [edi + 0xcf], al
mov dword [esi + 0x4b4], 0
test byte [esi + 0x1d], 4
jne 0x10106a91
push dword [esi + 0x168]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
mov ecx, esi
call fcn.101012d0
mov ebx, eax
test byte [esi + 0x1d], 4
jne 0x10106aae
push dword [esi + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
test ebx, ebx
je 0x101048b9
cmp dword [0x101de200], 0
je 0x10107290
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x10107130
mov edi, dword [eax + 0x28]
mov eax, 0x28
push eax
push 2
push esi
call fcn.100fa900
add esp, 0xc
mov bl, 1
jmp 0x10105e51
push dword [esp + 8]
call fcn.1010cd00
add esp, 4
test byte [esi + 0x1d], 4
jne 0x10106b12
push dword [esi + 0x168]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
push esi
call fcn.10101a90
add esp, 4
test eax, eax
jne 0x10106b5a
push 0
push dword [esp + 0x14]
push esi
call fcn.100fb4e0
add esp, 0xc
test eax, eax
jne 0x10106b5a
mov ecx, esi
call fcn.101098c0
test eax, eax
jne 0x10106b5a
xor ebx, ebx
mov ecx, esi
xor edx, edx
call fcn.101099c0
mov dword [esi + 0x450], 6
test eax, eax
je 0x10106e52
cmp dword [0x101de200], 0
je 0x101072ae
push dword [0x101de1f0]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x101071e9
mov edi, dword [eax + 0x28]
xor ebx, ebx
jmp 0x10105e51
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0xc4]
mov dword [esp + 8], ecx
test ax, ax
js 0x10106baf
cmp dword [esi + 0x38], 0
je 0x10106bc5
and eax, 0x6000
cmp eax, 0x4000
je 0x10106baf
cmp dword [esi + 0x54], 0
je 0x10106bc5
push 0xff01
push esi
call fcn.1010ba70
add esp, 8
test eax, eax
je 0x10106dd4
mov ecx, esi
call fcn.100fb290
mov ebx, 0xffffd01d
test eax, eax
jne 0x10106e4b
mov dword [esp + 0xc], 0x101df630
cmp dword [esp + 0x18], 0
je 0x10106c19
mov eax, dword [esp + 8]
movzx eax, byte [eax + 0x78]
cmp dword [esp + 0x18], eax
jne 0x10106c19
mov eax, dword [esp + 8]
add eax, 0x79
push dword [esp + 0x18]
push dword [esp + 0x128]
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x10106e85
mov eax, dword [esp + 0xc]
lock inc dword [eax]
cmp dword [esi + 0x6f8], 0
je 0x10106c45
xor edi, edi
mov dword [esi + 0x6f8], edi
push dword [esi + 0x5d0]
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
mov dword [esi + 0x5d0], edi
mov edi, dword [esp + 8]
mov byte [edi + 0xce], 0
push esi
call fcn.101141d0
add esp, 4
push edi
call fcn.10113020
add esp, 4
push 0x140
call sym.nss3.dll_PORT_ZAlloc_Util
add esp, 4
test eax, eax
je 0x10106e3c
mov edi, eax
mov ecx, dword [esi + 0xd0]
xor ebx, ebx
mov eax, 0
test ecx, ecx
je 0x10106c93
push ecx
call sym.nss3.dll_PORT_Strdup_Util
add esp, 4
mov dword [edi + 0x24], eax
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x10106cab
push eax
call sym.nss3.dll_PORT_Strdup_Util
add esp, 4
mov ebx, eax
mov dword [edi + 0x28], ebx
movdqu xmm0, xmmword [esi + 0xb0]
movdqu xmmword [edi + 0x38], xmm0
movzx eax, word [esi + 0xc0]
mov word [edi + 0x48], ax
mov dword [edi + 8], 1
xor eax, eax
mov dword [edi + 4], eax
movzx ecx, word [esi + 0x58]
mov word [edi + 0x4a], cx
mov dword [edi + 0x74], eax
mov word [edi + 0xce], 1
mov byte [edi + 0x9c], 1
mov dword [esi + 0xc4], edi
movzx eax, word [esi + 0x58]
mov word [edi + 0x4a], ax
mov eax, dword [esp + 0x128]
mov byte [edi + 0x78], al
test eax, eax
je 0x10106d1d
lea ecx, [edi + 0x79]
push eax
push dword [esp + 0x128]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x17
push esi
call fcn.1010ba70
add esp, 8
mov byte [edi + 0xcf], al
cmp dword [esi + 0x954], 0
je 0x10106d63
lea eax, [esi + 0x94c]
add edi, 0xf8
xor ebx, ebx
push eax
push edi
push ebx
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
mov dword [esi + 0x954], ebx
mov ecx, 0xffffd01d
test eax, eax
jne 0x10104010
mov dword [esi + 0x4b4], 0
mov eax, dword [esi + 0x48c]
cmp dword [eax + 0xc], 0
je 0x10106e6f
mov dword [esi + 0x450], 0xa
jmp 0x10106e79
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10105582
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x1010545e
mov eax, dword [esp + 0xc]
mov dword [esi + 0x7c], eax
xor ebx, ebx
jmp 0x101056d6
xor ebx, ebx
cmp dword [esi + 0x38], 0
sete bl
or ebx, 0xffffd070
jmp 0x10106e4b
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x1010552e
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x101050ed
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x1010511b
mov dword [esi + 0xc4], 0
mov ebx, 0xffffd01d
push 0x28
jmp 0x10104003
test byte [esi + 0x1d], 4
jne 0x10104740
push dword [esi + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
jmp 0x10104740
mov dword [esi + 0x450], 0xb
or byte [esi + 0x540], 0x10
jmp 0x101048b9
mov eax, dword [esp + 8]
movzx eax, word [eax + 0x4a]
mov ecx, dword [esp + 0x30]
cmp ax, word [ecx]
jne 0x10106e4b
mov eax, dword [esp + 8]
movzx eax, word [eax + 0x9a]
cmp ax, word [esi + 0x490]
jne 0x10106e4b
mov eax, dword [esp + 8]
cmp byte [eax + 0xcf], 0
je 0x101070f8
push 0x17
push esi
call fcn.1010ba70
add esp, 8
test eax, eax
je 0x10107126
mov ebx, dword [esp + 8]
mov eax, dword [ebx + 0x60]
mov dword [esi + 0x80], eax
mov eax, dword [ebx + 0x64]
mov dword [esi + 0x84], eax
mov eax, dword [ebx + 0x68]
mov dword [esi + 0x8c], eax
mov eax, dword [ebx + 0x6c]
mov dword [esi + 0x90], eax
push dword [ebx + 0x70]
call fcn.1011a470
add esp, 4
mov dword [esi + 0x98], eax
mov eax, dword [ebx + 0x74]
mov dword [esi + 0x88], eax
mov dword [esp + 0x74], 0
lea eax, [ebx + 0x9d]
mov dword [esp + 0x78], eax
movzx eax, byte [ebx + 0xcd]
mov dword [esp + 0x7c], eax
mov eax, dword [ebx + 0xd8]
mov dword [esp + 0xc], eax
push dword [ebx + 0xd4]
call fcn.100d6ca0
add esp, 4
test eax, eax
je 0x10107197
mov ebx, eax
push dword [esp + 0xc]
push eax
call fcn.100d6e20
add esp, 8
mov dword [esp + 0xc], eax
push ebx
call sym.nss3.dll_SECMOD_DestroyModule
add esp, 4
mov eax, dword [esp + 0xc]
test eax, eax
je 0x10107197
mov ebx, eax
xor edx, edx
inc edx
mov ecx, eax
call fcn.100d4740
test eax, eax
je 0x10107188
mov edx, dword [esp + 8]
movzx eax, word [edx + 0xde]
movzx ecx, word [edx + 0xdc]
push dword [esi + 0x11c]
push eax
push dword [edx + 0xd0]
push ecx
push ebx
call fcn.100cd7b0
add esp, 0x14
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
lock dec dword [eax + 0x48]
jne 0x10106fc9
push ebx
call fcn.100d1c70
add esp, 4
cmp dword [esp + 0x10], 0
je 0x10107197
mov eax, dword [esp + 0x30]
movzx eax, word [eax]
xor ecx, ecx
cmp eax, 0x300
mov eax, 0x2800
cmovbe eax, ecx
push eax
push 0x30
push 0x10c
push 0x371
push edi
push 0
mov eax, dword [esp + 0x20]
push dword [eax + 0xd0]
mov ebx, dword [esp + 0x2c]
push ebx
call fcn.100d0fa0
add esp, 0x20
mov edi, eax
push ebx
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
test edi, edi
je 0x10107197
lock inc dword [0x101df62c]
cmp dword [esi + 0x930], 0
je 0x1010703b
lock inc dword [0x101df648]
push 0x23
push esi
call fcn.1010ba70
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
lea eax, [ecx*8 + 6]
mov dword [esi + 0x450], eax
mov dword [esi + 0x4b4], 1
mov eax, dword [esp + 8]
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x10107083
push ebx
call fcn.100a2170
add esp, 4
test eax, eax
je 0x10107080
lock inc dword [eax + 4]
mov dword [esi + 0x78], ebx
push 0
push edi
push esi
call fcn.100fb4e0
add esp, 0xc
mov ebx, 0xffffd01d
test eax, eax
jne 0x10106e4b
jmp 0x10106e79
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10106522
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10105e30
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10106a07
push 0x17
push esi
call fcn.1010ba70
add esp, 8
mov ebx, 0xffffd089
test eax, eax
jne 0x10106e4b
mov eax, dword [esp + 8]
cmp byte [eax + 0xcf], 0
jne 0x10106ebb
jmp 0x10106ece
mov ebx, 0xffffd088
jmp 0x10106e4b
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10106ad7
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10106a3b
call fcn.100745e0
jmp 0x10105318
call fcn.100745e0
jmp 0x101049d7
call fcn.100745e0
jmp 0x10104287
lock dec dword [ebx + 0x48]
jne 0x10107197
push ebx
call fcn.100d1c70
add esp, 4
mov dword [esp + 0xc], 0x101df634
jmp 0x10106c19
call fcn.100745e0
jmp 0x10104156
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10106678
call fcn.100745e0
jmp 0x1010430c
call fcn.100745e0
jmp 0x10105686
call fcn.100745e0
jmp 0x10104c0a
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10106b7b
call fcn.100745e0
jmp 0x1010556e
call fcn.100745e0
jmp 0x1010544a
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x101064dd
sub esp, 0x10
movdqa xmm0, xmmword [0x1019c190]
movdqu xmmword [esp], xmm0
call fcn.10072140
add esp, 0x10
jmp 0x10106970
call fcn.100745e0
jmp 0x1010551a
call fcn.100745e0
jmp 0x101050d9
call fcn.100745e0
jmp 0x10105107
call fcn.100745e0
jmp 0x1010650e
call fcn.100745e0
jmp 0x10105e1c
call fcn.100745e0
jmp 0x101069f3
call fcn.100745e0
jmp 0x10106ac3
call fcn.100745e0
jmp 0x10106a27
call fcn.100745e0
jmp 0x10106664
call fcn.100745e0
jmp 0x10106b67
call fcn.100745e0
jmp 0x101064c9
call fcn.100745e0
jmp 0x1010695c