Function at 0x10167bb0
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, 0x140
mov eax, dword [0x101d2014]
mov esi, dword [ebp + 8]
xor eax, ebp
mov dword [esp + 0x138], eax
mov eax, dword [esi + 0x4ac]
cmp eax, 1
jne 0x10167c75
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 0x10167c12
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 0x10167c31
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 0x10167c50
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 0x10167c6f
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 0x10167efe
mov ecx, 0x10800f
bt ecx, eax
jae 0x10167efe
xor eax, eax
push eax
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [esi + 0x450], 9
jne 0x10167cdc
cmp dword [esi + 0x4ac], 0x16
jne 0x10167ccb
mov edx, dword [esi + 0x3b0]
lea eax, [esi + 0x3b0]
mov ecx, 0x16
mov dword [esp + 0x20], eax
movzx ebx, word [edx + 0x4c]
jmp 0x10167e7f
push esi
call fcn.10166a60
add esp, 4
test eax, eax
jne 0x10169054
mov edx, dword [esi + 0x3b0]
mov ecx, dword [esi + 0x4ac]
lea eax, [esi + 0x3b0]
movzx ebx, word [edx + 0x4c]
cmp ecx, 2
je 0x10167e58
cmp ecx, 1
jne 0x10167e7b
cmp dword [esi + 0x60], 0
je 0x10167f2f
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x50], edi
mov word [esp + 0x1e], bx
mov ebx, 0xffffd02a
mov edi, 0xa
mov ecx, 2
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esi + 0x540], eax
mov eax, dword [esi + 0x450]
cmp eax, 1
ja 0x10168fec
test eax, eax
je 0x1016804f
push esi
call fcn.10180390
add esp, 4
mov ebx, eax
test eax, eax
jne 0x10169013
lea eax, [esi + 0x6fc]
push esi
mov dword [esp + 0x10], eax
push eax
call fcn.10171220
add esp, 8
mov dword [esi + 0x6f8], 0
cmp dword [esi + 0x9f8], 1
jne 0x10167dd0
push esi
call fcn.1015ddf0
add esp, 4
lea ebx, [esp + 0x30]
lea edx, [esp + 0x110]
lea ecx, [esp + 0x54]
lea eax, [esp + 0x50]
push ebx
lea ebx, [esp + 0x44]
push ebx
lea ebx, [esp + 0x60]
push ebx
push edx
push ecx
push eax
push esi
call fcn.101652a0
add esp, 0x1c
mov ebx, 0xffffd01c
test eax, eax
jne 0x10168ff7
mov eax, dword [esp + 0x54]
test eax, eax
je 0x101689ca
cmp eax, 1
jne 0x10168988
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.1015f2c0
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 0x10168ff7
cmp dword [esi + 0x60], 0
je 0x10167f48
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd02b
jmp 0x1016904c
mov dword [esp + 0x20], eax
movzx eax, word [esi + 0x58]
mov word [esp + 0x1e], bx
cmp eax, 0x303
ja 0x10167eea
cmp ecx, 0x16
ja case.0x10167e98.1
jmp dword [ecx*4 + 0x101a8318]
cmp dword [ebp + 0x10], 0
je 0x10168609
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.1015f2c0
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 0x10169008
push dword [ebp + 0x10]
push edi
push esi
call fcn.10185130
add esp, 0xc
mov ebx, eax
jmp 0x10169016
push esi
call fcn.10183b40
add esp, 4
test eax, eax
jne 0x10167c8f
push dword [ebp + 0x10]
push edi
push dword [esi + 0x4ac]
push esi
call fcn.10167890
add esp, 0x10
test eax, eax
jne 0x10169054
jmp 0x10167c8f
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd02a
jmp 0x1016904c
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x40], edi
mov word [esp + 0x1e], bx
mov edi, 0xa
mov ebx, 0xffffd02b
mov dword [esp + 0x20], eax
mov dword [esp + 0x58], ecx
xor ecx, ecx
mov dword [esp + 0x114], ecx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x118], ecx
cmp dword [esi + 0x450], 8
jne 0x10168894
mov eax, dword [esi + 0x3d8]
test eax, eax
je 0x10167fa8
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 0x10167fc5
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 0x10167fe2
push eax
call sym.nss3.dll_SECKEY_DestroyPrivateKey
add esp, 4
mov dword [esi + 0x3d4], 0
lea ebx, [esi + 0x58]
lea ecx, [esp + 0x40]
lea eax, [esp + 0x58]
push ebx
push eax
push ecx
push esi
call fcn.1015f150
add esp, 0x10
mov ecx, 0xffffd01d
test eax, eax
jne 0x101688a2
mov eax, dword [esp + 0x58]
cmp eax, 0x1f
ja 0x1016866f
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.1015f2c0
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 0x10168704
movzx eax, word [esi + 0x58]
mov ebx, 0xffffd070
cmp eax, 0x303
ja 0x10168fec
test byte [esi + 0x1d], 0x60
jne 0x10167d8d
xor ecx, ecx
mov edi, 0x64
inc ecx
jmp 0x10168fec
cmp dword [esi + 0x450], 9
jne 0x10168467
push dword [ebp + 0x10]
push edi
push esi
call fcn.10166900
add esp, 0xc
test eax, eax
jne 0x10168739
push esi
call fcn.10166a60
jmp 0x1016864e
cmp dword [esi + 0x60], 0
jne 0x1016841c
cmp dword [esi + 0x450], 0xb
jne 0x1016841c
mov eax, dword [esi + 0x48c]
mov eax, dword [eax + 4]
cmp eax, 4
je 0x10168f56
cmp eax, 2
jne 0x10168f7c
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x54]
lea edx, [esp + 0x50]
mov dword [edx], edi
lea edi, [esp + 0x110]
mov dword [ecx], eax
mov eax, dword [esi + 0x3b4]
movzx ebx, word [eax + 0x10]
xor eax, eax
mov dword [edi + 4], eax
mov dword [edi], eax
mov dword [edi + 8], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
push ecx
push edx
push 2
push edi
push esi
call fcn.10161c80
add esp, 0x14
mov ecx, 0xffffd01f
test eax, eax
jne 0x1016819e
lea eax, [esp + 0x3c]
mov word [esp + 0xc], bx
push eax
push 2
call sym.nss3.dll_NSS_OptionGet
add esp, 8
test eax, eax
jne 0x1016815d
cmp dword [esp + 0x3c], 0
jg 0x10168165
mov dword [esp + 0x3c], 0x3ff
push edi
call fcn.100f9440
add esp, 4
cmp eax, dword [esp + 0x3c]
mov ebx, 0xffffd073
mov ecx, 0x2f
jb 0x10168190
mov edi, eax
cmp eax, 0x2000
jbe 0x1016997d
mov ebx, 0xffffd0af
push ecx
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
mov ecx, ebx
push ecx
call fcn.10176550
add esp, 4
push 0
push eax
call sym.nss3.dll_PR_SetError
add esp, 8
mov edi, dword [ebp + 0xc]
xor ebx, ebx
dec ebx
jmp 0x10168f65
cmp dword [esi + 0x60], 0
je 0x10168499
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd02e
jmp 0x10168731
cmp dword [esi + 0x60], 0
mov eax, dword [esi + 0x450]
je 0x10168516
cmp eax, 3
jne 0x10168540
push esi
call fcn.1015e020
add esp, 4
mov ecx, dword [esi + 0x60]
jmp 0x1016851d
cmp dword [esi + 0x60], 0
jne 0x10168435
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x58], edi
mov dword [esp + 0x110], ebx
cmp dword [esi + 0x450], 0xe
jne 0x10168435
push esi
call fcn.10180820
add esp, 4
cmp ebx, 4
mov dword [esi + 0x4c4], edx
mov dword [esi + 0x4c0], eax
jae 0x10168a2b
push 0x32
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd06e
jmp 0x10168731
cmp dword [esi + 0x9f8], 1
jne 0x10168279
cmp dword [esi + 0x60], 0
je 0x1016878d
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd07b
jmp 0x10168731
cmp dword [ebp + 0x10], 0
je 0x1016862c
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.1015f2c0
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 0x10168731
cmp dword [esi + 0x60], 0
je 0x10168656
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x40], edi
mov dword [esp + 0x58], ecx
xor ecx, ecx
mov dword [esp + 0x114], ecx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x118], ecx
cmp dword [esi + 0x450], 5
jne 0x1016870e
mov edx, dword [esi + 0x3b4]
movzx ecx, word [edx + 0x10]
cmp ecx, 0x303
jne 0x1016880f
mov ecx, dword [ebp + 0x10]
cmp ecx, 2
jae 0x10168cbc
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.1015f2c0
add esp, 0xc
xor eax, eax
cmp dword [esi + 0x60], 0
sete al
or eax, 0xffffd006
push 0
push eax
jmp 0x10169388
cmp dword [esi + 0x450], 7
jne 0x10168480
mov edi, dword [esi + 0x60]
test edi, edi
je 0x10168389
test byte [esi + 0x1c], 4
jne 0x10168398
push esi
call fcn.1015e020
add esp, 4
mov edx, dword [esi + 0x3b0]
test edi, edi
mov eax, 0x53525652
mov ebx, 0x434c4e54
mov ecx, esi
cmove ebx, eax
lea eax, [esp + 0x64]
push ebx
push eax
call fcn.101623a0
add esp, 8
test eax, eax
je 0x1016879c
push 0
push 0xffffe001
jmp 0x10169008
cmp dword [esi + 0x60], 0
je 0x1016844e
cmp dword [esi + 0x450], 4
jne 0x1016844e
mov ebx, dword [esi + 0x48c]
cmp dword [ebx + 0x10], 0
je 0x101688ba
mov eax, dword [esi + 0xd4]
mov edi, dword [eax + 0xc]
push dword [edi + 4]
call fcn.100fa000
add esp, 4
jmp 0x101688c6
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd038
jmp 0x10168731
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd02d
jmp 0x10168731
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd06d
jmp 0x10168731
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd031
jmp 0x10168731
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd07d
jmp 0x10168731
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd032
jmp 0x10168731
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x40], edi
xor edi, edi
mov dword [esp + 0x114], edi
mov dword [esp + 0x110], edi
mov dword [esp + 0x118], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], eax
cmp dword [esi + 0x450], 0xc
jne 0x10168741
mov eax, dword [esi + 0x3b4]
lea ecx, [esp + 0x58]
lea edx, [esp + 0x40]
movzx ebx, word [eax + 0x10]
lea eax, [esp + 0x110]
cmp ebx, 0x300
seta byte [esp + 0xc]
push ecx
push edx
push 1
push eax
push esi
call fcn.10161c80
add esp, 0x14
test eax, eax
je 0x10168d2c
push 0
push 0xffffd020
jmp 0x10169008
xor ecx, ecx
cmp eax, 0xa
jne 0x10168540
mov ebx, dword [esi + 0x3e4]
mov edi, dword [esi + 0x3e8]
mov dword [esp + 0xc], ecx
test edi, edi
je 0x10168559
push dword [edi + 4]
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov edi, dword [edi]
jmp 0x1016852d
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd02c
jmp 0x10168731
test ebx, ebx
je 0x10168568
push 0
push ebx
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 0x101685a7
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x10168597
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]
mov edi, dword [ebp + 0x10]
movzx ecx, word [eax + 0x10]
test edi, edi
je 0x10168c49
cmp edi, 3
jae 0x101687c7
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.1015f2c0
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 0x10168cae
cmp dword [esi + 0x60], 0
je 0x10168839
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd029
jmp 0x10169008
cmp dword [esi + 0x60], 0
jne 0x1016871d
mov eax, dword [esi + 0x450]
and eax, 0xfffffffe
cmp eax, 0xc
jne 0x1016871d
push esi
call fcn.1016e330
add esp, 4
jmp 0x10167ef7
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd030
jmp 0x10168731
mov edx, dword [esp + 0x40]
lea ecx, [esi + 0x3f0]
add eax, 0xffffffe0
movsd xmm0, qword [edx + 0x18]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [edx + 0x10]
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
add edx, 0x20
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov dword [esp + 0x40], edx
mov dword [esp + 0x58], eax
lea ecx, [esp + 0x58]
movdqu xmm0, xmmword [esi + 0x3f0]
movdqu xmm1, xmmword [esi + 0x400]
pcmpeqb xmm1, xmmword [0x101a77f0]
pcmpeqb xmm0, xmmword [0x101a7800]
pand xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
lea eax, [esp + 0x110]
setne byte [esp + 0xc]
push ecx
lea ecx, [esp + 0x44]
push ecx
push 1
push eax
push esi
call fcn.10161c80
add esp, 0x14
test eax, eax
je 0x1016886e
mov ecx, 0xffffd01d
jmp 0x101688a2
mov ebx, 0xffffd030
mov eax, 0xa
jmp 0x101695b4
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd02f
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
dec ebx
jmp 0x10169016
mov eax, 0xa
mov ebx, 0xffffd02e
xor edx, edx
xor ecx, ecx
test cl, cl
mov ecx, 0x32
cmove ecx, eax
test edx, edx
cmove ecx, eax
push ecx
push 2
push esi
call fcn.1015f2c0
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 0x10169013
push 0
push edi
call sym.nss3.dll_PORT_FreeArena_Util
jmp 0x10169bb7
push dword [ebp + 0x10]
push edi
push esi
call fcn.1015dee0
jmp 0x10167ef4
mov dword [esp + 0xc], edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0x14
push esi
call fcn.10167890
add esp, 0x10
test eax, eax
je 0x10168daf
mov ebx, eax
push 0
push 0xffffe001
jmp 0x10169bb2
mov edx, dword [ebp + 0xc]
mov word [esp + 8], cx
add edi, 0xfffffffd
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx ebx, byte [edx + 2]
shl eax, 0x10
shl ecx, 8
or ecx, eax
or ebx, ecx
cmp edi, ebx
jae 0x10168a7d
movzx eax, word [esp + 8]
xor ecx, ecx
mov ebx, 0xffffd01e
cmp eax, 0x300
seta cl
lea eax, [ecx*8 + 0x2a]
jmp 0x10168c9f
lea eax, [esp + 0x64]
mov ecx, esi
push 0
push eax
call fcn.101623a0
add esp, 8
xor edi, edi
test eax, eax
je 0x10168ea8
mov ebx, 0xffffd07f
mov eax, 0x33
jmp 0x101695b4
mov eax, dword [esi + 0x450]
test eax, eax
je 0x101691bf
mov edi, dword [ebp + 0xc]
xor ebx, ebx
cmp eax, 8
je 0x10169016
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd029
jmp 0x10168731
mov ecx, dword [esp + 0x118]
cmp ecx, 0x21
jb 0x10168e4a
movzx eax, word [ebx]
xor ecx, ecx
mov ebx, 0xffffd01d
cmp eax, 0x300
seta cl
lea edi, [ecx + ecx*2 + 0x2f]
push edi
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
mov ecx, ebx
mov dword [esi + 0x954], 0
push ecx
call fcn.10176550
add esp, 4
jmp 0x10169010
mov eax, dword [esi + 0x9c]
mov edi, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
test edi, edi
mov dword [esi + 0x90], eax
je 0x1016896f
mov eax, dword [ebx + 4]
mov dword [esi + 0x8c], eax
mov eax, dword [ebx + 4]
cmp eax, 4
je 0x10169176
cmp eax, 2
je 0x10169094
cmp eax, 1
jne 0x1016918e
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], edx
mov eax, dword [esi + 0x3b4]
movzx eax, word [eax + 0x10]
cmp eax, 0x301
jb 0x101694ba
cmp edx, 2
jae 0x10169496
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.1015f2c0
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 0xffffd045
jmp 0x1016955e
push 0x28
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd052
jmp 0x10169008
mov ecx, dword [esp + 0x50]
add eax, 0xfffffffe
movzx edx, word [ecx]
add ecx, 2
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ecx
shl edx, 0x10
bswap edx
cmp eax, edx
jne 0x10168fdd
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x54]
push eax
push esi
call fcn.101703c0
add esp, 0xc
mov ebx, 0xffffd01c
test eax, eax
jne 0x10168ff7
push 0x2b
push esi
call fcn.10170550
add esp, 8
test eax, eax
je 0x10168f95
push eax
push esi
call fcn.1018a3f0
add esp, 8
test eax, eax
je 0x10169322
cmp dword [0x101d4d40], 0
je 0x1016b881
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016ad15
mov ebx, dword [eax + 0x28]
mov eax, 0x46
mov edi, 0x2f
cmp ebx, 0xffffd009
cmove edi, eax
jmp 0x10168fe7
mov eax, dword [edi]
lea ecx, [edi + 4]
lea edx, [esp + 0x58]
lea edi, [esp + 0x64]
mov dword [edx], ecx
lea ecx, [ebx - 4]
lea ebx, [esp + 0x110]
mov dword [ebx], ecx
bswap eax
mov dword [esi + 0x4c8], eax
push ebx
push edx
push 2
push edi
push esi
call fcn.10161c80
add esp, 0x14
or eax, dword [ebx]
je 0x10169260
push 0x32
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd06e
jmp 0x10169008
movzx ecx, word [esp + 8]
test ebx, ebx
je 0x10168c49
push 0x800
call sym.nss3.dll_PORT_NewArena_Util
add esp, 4
test eax, eax
mov dword [esi + 0x3e4], eax
je 0x101685fc
cmp ebx, 3
jb 0x101687ef
cmp edi, 3
jb 0x101685c5
mov ecx, dword [ebp + 0xc]
add ebx, 0xfffffffd
movzx eax, byte [ecx + 3]
movzx edi, byte [ecx + 4]
shl eax, 0x10
shl edi, 8
or edi, eax
movzx eax, byte [ecx + 5]
lea ecx, [eax + edi - 1]
cmp ecx, ebx
jae 0x101687ef
or edi, eax
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x64]
add eax, 6
mov dword [ecx + 4], eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [ecx + 8], edi
push 1
push eax
push eax
push ecx
push dword [esi + 0x178]
call sym.nss3.dll_CERT_NewTempCertificate
add esp, 0x14
test eax, eax
mov dword [esi + 0x78], eax
je 0x10169d44
sub ebx, edi
je 0x10168c04
mov edx, dword [ebp + 0x10]
add dword [esp + 0x10], edi
mov dword [esp + 0x18], 0
sub edx, edi
add edx, 0xfffffffa
cmp ebx, 3
jb 0x101687ef
cmp edx, 3
jb 0x101685c5
mov ecx, dword [esp + 0x10]
add ebx, 0xfffffffd
movzx eax, byte [ecx]
movzx edi, byte [ecx + 1]
shl eax, 0x10
shl edi, 8
or edi, eax
movzx eax, byte [ecx + 2]
lea ecx, [eax + edi - 1]
cmp ecx, ebx
jae 0x101687ef
or edi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], edi
add eax, 3
mov dword [esp + 0x68], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x6c], edi
push 8
push dword [esi + 0x3e4]
call sym.nss3.dll_PORT_ArenaAlloc_Util
add esp, 8
test eax, eax
je 0x101685fc
mov edi, eax
push 1
xor eax, eax
push eax
push eax
lea eax, [esp + 0x70]
push eax
push dword [esi + 0x178]
call sym.nss3.dll_CERT_NewTempCertificate
add esp, 0x14
test eax, eax
mov dword [edi + 4], eax
je 0x10169d44
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [edi], 0
sub edx, ecx
sub ebx, ecx
test eax, eax
je 0x10168be0
mov dword [eax], edi
jmp 0x10168be6
mov dword [esi + 0x3e8], edi
add dword [esp + 0x10], ecx
add edx, 0xfffffffd
test ebx, ebx
mov dword [esp + 0x18], edi
jne 0x10168b2f
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1016a1b7
mov ecx, eax
xor edx, edx
call fcn.100f96d0
cmp dword [esp + 0xc], 0
jne 0x10169e83
movzx eax, word [esi + 0x58]
cmp eax, 0x303
ja 0x10169e83
push 5
push esi
call fcn.10170340
add esp, 8
test eax, eax
je 0x10169e83
mov dword [esi + 0x450], 9
jmp 0x1016929a
cmp dword [esp + 0xc], 0
mov ebx, 0xffffd01e
mov eax, 0x2a
je 0x10168c9f
mov edi, dword [ebp + 0xc]
movzx ecx, cx
cmp ecx, 0x301
jb 0x10168ca2
push esi
call fcn.10161340
add esp, 4
test eax, eax
je 0x10169242
cmp dword [0x101d4d40], 0
je 0x1016b85e
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016ad01
mov ebx, dword [eax + 0x28]
jmp 0x10168cae
mov edi, dword [ebp + 0xc]
push eax
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push ebx
call fcn.10176550
add esp, 4
jmp 0x10168739
mov eax, edi
movzx edi, word [edi]
add eax, 2
mov dword [esp + 0x40], eax
lea eax, [ecx - 2]
mov dword [esp + 0x58], eax
shl edi, 0x10
bswap edi
mov ecx, edi
call fcn.10161f70
test eax, eax
je 0x10169381
mov eax, 0xd4
add eax, dword [esi + 0x78]
push eax
push edi
push esi
call fcn.101621e0
add esp, 0xc
test eax, eax
je 0x101693fb
cmp dword [0x101d4d40], 0
je 0x1016b88b
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016ad95
mov ebx, dword [eax + 0x28]
mov eax, 0x2f
jmp 0x101695b4
push 0x800
call sym.nss3.dll_PORT_NewArena_Util
add esp, 4
test eax, eax
mov dword [esp + 0x64], eax
je 0x1016939a
mov cl, byte [esp + 0xc]
mov edi, eax
xor eax, eax
mov al, cl
movzx ecx, bx
xor ebx, ebx
cmp ecx, 0x303
mov dword [esp + 0xc], eax
jb 0x101696cc
lea edx, [esp + 0x58]
lea eax, [esp + 0x54]
lea ecx, [esp + 0x30]
push edx
lea edx, [esp + 0x44]
push edx
push eax
push ecx
push edi
push esi
call fcn.10164780
add esp, 0x18
test eax, eax
je 0x101696c0
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 0x101696e8
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
movzx eax, word [edx + 0x10]
cmp eax, 0x301
jb 0x101692a1
cmp dword [ebp + 0x10], 0xc
jne 0x10169447
xor eax, eax
cmp dword [esp + 0xc], 0
lea ebx, [esi + 0x4ea]
lea ecx, [esi + 0x4f6]
lea edi, [esp + 0x110]
cmove ebx, ecx
sete al
mov ecx, esi
push edi
lea edi, [esp + 0x68]
push edi
push eax
call fcn.1016e210
lea edx, [esp + 0x11c]
add esp, 0xc
movq xmm0, qword [edx]
mov edi, 0xffffd057
test eax, eax
movq qword [ebx], xmm0
mov ecx, dword [edx + 8]
mov dword [ebx + 8], ecx
mov ebx, 0x33
mov word [esi + 0x4e8], 0xc
jne 0x10169451
push 0xc
push dword [ebp + 0xc]
push edx
call sym.nss3.dll_NSS_SecureMemcmp
add esp, 0xc
test eax, eax
jne 0x10169451
jmp 0x101695c5
mov eax, dword [esp + 0x58]
cmp eax, 2
jb 0x10168013
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x40]
movzx edx, word [ecx]
mov word [esp + 8], dx
lea edx, [ecx + 2]
mov dword [esp + 0x40], edx
mov edx, eax
add edx, 0xfffffffe
mov dword [esp + 0x58], edx
je 0x10168013
cmp byte [ecx + 2], 0
mov dword [esp + 0x18], ebx
lea ebx, [eax - 3]
lea edx, [ecx + 3]
mov dword [esp + 0x58], ebx
mov ebx, 0xffffd01d
mov dword [esp + 0x40], edx
je 0x10169714
mov edi, 0x2f
jmp 0x10168894
lea eax, [esp + 0x58]
lea ecx, [esp + 0x40]
lea edx, [esp + 0x110]
push eax
push ecx
push 2
push edx
push esi
call fcn.10161c80
add esp, 0x14
mov ebx, 0xffffd022
test eax, eax
jne 0x10169005
mov eax, dword [esi + 0x3b4]
mov ecx, 0xd4
add ecx, dword [esi + 0x78]
movzx eax, word [eax + 0x10]
mov word [esp + 0xc], ax
call fcn.100f9910
test eax, eax
je 0x1016956b
lea ecx, [esp + 0x110]
mov ebx, eax
lea eax, [esp + 0x64]
push ecx
push eax
push edi
push ebx
push esi
call fcn.1015f820
add esp, 0x14
mov edi, eax
push ebx
call sym.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
test edi, edi
jne 0x10169578
cmp dword [esp + 0x58], 0
mov dword [esp + 0x114], 0
je 0x10169d26
movzx eax, word [esp + 0xc]
xor ecx, ecx
mov ebx, 0xffffd022
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2f]
jmp 0x101695b4
push dword [ebp + 0x10]
push edi
push esi
call fcn.1016f630
add esp, 0xc
mov ebx, eax
test ebx, ebx
jne 0x10169016
mov dword [esi + 0x450], 0xc
jmp 0x101693f4
push 0x28
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffe030
jmp 0x10168731
movzx ecx, word [esi + 0x5a]
mov eax, 0x303
mov ebx, 0xffffd009
mov edx, 0xffffd009
cmp ecx, eax
cmovb eax, ecx
cmp dword [esi + 0x614], 0
je 0x101693a6
push 0
push edx
call sym.nss3.dll_PR_SetError
add esp, 8
movzx eax, word [esi + 0x5a]
mov ecx, 0x46
mov edi, 0x28
cmp eax, 0x300
cmova edi, ecx
jmp 0x10168fe7
mov ebx, 0xffffd01c
mov edi, 0x32
mov ecx, 2
push edi
push ecx
push esi
call fcn.1015f2c0
add esp, 0xc
push 1
push dword [esp + 0x40]
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]
movzx eax, word [esi + 0x58]
cmp eax, 0x304
jb 0x10169059
cmp dword [ebp + 0x14], 0
jne 0x10169059
mov eax, dword [esp + 0x20]
movzx ecx, word [esp + 0x1e]
mov eax, dword [eax]
cmp cx, word [eax + 0x4c]
je 0x10169059
push 0xa
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd035
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
dec ebx
jmp 0x1016907c
cmp ebx, 0xffffffff
je 0x1016906e
cmp dword [esi + 0x9f8], 1
jne 0x1016906e
inc word [esi + 0x562]
push dword [ebp + 0x10]
push 0x4e
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [esp + 0x138]
xor ecx, ebp
call fcn.10192ef0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x110]
mov dword [eax], ecx
lea ecx, [esp + 0x58]
lea eax, [esp + 0x90]
mov dword [ecx], edx
mov dword [eax - 0x28], 4
mov edx, dword [edi + 4]
mov ebx, dword [edx + 0x1c]
mov dword [eax - 0x10], ebx
mov ebx, dword [edx + 0x18]
mov dword [eax - 0x14], ebx
mov ebx, dword [edx + 0x28]
mov dword [eax - 4], ebx
mov edx, dword [edx + 0x24]
mov dword [eax - 8], edx
lea edx, [esp + 0x110]
push edx
push ecx
push 2
push eax
push esi
call fcn.10161c80
add esp, 0x14
xor ebx, ebx
dec ebx
test eax, eax
jne 0x10169b6e
mov eax, dword [edi + 4]
lea ecx, [esp + 0x90]
add eax, 0x14
push ecx
push eax
call fcn.1017e9b0
add esp, 8
test eax, eax
je 0x10169969
mov eax, dword [esi + 0x3b4]
xor ecx, ecx
lea edx, [esp + 0x64]
movzx eax, word [eax + 0x10]
cmp eax, 0x300
seta cl
lea eax, [ecx*4 + 0x373]
xor ecx, ecx
push ecx
push ecx
push 0x10c
push eax
push 0x21
push ecx
push ecx
push ecx
push edx
push dword [edi]
call fcn.10133810
add esp, 0x28
test eax, eax
je 0x10169b58
mov edi, eax
push 1
push eax
push esi
call fcn.1015fea0
add esp, 0xc
mov ebx, eax
push edi
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
push esi
call fcn.1017f4a0
jmp 0x10169b6b
push edi
push dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
push edi
push esi
call fcn.1016f290
add esp, 0x10
mov ebx, eax
jmp 0x10169b71
push 0x28
push 2
push esi
call fcn.1015f2c0
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 0xffffe030
jmp 0x10169008
test byte [esi + 0x1d], 0x60
je 0x1016942e
mov edi, dword [esi + 0xc4]
test edi, edi
je 0x101691ef
push esi
call fcn.10178740
add esp, 4
push edi
call fcn.101775c0
add esp, 4
mov dword [esi + 0xc4], 0
cmp dword [esi + 0x9f8], 1
jne 0x10169201
push esi
call fcn.1015ddf0
add esp, 4
test byte [esi + 0x1d], 4
mov edi, dword [ebp + 0xc]
jne 0x10169218
push dword [esi + 0x168]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
push 3
push esi
call fcn.10162e10
add esp, 8
test byte [esi + 0x1d], 4
mov ebx, eax
jne 0x10169016
push dword [esi + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
jmp 0x10169016
movzx eax, word [esi + 0x58]
cmp eax, 0x303
ja 0x101693ea
mov dword [esi + 0x450], 4
jmp 0x101693f4
cmp dword [esp + 0x6c], 0
je 0x10169290
lea eax, [esi + 0x4d8]
push edi
push eax
push 0
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
mov edi, dword [ebp + 0xc]
mov ebx, eax
test eax, eax
jne 0x10169016
mov dword [esi + 0x4bc], 1
mov dword [esi + 0x450], 6
xor ebx, ebx
jmp 0x10169013
cmp dword [ebp + 0x10], 0x24
jne 0x10169465
cmp dword [esp + 0xc], 0
mov ebx, 0x24
lea eax, [esi + 0x4ea]
lea ecx, [esi + 0x50e]
lea edi, [esp + 0x6c]
cmove eax, ecx
push ebx
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov word [esi + 0x4e8], 0x24
push ebx
push dword [ebp + 0xc]
push edi
call sym.nss3.dll_NSS_SecureMemcmp
add esp, 0xc
test eax, eax
je 0x101695c5
push 0x28
push 2
push esi
call fcn.1015f2c0
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 0xffffd057
jmp 0x10169008
mov ecx, dword [esi + 0x38]
or byte [esi + 0x540], 1
test ecx, ecx
jne 0x101697ee
test byte [esi + 0x1d], 4
jne 0x10169348
push dword [esi + 0x174]
call fcn.1013e140
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 0x101697ad
cmp edx, 1
mov edx, 0xfefd
mov ecx, 0x303
cmove ecx, edx
jmp 0x101697d6
push 0
push 0xffffd087
call sym.nss3.dll_PR_SetError
add esp, 8
mov ebx, 0xffffd022
jmp 0x10169005
push 0
push 0xffffe013
jmp 0x10169008
movzx ecx, word [esi + 0x24]
test cx, cx
je 0x101697a3
cmp cx, ax
mov edx, 0xffffd009
ja 0x10168fba
movzx ecx, word [esi + 0x26]
cmp cx, ax
cmovbe eax, ecx
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x101693e1
cmp word [esi + 0x58], ax
mov edx, 0xffffd009
jne 0x10168fba
mov word [esi + 0x58], ax
jmp 0x10169325
mov dword [esi + 0x450], 0x87
xor ebx, ebx
jmp 0x10169016
push edi
call fcn.10161d60
add esp, 4
mov ecx, dword [esi + 0x458]
mov edx, dword [esi + 0x45c]
mov dword [esp + 0xc], eax
mov eax, edi
lea edi, [esp + 0x64]
push edi
mov edi, eax
push dword [esp + 0x10]
call fcn.101628f0
add esp, 8
jmp 0x10168822
push 0x64
push 1
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd070
jmp 0x10169008
mov edi, 0xffffd024
mov ebx, 0x32
push ebx
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push edi
jmp 0x10169008
push 0x2f
push 2
push esi
call fcn.1015f2c0
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 0x10169008
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx]
add ecx, 2
mov dword [esp + 0x114], ecx
lea ecx, [edx - 2]
shl eax, 0x10
bswap eax
cmp ecx, eax
cmovbe eax, ecx
mov dword [esp + 0x118], eax
mov eax, dword [edi]
mov ebx, dword [eax + 8]
lock inc dword [ebx + 0x48]
test ebx, ebx
je 0x10169557
push 0x371
push ebx
call sym.nss3.dll_PK11_DoesMechanism
add esp, 8
test eax, eax
jne 0x1016950c
lock dec dword [ebx + 0x48]
jne 0x101694ec
push ebx
call fcn.10135de0
add esp, 4
lea eax, [esp + 0x64]
xor ecx, ecx
mov dword [eax], 0x371
push ecx
push 1
push ecx
push ecx
push eax
call fcn.101396c0
add esp, 0x14
mov ebx, eax
test eax, eax
je 0x10169557
test byte [esi + 0x1d], 4
jne 0x10169520
push dword [esi + 0x174]
call fcn.1013e140
add esp, 4
mov eax, dword [esi + 0x11c]
cmp dword [esi + 0x9f8], 1
movzx ecx, word [esi + 0x5a]
jne 0x101699fc
add ecx, 0xfffffcfe
cmp cx, 2
ja 0x101699f9
movsx ecx, cx
movzx ecx, word [ecx + ecx + 0x101a8148]
jmp 0x101699fc
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10169b53
push 0xffffd043
call fcn.10176550
add esp, 4
cmp dword [0x101d4d40], 0
je 0x1016b89f
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016ae9d
movzx ecx, word [esp + 0xc]
mov ebx, dword [eax + 0x28]
mov edx, 0x33
mov eax, 0x28
cmp ecx, 0x300
cmova eax, edx
push eax
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
jmp 0x10169005
test byte [esi + 0x1d], 4
jne 0x101695d9
push dword [esi + 0x168]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
cmp dword [esp + 0xc], 0
mov eax, dword [esi + 0x4b4]
je 0x10169c01
xor ebx, ebx
test eax, eax
jne 0x10169dbd
push 0x23
push esi
call fcn.10170340
add esp, 8
test eax, eax
je 0x10169c09
mov eax, dword [esi + 0x48c]
cmp dword [eax + 8], 2
je 0x10169c09
xor eax, eax
lea edi, [esp + 0x58]
lea ecx, [esp + 0x110]
pxor xmm0, xmm0
mov dword [edi + 4], eax
mov dword [edi], eax
mov dword [edi + 8], eax
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x20], eax
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.10171d50
add esp, 0x18
mov ebx, eax
test eax, eax
jne 0x101696a1
mov eax, dword [esp + 0x60]
add eax, 6
push eax
push 4
push esi
call fcn.10161ad0
add esp, 0xc
mov ebx, eax
test eax, eax
jne 0x101696a1
push 4
push 0
push 0x2a300
push esi
call fcn.10176380
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x101696a1
push 2
push dword [esp + 0x64]
push dword [esp + 0x64]
push esi
call fcn.10176400
add esp, 0x10
mov ebx, eax
cmp dword [esp + 0x5c], 0
je 0x101696b3
push 0
push edi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
test ebx, ebx
jne 0x10169dbd
jmp 0x10169c09
mov ebx, dword [esp + 0x54]
test ebx, ebx
je 0x10169c84
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x48]
push eax
push esi
call fcn.10164550
add esp, 0x10
test eax, eax
je 0x101696f0
xor ebx, ebx
dec ebx
jmp 0x10168780
cmp dword [esp + 0x58], 0
lea eax, [esp + 0x64]
je 0x10169bd8
mov edx, dword [esp + 0xc]
mov eax, 0x2f
mov cl, 1
mov ebx, 0xffffd020
jmp 0x1016874f
cmp eax, 3
je 0x1016975c
cmp eax, 4
je 0x10168013
movzx edx, word [ecx + 3]
add eax, 0xfffffffb
add ecx, 5
mov dword [esp + 0x40], ecx
mov dword [esp + 0x58], eax
shl edx, 0x10
bswap edx
cmp eax, edx
jne 0x10169db1
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x44]
push eax
push esi
call fcn.101703c0
add esp, 0xc
test eax, eax
jne 0x10168e9e
push esi
call fcn.1018a320
add esp, 4
test eax, eax
jne 0x10168704
movzx eax, word [esi + 0x58]
cmp word [esi + 0x24], ax
ja 0x10169784
movzx ecx, word [esi + 0x26]
cmp cx, ax
jae 0x10169f36
movzx eax, ax
mov ecx, 0x46
mov edi, 0x28
cmp eax, 0x300
cmova edi, ecx
mov ebx, 0xffffd009
jmp 0x10168894
mov edx, 0xffffd014
jmp 0x10168fba
cmp edx, 1
jne 0x101697d6
movzx ecx, cx
mov edx, 0xfefd
mov ebx, 0xffff
cmp ecx, 0x303
cmove ebx, edx
cmp ecx, 0x302
mov ecx, 0xfeff
cmovne ecx, ebx
mov word [eax + 0x12], cx
test byte [esi + 0x1d], 4
jne 0x101697ee
push dword [esi + 0x174]
call fcn.1013e210
add esp, 4
movzx eax, word [esi + 0x58]
cmp eax, 0x304
jb 0x10169910
cmp dword [esi + 0x38], 0
mov ebx, 0xffffd070
jne 0x10168fe7
mov ebx, eax
push 0x2c
push esi
call fcn.10170550
add esp, 8
test eax, eax
je 0x10169827
mov dword [esi + 0x614], 1
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x120]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.1018d0a0
add esp, 0x20
test eax, eax
jne 0x10169e5a
movzx eax, word [esi + 0x58]
cmp eax, 0x304
mov eax, ebx
jb 0x10169910
cmp dword [esp + 0x118], 0
je 0x10169e16
cmp dword [esi + 0x9f8], 1
je 0x10169e16
xor eax, eax
lea edi, [esi + 0x644]
push eax
push edi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
lea eax, [esp + 0x110]
push eax
push edi
xor eax, eax
push eax
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
test eax, eax
je 0x10169e16
cmp dword [0x101d4d40], 0
je 0x1016b903
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016b545
push 0
push dword [eax + 0x28]
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101d4d40], 0
je 0x1016b90d
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016b559
mov edi, dword [eax + 0x28]
mov eax, 0x50
jmp 0x10169e43
or byte [esi + 0x540], 0x10
cmp dword [esi + 0x614], 0
je 0x1016993e
push 0
push 0xffffd009
call sym.nss3.dll_PR_SetError
add esp, 8
mov edi, 0xffffd009
mov eax, 0x46
jmp 0x10169e43
cmp dword [esi + 0x618], 0
je 0x10169c93
push 0
push 0xffffd033
call sym.nss3.dll_PR_SetError
add esp, 8
mov edi, 0xffffd033
mov eax, 0xa
jmp 0x10169e43
push 0
push 0xffffd08d
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10169b6e
lea ebx, [esp + 0x58]
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x54]
push eax
push 2
push ebx
push esi
call fcn.10161c80
add esp, 0x14
test eax, eax
mov ecx, 0xffffd01f
jne 0x1016819e
push ebx
call fcn.100f9440
add esp, 4
cmp eax, edi
ja 0x1016a808
cmp eax, 2
jb 0x1016a808
test byte [esi + 0x1f], 2
je 0x10169e93
xor eax, eax
push eax
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x11c]
push eax
push esi
call fcn.1017ea60
add esp, 0x14
test eax, eax
je 0x10169e93
mov ecx, 0x2f
mov ebx, 0xffffd073
jmp 0x10168190
xor ecx, ecx
dec ecx
rol cx, 8
lea edx, [esp + 0x58]
mov word [edx], cx
lea ecx, [esp + 0x64]
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
test eax, eax
mov dword [esp + 0xc], eax
jne 0x10169a3c
push 0xffffd045
call fcn.10176550
add esp, 4
test byte [esi + 0x1d], 4
jne 0x10169a50
push dword [esi + 0x174]
call fcn.1013e210
add esp, 4
lock dec dword [ebx + 0x48]
jne 0x10169a5f
push ebx
call fcn.10135de0
add esp, 4
mov eax, dword [esp + 0xc]
test eax, eax
je 0x10169b46
xor ebx, ebx
lea eax, [esp + 0x110]
push ebx
push 0x10c
push 0x371
push eax
push dword [edi]
call sym.nss3.dll_PK11_PubUnwrapSymKey
add esp, 0x14
xor ecx, ecx
test eax, eax
mov edi, dword [esp + 0xc]
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
and ecx, eax
mov dword [esp + 0x10], eax
xor edx, ecx
xor ecx, edi
mov edi, ecx
mov dword [esp + 8], edx
mov ecx, esi
push ebx
call fcn.10160210
add esp, 4
test eax, eax
mov edx, edi
setne al
test edi, 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
mov eax, dword [esp + 8]
and edi, dword [esp + 0x10]
xor eax, edi
xor edi, edx
mov dword [esp + 8], eax
push 1
push eax
push esi
call fcn.1015fea0
add esp, 0xc
mov dword [esp + 0xc], eax
push dword [esp + 8]
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
push edi
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
cmp dword [esp + 0xc], 0
je 0x10169b6e
push 0x28
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
jmp 0x10169b53
push 0xffffd045
call fcn.10176550
add esp, 4
xor ebx, ebx
dec ebx
jmp 0x10169b6e
push esi
call fcn.1017f4a0
add esp, 4
push 0xffffd045
call fcn.10176550
add esp, 4
mov edi, dword [ebp + 0xc]
push esi
call fcn.1017f4a0
add esp, 4
test ebx, ebx
je 0x10169bbf
cmp dword [0x101d4d40], 0
je 0x1016b840
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016acdb
mov edi, dword [eax + 0x28]
push 0x28
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10169013
cmp dword [esi + 0x78], 1
mov eax, 5
adc eax, 0
xor ebx, ebx
mov dword [esi + 0x450], eax
jmp 0x10169016
mov dword [esi + 0x450], 0xd
push eax
push ebx
push dword [esp + 0x38]
push esi
call fcn.10164940
add esp, 0x10
cmp eax, 0xffffffff
je 0x10169d9e
mov ebx, eax
jmp 0x10168780
test eax, eax
je 0x10169dbb
mov ecx, esi
call fcn.1016df70
mov ebx, eax
test eax, eax
jne 0x10169dbd
mov edi, dword [esi + 0x17c]
cmp dword [0x101d4d40], 0
je 0x1016b8db
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016b4fb
cmp edi, eax
sete byte [esp + 8]
cmp dword [esp + 0xc], 0
jne 0x10169c59
cmp dword [esi + 0x38], 0
je 0x1016a058
mov cl, byte [esp + 8]
xor eax, eax
mov al, cl
mov ecx, esi
shl eax, 0x1e
mov edx, eax
or edx, 0x8000000
cmp dword [esi + 0x9f8], 1
cmovne edx, eax
call fcn.1016e070
mov ebx, eax
jmp 0x10169dbd
mov eax, 0x28
mov ebx, 0xffffd087
jmp 0x10169da8
mov ebx, eax
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10169e2a
push eax
push 0
push dword [esp + 0x3c]
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x10169e2a
cmp dword [esi + 0x9f8], 1
jne 0x10169ccc
cmp dword [esp + 0x60], 0
jne 0x10169e2a
push 1
push esi
call fcn.10170580
add esp, 8
mov edi, eax
lea eax, [esi + 0x544]
push eax
call fcn.10170510
add esp, 4
test edi, edi
je 0x10169efb
cmp dword [0x101d4d40], 0
je 0x1016b8f9
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016b520
mov eax, dword [eax + 0x28]
mov ebx, 0xffffd01c
cmp eax, 0xffffd087
cmove ebx, eax
jmp 0x10168ff7
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0xf
push esi
call fcn.10167890
add esp, 0x10
test eax, eax
jne 0x101687b9
jmp 0x10169290
cmp dword [0x101d4d40], 0
je 0x1016b8d1
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016b4e7
mov eax, dword [eax + 0x28]
mov ebx, eax
add eax, 0x1fee
cmp eax, 2
jb 0x10169d80
cmp ebx, 0xffffe890
jne 0x10169ebf
movzx ecx, word [esp + 8]
mov edi, dword [ebp + 0xc]
mov eax, 0x50
cmp ecx, 0x300
jbe 0x10168cae
jmp 0x10168ca2
mov eax, 0x50
mov ebx, 0xffffe001
mov edx, dword [esp + 0xc]
jmp 0x1016874d
mov edi, 0x32
jmp 0x10168894
xor ebx, ebx
test byte [esi + 0x1d], 4
jne 0x10169dd1
push dword [esi + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
mov edi, dword [ebp + 0xc]
test ebx, ebx
jne 0x10169016
cmp dword [esi + 0x534], 0
je 0x10169e08
cmp dword [esi + 0x538], 0
jne 0x101683bf
mov dword [esi + 0x538], fcn.101670a0
push 0
push 0xffffe892
jmp 0x10169008
push esi
call fcn.101670a0
add esp, 4
jmp 0x1016929a
cmp dword [esp + 0x38], 1
jne 0x10169e2a
mov eax, dword [esp + 0x34]
cmp byte [eax], 0
je 0x1016a039
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.1015f2c0
add esp, 0xc
push 0
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101d4d40], 0
je 0x1016b895
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016ada9
mov ebx, dword [eax + 0x28]
jmp 0x10168ff7
push esi
call fcn.10166a60
add esp, 4
mov ebx, eax
jmp 0x10169013
lea edi, [esp + 0x40]
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x54]
push eax
push 2
push edi
push esi
call fcn.10161c80
add esp, 0x14
test eax, eax
je 0x10169fd1
mov ecx, 0xffffd01f
jmp 0x1016819e
movzx eax, word [esi + 0x58]
cmp ebx, 0xffffe01d
jg 0x1016a0db
lea ecx, [ebx + 0x1ff5]
cmp ecx, 0xa
ja case.default.0x10169ede
jmp dword [ecx*4 + 0x101a8374]
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx + 0x2e]
jmp 0x1016a2e4
movzx eax, word [esi + 0x26]
cmp ax, word [esi + 0x58]
jbe 0x10169f82
mov eax, dword [esp + 0x48]
cmp eax, 2
jb 0x10169f82
mov edx, dword [esp + 0x44]
mov ecx, 3
movzx edi, word [edx + ecx - 3]
shl edi, 0x10
bswap edi
cmp edi, 0x5600
je 0x1016a2b6
cmp ecx, eax
jae 0x10169f82
add ecx, 2
jmp 0x10169f17
mov bl, byte [esp + 0xc]
xor edx, edx
mov dl, bl
test edx, edx
mov dword [esp + 0xc], edx
je 0x1016a0f4
movzx edx, ax
cmp edx, 0x304
jae 0x1016a11a
cmp dword [esi + 0x614], 0
mov ebx, 0xffffd01d
jne 0x10168e9e
cmp dword [esi + 0x600], 1
mov ebx, 0xffffd0a0
je 0x10168e9e
jmp 0x1016a11a
push 0xff01
push esi
call fcn.10170340
add esp, 8
test eax, eax
jne 0x1016a323
mov eax, dword [esp + 0x48]
cmp eax, 2
jb 0x1016a323
mov edx, dword [esp + 0x44]
mov ecx, 3
movzx edi, word [edx + ecx - 3]
shl edi, 0x10
bswap edi
cmp edi, 0xff
je 0x1016a302
cmp ecx, eax
jae 0x1016a323
add ecx, 2
jmp 0x10169fae
push edi
lea eax, [esp + 0x114]
push eax
call fcn.1017e9b0
add esp, 8
test eax, eax
je 0x1016a1ad
movzx eax, word [esi + 0x58]
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
cmp eax, 0x303
jb 0x1016a267
mov eax, dword [esp + 0x54]
cmp eax, 2
jae 0x1016a204
push 0x32
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
xor eax, eax
cmp dword [esi + 0x60], 0
sete al
or eax, 0xffffd006
push 0
push eax
jmp 0x1016a800
cmp dword [esi + 0x618], 0
je 0x10169cb8
cmp dword [esi + 0x614], 0
jne 0x10169cb8
jmp 0x1016994b
mov eax, dword [esi + 0x998]
test eax, eax
je 0x10169c59
cmp dword [esi + 0x99c], 3
je 0x10169c59
lea ecx, [eax + 2]
mov edi, 0x20
and ecx, 0x1f
sub edi, ecx
lea eax, [edi + eax + 2]
push eax
push 0x43
push esi
call fcn.10161ad0
add esp, 0xc
mov ebx, eax
test eax, eax
jne 0x10169dbd
push 1
push dword [esi + 0x998]
push dword [esi + 0x994]
push esi
call fcn.10176400
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x10169dbd
push 1
push edi
push 0x101a80e0
push esi
call fcn.10176400
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x10169dbd
jmp 0x10169c59
lea ecx, [ebx + 0x1fa6]
cmp ecx, 2
jae 0x1016a1cb
mov eax, 0x2e
jmp 0x1016a2e4
cmp dword [esi + 0x614], 0
mov ebx, 0xffffd09a
jne 0x10168894
movzx edx, ax
mov ebx, 0xffffd01d
cmp edx, 0x304
jb 0x10168e9e
mov edx, dword [esi + 0x38]
test edx, edx
je 0x1016a131
mov edi, dword [esp + 0x20]
mov edi, dword [edi]
cmp ax, word [edi + 0x10]
jne 0x1016a2f8
mov edi, dword [esi + 0x1c]
bt edi, 0x1d
jae 0x1016a147
cmp dword [esi + 0x9f8], 1
jne 0x1016a66d
or byte [esi + 0x540], 1
cmp dword [esp + 0xc], 0
je 0x1016a724
test edx, edx
jne 0x1016a724
bt edi, 0xa
jb 0x1016a179
push dword [esi + 0x174]
call fcn.1013e140
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 0x1016a6e5
cmp edx, 1
mov edx, 0xfefd
mov eax, 0x303
cmove eax, edx
jmp 0x1016a70c
mov ebx, 0xffffd08d
jmp 0x1016a80d
push 0
push 0xffffe005
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10168c0d
cmp ebx, 0xffffe01e
jne case.0x10169ede.8178
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2d]
jmp 0x1016a2e4
mov eax, 0x2b
cmp ebx, 0xffffe001
je 0x1016a2e4
mov eax, 0x2a
jmp 0x1016a2e4
mov edx, dword [esp + 0x50]
add eax, 0xfffffffe
movzx ecx, word [edx]
add edx, 2
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edx
shl ecx, 0x10
bswap ecx
mov dword [esp + 8], ecx
call fcn.10161f70
test eax, eax
je 0x1016a7f9
mov eax, 0xd4
add eax, dword [esi + 0x78]
push eax
push dword [esp + 0xc]
push esi
call fcn.101621e0
add esp, 0xc
mov ebx, 0xffffd01f
test eax, eax
mov ecx, 0x2f
jne 0x10168190
push dword [esp + 8]
call fcn.10161d60
add esp, 4
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x30]
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x54]
push eax
push 2
push ecx
push esi
call fcn.10161c80
add esp, 0x14
test eax, eax
mov ecx, 0xffffd01f
jne 0x1016819e
cmp dword [esp + 0x54], 0
je 0x1016a885
movzx eax, word [esp + 0xc]
xor ecx, ecx
mov ebx, 0xffffd01f
cmp eax, 0x300
seta cl
lea ecx, [ecx + ecx*2 + 0x2f]
jmp 0x10168190
mov ebx, 0xffffd083
mov edi, 0x56
jmp 0x10168fe7
mov eax, 0x2d
jmp 0x1016a2e4
mov eax, 0x2c
jmp 0x1016a2e4
movzx eax, ax
xor ecx, ecx
cmp eax, 0x300
seta cl
lea eax, [ecx + ecx*2 + 0x2e]
push eax
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
mov edi, dword [ebp + 0xc]
jmp 0x10168cae
mov edi, 0x46
jmp 0x10169799
lea eax, [esp + 0x64]
lea ecx, [esp + 0x2c]
mov dword [eax], 0x101a8074
mov dword [ecx], 5
push 1
push ecx
push eax
push esi
call fcn.10170820
add esp, 0x10
movzx eax, bx
cmp eax, 0x303
mov dword [esp + 0x10], eax
jbe 0x1016a37e
cmp dword [esi + 0x6f8], 0
je 0x1016a45c
mov ebx, dword [esp + 0x118]
mov edi, dword [esi + 0xc4]
lea eax, [ebx - 1]
cmp eax, 0x1f
ja 0x1016a460
mov dword [esp + 8], edi
mov byte [edi + 0x78], bl
lea eax, [edi + 0x79]
push ebx
push dword [esp + 0x118]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov byte [eax + 0x78], bl
jmp 0x1016a464
cmp dword [esi + 0x38], 0
je 0x1016a3a0
test byte [esi + 0x1d], 0x40
je 0x1016a3a0
push 0xff01
push esi
call fcn.10170340
add esp, 8
test eax, eax
je 0x1016a7ef
cmp word [esi + 0x1c], 0
js 0x1016a3b3
cmp dword [esi + 0x38], 0
je 0x1016a3c9
cmp dword [esi + 0x54], 0
je 0x1016a3c9
push 0xff01
push esi
call fcn.10170340
add esp, 8
test eax, eax
je 0x1016a61c
push 0x23
push esi
call fcn.10170340
add esp, 8
test eax, eax
je 0x1016a3e5
cmp dword [esi + 0x92c], 0
je 0x1016a331
mov ebx, dword [esp + 0x118]
xor edi, edi
test ebx, ebx
je 0x1016a46e
cmp byte [esi + 0x1c], 0
js 0x1016a46e
mov edi, dword [0x101d6718]
test edi, edi
je 0x1016a900
mov eax, dword [esi + 0x178]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 8], eax
lea eax, [esi + 0xb0]
mov dword [esp + 0x18], eax
push esi
call fcn.10180820
add esp, 4
mov ecx, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
call dword [section..00cfg]
push dword [esp + 0x14]
push ebx
push dword [esp + 0x10]
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x38]
call edi
add esp, 0x18
mov edi, eax
jmp 0x1016a46e
xor edi, edi
jmp 0x1016a46e
mov byte [edi + 0x78], 0
mov dword [esi + 0xc4], 0
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x1016a48b
push eax
call fcn.101775c0
add esp, 4
mov dword [esi + 0xc4], 0
test edi, edi
mov dword [esp + 8], 0
je 0x1016a4ac
cmp dword [edi + 0x18], 0
jne 0x1016a4a8
mov eax, dword [esi + 0x1c]
test al, 4
jne 0x1016a62b
mov dword [esp + 8], edi
cmp dword [esi + 0x9f8], 1
jne 0x1016a4c7
push esi
call fcn.1015cef0
add esp, 4
push esi
call fcn.1015e020
add esp, 4
cmp dword [esp + 0x10], 0x304
jb 0x1016a523
cmp dword [esi + 0x670], 0
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
je 0x1016a4ea
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
push ecx
push eax
push dword [esp + 0x10]
lea eax, [esp + 0x4c]
push eax
push esi
call fcn.10186850
add esp, 0x14
mov edi, eax
push 1
push dword [esp + 0x40]
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
test edi, edi
mov dword [esp + 0x3c], 0
jne 0x10169e5a
jmp 0x1016929a
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 1
push esi
call fcn.10167890
add esp, 0x10
mov ebx, 0x50
mov edi, 0xffffe001
test eax, eax
jne 0x1016a5bd
cmp dword [esp + 8], 0
je 0x1016a57c
movzx eax, word [esi + 0x58]
lea edi, [esi + 0x210]
mov ecx, 0xffffffb9
mov word [esp + 0x64], ax
mov word [esp + 0x66], ax
mov eax, dword [esp + 8]
movzx eax, word [eax + 0x9a]
cmp word [edi], ax
je 0x1016a817
add edi, 4
inc ecx
jne 0x1016a56d
push 1
lea eax, [esp + 0x44]
push eax
push esi
call fcn.10164b30
add esp, 0xc
test eax, eax
je 0x1016ae13
cmp dword [0x101d4d40], 0
je 0x1016b921
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016b7b8
mov edi, dword [eax + 0x28]
mov ebx, 0x28
push ebx
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
cmp dword [esp + 8], 0
mov bl, 1
je 0x10169e4f
mov eax, dword [esp + 8]
cmp eax, dword [esi + 0xc4]
je 0x1016a5f7
push esi
call fcn.10178740
add esp, 4
push dword [esp + 8]
call fcn.101775c0
add esp, 4
test bl, bl
jne 0x10169e4f
test byte [esi + 0x1d], 4
jne 0x10169e4f
push dword [esi + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
jmp 0x10169e4f
mov ebx, 0xffffd071
mov edi, 0x28
jmp 0x10168fe7
shr eax, 3
and eax, 3
cmp eax, 1
je 0x1016a64e
cmp eax, 3
je 0x1016a64e
cmp eax, 2
jne 0x1016a4a8
cmp dword [esi + 0x38], 0
jne 0x1016a4a8
lock inc dword [0x101d6180]
push edi
call fcn.101775c0
add esp, 4
mov dword [esi + 0x6f8], 0
jmp 0x1016a4ac
mov ebx, dword [esi + 0x6f4]
test bx, bx
cmovne ecx, ebx
movzx ebx, cx
cmp ebx, 0x303
jb 0x1016a147
cmp cx, ax
jbe 0x1016a147
mov ebx, dword [esi + 0x408]
mov ecx, 0x4e574f44
xor ebx, ecx
mov ecx, 0x1445247
xor ecx, dword [esi + 0x40c]
mov dword [esp + 0x14], ebx
mov ebx, 0xffffd01d
or ecx, dword [esp + 0x14]
je 0x10168e9e
mov ecx, 0x4e574f44
xor ecx, dword [esi + 0x408]
mov dword [esp + 0x14], ecx
mov ecx, 0x445247
xor ecx, dword [esi + 0x40c]
or ecx, dword [esp + 0x14]
jne 0x1016a147
jmp 0x10168e9e
cmp edx, 1
jne 0x1016a70c
movzx eax, ax
mov edx, 0xfefd
mov edi, 0xffff
cmp eax, 0x303
cmove edi, edx
cmp eax, 0x302
mov eax, 0xfeff
cmovne eax, edi
mov word [ecx + 0x12], ax
test byte [esi + 0x1d], 4
jne 0x1016a724
push dword [esi + 0x174]
call fcn.1013e210
add esp, 4
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x1016a779
movzx ecx, word [eax + 0x4a]
cmp ecx, 0x303
ja 0x1016a779
movzx ecx, byte [eax + 0x78]
xor ebx, ebx
cmp dword [esp + 0x10], ecx
jne 0x1016a8f3
cmp dword [esp + 0x10], 0
mov cl, 1
mov dword [esp + 0x14], ecx
je 0x1016aa75
add eax, 0x79
push dword [esp + 0x10]
push dword [esp + 0x118]
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jmp 0x1016a958
test byte [esi + 0x1f], 8
mov ecx, 0
mov ebx, 0
mov dword [esp + 0x14], 0
je 0x1016aa77
xor eax, eax
cmp dword [esi + 0x9f8], 1
mov ecx, 0
mov ebx, 0
mov dword [esp + 0x14], 0
setne dl
je 0x1016aa77
cmp dword [esp + 0x10], 0x20
jne 0x1016a90a
mov al, dl
mov edx, 0x5a
mov ecx, 0xffffffe1
movzx ebx, byte [esi + ecx + 0x42f]
add ebx, edx
test ecx, ecx
mov byte [esp + ecx + 0x83], bl
je 0x1016a91c
movzx edx, bl
inc ecx
jmp 0x1016a7d0
mov ebx, 0xffffd070
jmp 0x1016806d
push 0
push 0xffffd087
call sym.nss3.dll_PR_SetError
add esp, 8
mov ebx, 0xffffd01f
mov ecx, 0x2f
jmp 0x10168190
mov ecx, esi
call fcn.1015eb70
test eax, eax
je 0x1016b206
movzx edx, byte [esi + 0x3e0]
lea eax, [esp + 0x64]
mov ecx, edi
push esi
push eax
call fcn.1015ef80
add esp, 8
test eax, eax
je 0x1016a57c
mov ecx, dword [esp + 0x48]
cmp ecx, 2
jb 0x1016a57c
mov eax, dword [esp + 0x44]
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 0x1016ad29
cmp edi, ecx
jae 0x1016a57c
add edi, 2
jmp 0x1016a862
movzx eax, word [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, 0x28
cmp eax, 0x300
mov eax, 0x33
cmova ecx, eax
lea eax, [esp + 0x64]
mov dword [esp + 0xc], ecx
mov ecx, esi
push 0
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push dword [esp + 0x12c]
push dword [esp + 0x12c]
push eax
call fcn.1016de60
add esp, 0x20
test eax, eax
je 0x1016a960
push 0xffffd044
call fcn.10176550
add esp, 4
mov ecx, dword [esp + 0xc]
mov ebx, eax
jmp 0x10168190
mov al, 1
xor ecx, ecx
mov dword [esp + 0x14], eax
jmp 0x1016aa77
mov ebx, 0xffffd067
jmp 0x10168ff7
xor ebx, ebx
mov dword [esp + 0x14], 0
xor ecx, ecx
inc ebx
jmp 0x1016aa77
mov ecx, dword [esp + 0x114]
movdqu xmm0, xmmword [esp + 0x64]
movdqu xmm1, xmmword [esp + 0x74]
mov ebx, eax
mov dword [esp + 0x14], 0
movdqu xmm2, xmmword [ecx]
movdqu xmm3, xmmword [ecx + 0x10]
pcmpeqb xmm2, xmm0
pcmpeqb xmm3, xmm1
pand xmm3, xmm2
pmovmskb ecx, xmm3
cmp ecx, 0xffff
sete cl
jmp 0x1016aa77
mov ecx, 0xd4
add ecx, dword [esi + 0x78]
call fcn.100f9910
test eax, eax
je 0x1016acef
mov ebx, eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x10]
push ebx
push esi
call fcn.1015f820
add esp, 0x14
mov dword [esp + 8], eax
push ebx
call sym.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
cmp dword [esp + 8], 0
jne 0x1016a8db
push 0x800
call sym.nss3.dll_PORT_NewArena_Util
add esp, 4
test eax, eax
mov dword [esp + 0xc], eax
je 0x1016aa6b
push 0xac
push dword [esp + 0x10]
call sym.nss3.dll_PORT_ArenaAlloc_Util
add esp, 8
test eax, eax
mov dword [esp + 8], eax
je 0x1016aa5d
mov ebx, dword [esp + 8]
xor ecx, ecx
lea eax, [ebx + 0x10]
push 0x9c
push ecx
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x110]
xor eax, eax
mov dword [ebx], edx
mov dword [ebx + 4], 4
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
lea eax, [ebx + 0x14]
push ecx
push eax
push edx
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
test eax, eax
jne 0x1016aa5d
mov eax, dword [esp + 8]
lea ecx, [esp + 0x58]
add eax, 0x20
push ecx
push eax
push dword [esp + 0x14]
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
test eax, eax
jne 0x1016aa5d
mov eax, dword [esp + 8]
add eax, 0x2c
push edi
push eax
push dword [esp + 0x14]
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
test eax, eax
je 0x1016b50f
push 0
push dword [esp + 0x10]
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
mov ecx, 0xffffe013
jmp 0x1016819e
mov cl, 1
mov eax, dword [esp + 0x18]
movzx edi, word [eax]
cmp edi, 0x303
ja 0x1016aa9a
test ebx, ebx
je 0x1016aacb
xor cl, 1
mov ebx, 0xffffd01d
je 0x10168e9e
jmp 0x1016aacb
xor eax, eax
cmp dword [esp + 0x10], 0
movzx ecx, cl
sete al
cmp dword [esi + 0x9f8], 1
cmove ecx, eax
test ebx, ebx
mov ebx, 0xffffd01d
cmovne eax, ecx
cmp byte [esp + 0x14], 0
cmovne eax, ecx
cmp al, 1
jne 0x10168e9e
mov ecx, esi
call fcn.1015eb70
test eax, eax
je 0x1016acb2
rol word [esp + 8], 8
lea ecx, [esi + 0x210]
mov eax, 0x47
movzx edx, word [esp + 8]
cmp word [ecx], dx
je 0x1016ab07
add ecx, 4
dec eax
jne 0x1016aaf0
push 0
push 0xffffd002
jmp 0x1016acaa
lea eax, [esp + 0x64]
mov word [eax], di
mov word [eax + 2], di
movzx edx, byte [esi + 0x3e0]
push esi
push eax
call fcn.1015ef80
add esp, 8
test eax, eax
je 0x1016ab89
cmp dword [esi + 0x614], 0
je 0x1016ab42
movzx eax, word [esp + 8]
cmp word [esi + 0x490], ax
jne 0x1016ac96
movzx eax, word [esp + 8]
movzx edx, word [esp + 8]
mov ecx, 0x48
mov word [esi + 0x490], ax
mov eax, 0x101a7890
cmp word [eax], dx
je 0x1016abb3
add eax, 0x14
dec ecx
jne 0x1016ab5d
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 0x1016acaa
movzx eax, word [esp + 8]
lea ecx, [esp + 0x64]
push ecx
push eax
call fcn.1015ea50
add esp, 8
test eax, eax
mov eax, 0xffffd079
mov ecx, 0xffffd002
cmove ecx, eax
push 0
push ecx
jmp 0x1016acaa
mov dword [esi + 0x494], eax
mov eax, dword [eax + 0xc]
or byte [esi + 0x540], 2
cmp dword [esp + 0xc], 0
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x101a7e30]
mov dword [esi + 0x48c], eax
je 0x1016ad6b
push esi
call fcn.10161690
add esp, 4
test eax, eax
jne 0x1016acb2
push esi
call fcn.1015e020
add esp, 4
push 2
push esi
call fcn.10170580
add esp, 8
mov edi, eax
lea eax, [esi + 0x544]
push eax
call fcn.10170510
add esp, 4
test edi, edi
mov ebx, 0xffffd01d
mov edi, 0x2f
jne 0x10168894
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 2
push esi
call fcn.10167890
add esp, 0x10
mov ecx, 0xffffd01d
test eax, eax
jne 0x101688a2
mov eax, dword [esp + 0x18]
movzx eax, word [eax]
cmp eax, 0x304
jb 0x1016b2d5
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.101882a0
add esp, 0xc
test eax, eax
je 0x1016b4db
cmp dword [0x101d4d40], 0
je 0x1016b95d
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016b8bd
mov ecx, dword [eax + 0x28]
jmp 0x101688a2
push 0x2f
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
push 0
push 0xffffd01d
call sym.nss3.dll_PR_SetError
add esp, 8
cmp dword [0x101d4d40], 0
je 0x1016b917
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016b7a4
mov ebx, dword [eax + 0x28]
jmp 0x10168e9e
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x10169b9f
push 0xffffd043
call fcn.10176550
add esp, 4
jmp 0x1016a8db
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x10168c9a
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x10168a10
mov word [esi + 0x490], ax
mov ecx, 0x101a7890
mov edx, 0x48
cmp word [ecx], ax
je 0x1016adbd
add ecx, 0x14
dec edx
jne 0x1016ad3a
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 0x1016adea
push esi
call fcn.1015e020
add esp, 4
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.10187eb0
add esp, 0xc
test eax, eax
mov ecx, 0xffffd01d
jne 0x101688a2
jmp 0x1016929a
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x10168d1f
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x10169e7b
mov dword [esi + 0x494], ecx
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x101a7e30]
mov dword [esi + 0x48c], eax
or byte [esi + 0x540], 2
push esi
call fcn.10161690
add esp, 4
test eax, eax
je 0x1016ae13
cmp dword [0x101d4d40], 0
je 0x1016b949
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016b84a
mov edi, dword [eax + 0x28]
jmp 0x1016a5bd
cmp dword [esp + 8], 0
mov dword [esp + 0x44], 0
je 0x1016b0f3
mov eax, dword [esp + 8]
movzx eax, word [eax + 0x4a]
cmp ax, word [esi + 0x58]
jne 0x1016b0cd
mov eax, dword [esp + 8]
movzx eax, word [eax + 0x9a]
cmp ax, word [esi + 0x490]
jne 0x1016b0cd
mov eax, dword [esp + 8]
push dword [eax + 0x2c]
push dword [eax + 0x60]
push esi
call fcn.101746e0
add esp, 0xc
test eax, eax
mov dword [esi + 0x9c], eax
je 0x1016b0cd
cmp dword [eax + 0x10], 0
je 0x1016b0cd
push 0x17
push esi
call fcn.10170340
add esp, 8
test eax, eax
mov eax, dword [esp + 8]
mov al, byte [eax + 0xcf]
je 0x1016aeb1
test al, al
jne 0x1016aec4
jmp 0x1016b0cd
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x10169599
test al, al
je 0x1016aec4
mov eax, 0x28
mov edi, 0xffffd088
jmp 0x1016b22f
cmp dword [esi + 0xc4], 0
je 0x1016aef5
push esi
call fcn.10178740
add esp, 4
mov eax, dword [esi + 0xc4]
cmp eax, dword [esp + 8]
je 0x1016aeeb
push eax
call fcn.101775c0
add esp, 4
mov dword [esi + 0xc4], 0
mov ecx, dword [esp + 8]
xor ebx, ebx
mov dword [esp + 0x64], ebx
lea eax, [ecx + 0x9d]
mov dword [esp + 0x68], eax
movzx eax, byte [ecx + 0xcd]
mov dword [esp + 0x6c], eax
push dword [esi + 0x11c]
push dword [ecx + 0xd0]
push ebx
push esi
call fcn.101639f0
add esp, 0x10
test eax, eax
je 0x1016b0cd
mov edi, eax
movzx eax, word [esi + 0x58]
cmp eax, 0x300
mov eax, 0x2800
cmova ebx, eax
lea eax, [esp + 0x64]
push dword [esi + 0x11c]
push ebx
push 0x30
push 0x10c
push 0x371
push eax
push 0
mov eax, dword [esp + 0x24]
push dword [eax + 0xd0]
push edi
call fcn.10165430
add esp, 0x24
mov ebx, eax
push edi
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
test ebx, ebx
mov dword [esp + 0x10], ebx
je 0x1016b0cd
mov eax, dword [esp + 8]
mov dword [esi + 0xc4], eax
mov edi, dword [eax + 0x18]
test edi, edi
je 0x1016afae
push edi
call fcn.10106d10
add esp, 4
test eax, eax
je 0x1016afab
lock inc dword [eax + 4]
mov dword [esi + 0x78], edi
lock inc dword [0x101d6178]
cmp dword [esi + 0x6f8], 0
je 0x1016afc5
lock inc dword [0x101d618c]
mov edi, dword [esp + 8]
mov dword [esi + 0x4b4], 1
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.1017e900
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 0x1016b02f
push edi
call fcn.10106d10
add esp, 4
test eax, eax
je 0x1016b02f
lock inc dword [eax + 4]
mov eax, dword [esp + 8]
mov dword [esi + 0x74], edi
movzx eax, word [eax + 0x4a]
cmp eax, 0x301
jb 0x1016b242
mov eax, dword [esp + 8]
cmp dword [eax + 0xf4], 0
je 0x1016b242
mov eax, dword [esp + 8]
cmp dword [eax + 0xf0], 0
je 0x1016b242
mov eax, dword [esp + 8]
cmp dword [esi + 0x5c8], 0
lea ebx, [esi + 0x5c4]
lea edi, [eax + 0xec]
je 0x1016b08b
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 0x1016b242
cmp dword [0x101d4d40], 0
je 0x1016b967
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016b8e5
mov edi, dword [eax + 0x28]
mov eax, 0x50
jmp 0x1016b22f
mov dword [esi + 0x6f8], 0
lock inc dword [0x101d6180]
push esi
call fcn.10178740
add esp, 4
push dword [esp + 8]
call fcn.101775c0
add esp, 4
lock inc dword [0x101d617c]
push 0x23
push esi
call fcn.10170340
add esp, 8
test eax, eax
je 0x1016b129
mov eax, dword [esi + 0x48c]
cmp dword [eax + 8], 2
je 0x1016b129
push 0x10170e30
push 0x23
push dword [esp + 0x14]
push esi
call fcn.101708a0
add esp, 0x10
push esi
call fcn.10164dd0
add esp, 4
test eax, eax
je 0x1016b15f
cmp dword [0x101d4d40], 0
je 0x1016b92b
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016b7cc
mov edi, dword [eax + 0x28]
jmp 0x10169e4f
mov ecx, esi
call fcn.101650f0
test eax, eax
je 0x1016b195
cmp dword [0x101d4d40], 0
je 0x1016b93f
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016b82c
mov edi, dword [eax + 0x28]
push 0x28
jmp 0x10169e44
push 1
push esi
call fcn.10163760
add esp, 8
test eax, eax
mov dword [esp + 8], eax
je 0x1016b136
mov edi, dword [esp + 8]
mov dword [esi + 0xc4], edi
push 0x17
push esi
call fcn.10170340
add esp, 8
mov byte [edi + 0xcf], al
mov dword [esi + 0x4b4], 0
test byte [esi + 0x1d], 4
jne 0x1016b1e1
push dword [esi + 0x168]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
mov ecx, esi
call fcn.10165bb0
test byte [esi + 0x1d], 4
mov ebx, eax
jne 0x1016b1fe
push dword [esi + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
test ebx, ebx
je 0x1016929a
cmp dword [0x101d4d40], 0
je 0x1016b935
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016b7e0
mov edi, dword [eax + 0x28]
mov eax, 0x28
push eax
push 2
push esi
call fcn.1015f2c0
add esp, 0xc
mov bl, 1
jmp 0x1016a5d6
push dword [esp + 0xc]
call fcn.101715f0
add esp, 4
test byte [esi + 0x1d], 4
jne 0x1016b262
push dword [esi + 0x168]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
push esi
call fcn.10166360
add esp, 4
test eax, eax
jne 0x1016b2aa
push 0
push dword [esp + 0x14]
push esi
call fcn.1015fea0
add esp, 0xc
test eax, eax
jne 0x1016b2aa
mov ecx, esi
call fcn.1016df70
test eax, eax
jne 0x1016b2aa
mov ecx, esi
xor edx, edx
xor ebx, ebx
call fcn.1016e070
test eax, eax
mov dword [esi + 0x450], 6
je 0x1016b583
cmp dword [0x101d4d40], 0
je 0x1016b953
push dword [0x101d4d30]
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x1016b8a9
mov edi, dword [eax + 0x28]
xor ebx, ebx
jmp 0x1016a5d6
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0xc4]
test ax, ax
mov dword [esp + 0xc], ecx
js 0x1016b2ff
cmp dword [esi + 0x38], 0
je 0x1016b315
and eax, 0x6000
cmp eax, 0x4000
je 0x1016b2ff
cmp dword [esi + 0x54], 0
je 0x1016b315
push 0xff01
push esi
call fcn.10170340
add esp, 8
test eax, eax
je 0x1016b534
mov ecx, esi
call fcn.1015fc50
mov ebx, 0xffffd01d
test eax, eax
jne 0x1016b57c
cmp dword [esp + 0x10], 0
mov edi, 0x101d6170
je 0x1016b366
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x78]
cmp dword [esp + 0x10], eax
jne 0x1016b366
mov eax, dword [esp + 0xc]
add eax, 0x79
push dword [esp + 0x10]
push dword [esp + 0x118]
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1016b5a0
lock inc dword [edi]
cmp dword [esi + 0x6f8], 0
je 0x1016b38e
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 + 0xc]
mov byte [edi + 0xce], 0
push esi
call fcn.10178740
add esp, 4
push edi
call fcn.101775c0
add esp, 4
push 0x140
call sym.nss3.dll_PORT_ZAlloc_Util
add esp, 4
test eax, eax
je 0x1016b56d
mov ecx, dword [esi + 0xd0]
mov edi, eax
xor ebx, ebx
mov eax, 0
test ecx, ecx
je 0x1016b3dc
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 0x1016b3f4
push eax
call sym.nss3.dll_PORT_Strdup_Util
add esp, 4
mov ebx, eax
mov dword [edi + 0x28], ebx
movq xmm0, qword [esi + 0xb0]
movq xmm1, qword [esi + 0xb8]
movq qword [edi + 0x38], xmm0
movq qword [edi + 0x40], xmm1
movzx eax, word [esi + 0xc0]
mov word [edi + 0x48], ax
xor eax, eax
mov dword [edi + 8], 1
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 + 0x118]
test eax, eax
mov byte [edi + 0x78], al
je 0x1016b473
lea ecx, [edi + 0x79]
push eax
push dword [esp + 0x118]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x17
push esi
call fcn.10170340
add esp, 8
mov byte [edi + 0xcf], al
cmp dword [esi + 0x954], 0
je 0x1016b4b9
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 ecx, 0xffffd01d
test eax, eax
mov dword [esi + 0x954], ebx
jne 0x101688a2
mov dword [esi + 0x4b4], 0
xor ecx, ecx
mov eax, dword [esi + 0x48c]
cmp dword [eax + 0xc], 0
sete cl
or ecx, 0xa
mov dword [esi + 0x450], ecx
or byte [esi + 0x540], 0x10
jmp 0x1016929a
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x10169d65
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x10169c41
mov eax, dword [esp + 8]
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [esi + 0x7c], eax
jmp 0x10168f65
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x10169d11
xor ebx, ebx
cmp dword [esi + 0x38], 0
sete bl
or ebx, 0xffffd070
jmp 0x1016b57c
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x101698d5
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x10169903
mov dword [esi + 0xc4], 0
mov ebx, 0xffffd01d
push 0x28
jmp 0x10168895
test byte [esi + 0x1d], 4
jne 0x10169013
push dword [esi + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
jmp 0x10169013
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
movzx eax, word [eax + 0x4a]
cmp ax, word [ecx]
jne 0x1016b57c
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 0x9a]
cmp ax, word [esi + 0x490]
jne 0x1016b57c
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xcf], 0
je 0x1016b7f4
push 0x17
push esi
call fcn.10170340
add esp, 8
test eax, eax
je 0x1016b822
mov ebx, dword [esp + 0xc]
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.1017e900
add esp, 4
mov dword [esi + 0x98], eax
mov eax, dword [ebx + 0x74]
mov dword [esi + 0x88], eax
lea eax, [ebx + 0x9d]
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], eax
movzx eax, byte [ebx + 0xcd]
mov dword [esp + 0x6c], eax
mov edi, dword [ebx + 0xd8]
push dword [ebx + 0xd4]
call fcn.1013a8f0
add esp, 4
test eax, eax
je 0x1016b877
mov ebx, eax
push edi
push eax
call fcn.1013aa60
add esp, 8
mov edi, eax
push ebx
call sym.nss3.dll_SECMOD_DestroyModule
add esp, 4
test edi, edi
je 0x1016b877
xor edx, edx
mov ecx, edi
inc edx
call fcn.10138680
test eax, eax
je 0x1016b868
mov edx, dword [esp + 0xc]
movzx eax, word [edx + 0xde]
movzx ecx, word [edx + 0xdc]
push dword [esi + 0x11c]
push eax
push dword [edx + 0xd0]
push ecx
push edi
call fcn.10131950
add esp, 0x14
lock dec dword [edi + 0x48]
mov ebx, eax
jne 0x1016b6cf
push edi
call fcn.10135de0
add esp, 4
test ebx, ebx
je 0x1016b877
mov eax, dword [esp + 0x18]
xor ecx, ecx
movzx eax, word [eax]
cmp eax, 0x300
mov eax, 0x2800
cmovbe eax, ecx
push eax
push 0x30
push 0x10c
push 0x371
lea eax, [esp + 0x74]
push eax
push 0
mov eax, dword [esp + 0x24]
push dword [eax + 0xd0]
push ebx
call fcn.10135210
add esp, 0x20
mov edi, eax
push ebx
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
test edi, edi
je 0x1016b877
lock inc dword [0x101d616c]
cmp dword [esi + 0x930], 0
je 0x1016b73e
lock inc dword [0x101d6188]
push 0x23
push esi
call fcn.10170340
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
lea eax, [ecx*8 + 6]
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x450], eax
mov dword [esi + 0x4b4], 1
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x1016b786
push ebx
call fcn.10106d10
add esp, 4
test eax, eax
je 0x1016b783
lock inc dword [eax + 4]
mov dword [esi + 0x78], ebx
push 0
push edi
push esi
call fcn.1015fea0
add esp, 0xc
test eax, eax
mov ebx, 0xffffd01d
jne 0x1016b57c
jmp 0x1016b4db
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1016acd3
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1016a5b5
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1016b157
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1016b227
push 0x17
push esi
call fcn.10170340
add esp, 8
mov ebx, 0xffffd089
test eax, eax
jne 0x1016b57c
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xcf], 0
jne 0x1016b5d6
jmp 0x1016b5e9
mov ebx, 0xffffd088
jmp 0x1016b57c
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1016b18b
call sym.nss3.dll_PR_Init
jmp 0x10169b8b
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1016ae0b
call sym.nss3.dll_PR_Init
jmp 0x10168c86
lock dec dword [edi + 0x48]
jne 0x1016b877
push edi
call fcn.10135de0
add esp, 4
mov edi, 0x101d6174
jmp 0x1016b366
call sym.nss3.dll_PR_Init
jmp 0x101689fc
call sym.nss3.dll_PR_Init
jmp 0x10168d0b
call sym.nss3.dll_PR_Init
jmp 0x10169e67
call sym.nss3.dll_PR_Init
jmp 0x10169585
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1016b2cb
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1016ac8e
call sym.nss3.dll_PR_Init
jmp 0x10169d51
call sym.nss3.dll_PR_Init
jmp 0x10169c2d
xor eax, eax
push eax
push eax
push 1
push eax
call fcn.100e2c70
add esp, 0x10
jmp 0x1016b0c0
call sym.nss3.dll_PR_Init
jmp 0x10169cfd
call sym.nss3.dll_PR_Init
jmp 0x101698c1
call sym.nss3.dll_PR_Init
jmp 0x101698ef
call sym.nss3.dll_PR_Init
jmp 0x1016acbf
call sym.nss3.dll_PR_Init
jmp 0x1016a5a1
call sym.nss3.dll_PR_Init
jmp 0x1016b143
call sym.nss3.dll_PR_Init
jmp 0x1016b213
call sym.nss3.dll_PR_Init
jmp 0x1016b177
call sym.nss3.dll_PR_Init
jmp 0x1016adf7
call sym.nss3.dll_PR_Init
jmp 0x1016b2b7
call sym.nss3.dll_PR_Init
jmp 0x1016ac7a
call sym.nss3.dll_PR_Init
jmp 0x1016b0ac