Function at 0x407ecf
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
sub esp, 0xb0
push ebx
push ebp
mov ebp, dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
push esi
push edi
push 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x50], 0
call ebp
push 1
mov dword [esp + 0x78], eax
call ebp
mov ebx, dword [esp + 0xd0]
mov dword [esp + 0x5c], eax
xor al, al
mov byte [esp + 0x24], al
xor eax, eax
push 0x2f
push dword [ebx]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0x98], str.internal
mov dword [esp + 0x68], 0x4275d3
mov dword [esp + 0x90], 0x4275d3
mov dword [esp + 0x8c], 0x4275d3
mov dword [esp + 0x88], 0x4275d3
mov dword [esp + 0x70], 0x4275d3
mov dword [esp + 0x40], 1
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0xb0], 0x800
mov dword [esp + 0xa8], 0x10001
mov dword [esp + 0x6c], 2
mov dword [esp + 0x44], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 3
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0x60], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xa4], 0x45
mov dword [esp + 0x20], eax
mov dword [esp + 0x58], eax
call fcn.00412270
add esp, 0x10
mov dword [0x439ae8], eax
test eax, eax
je 0x40756d
inc eax
jmp 0x40756f
mov eax, dword [ebx]
push 0x426e08
push eax
mov ecx, 0x78
mov dword [0x439ae8], eax
mov esi, 0x426700
mov edi, 0x437d20
rep movsd dword es:[edi], dword [esi]
push ebx
push dword [esp + 0xd0]
mov ecx, 0x14a
mov esi, 0x4268e0
mov edi, 0x437f00
rep movsd dword es:[edi], dword [esi]
call fcn.0040b950
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x4096ea
cmp dword [0x437db8], eax
jne 0x4096f5
cmp dword [0x437da4], eax
je 0x407614
xor edx, edx
mov eax, 0x437d2c
xor ecx, ecx
cmp ecx, 6
je 0x4075e0
cmp dword [eax], edx
jne 0x4075f0
add eax, 0x14
inc ecx
cmp eax, 0x437f0c
jl 0x4075d7
jmp 0x409707
lea edx, [ecx + ecx*4]
mov al, byte [edx*4 + 0x437d20]
test al, al
je 0x409700
mov byte [esp + 0x1c], al
lea edx, [esp + 0x1c]
mov byte [esp + 0x1d], 0
jmp 0x409707
mov eax, dword [0x438020]
test eax, eax
je 0x407629
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], eax
mov eax, dword [0x438214]
test eax, eax
je 0x407644
mov dword [esp + 0x8c], 1
mov dword [esp + 0x90], eax
cmp dword [0x437ffc], 0
je 0x40765b
push dword [0x437ff8]
call fcn.0040c8c0
add esp, 4
cmp dword [0x438308], 0
je 0x407670
mov eax, dword [0x438304]
mov dword [esp + 0x80], eax
cmp dword [0x438330], 0
je 0x407682
mov eax, dword [0x43832c]
mov dword [esp + 0x78], eax
cmp dword [0x438344], 0
je 0x407694
mov eax, dword [0x438340]
mov dword [esp + 0x60], eax
cmp dword [0x438038], 0
je 0x4076f8
push 0xa
push 0
push dword [0x438034]
call fcn.00415842
mov dword [esp + 0xac], eax
add esp, 0xc
add eax, 0xfffffe00
cmp eax, 0x1e00
jbe 0x4076f8
push 0x2000
push 0x200
push dword [0x439ae8]
push str._s__g:__Keysize_must_be_between__d_and__d._n
push 2
call ebp
add esp, 4
push eax
call dword [sym.imp.nspr4.dll_PR_fprintf]
add esp, 0x14
mov eax, 0xff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret
cmp dword [0x43804c], 0
je 0x40772d
push 0x42b1bc
push dword [0x438048]
call sub.plc4.dll_PL_strcmp
add esp, 8
mov ebp, eax
neg ebp
sbb ebp, ebp
and ebp, dword [0x438048]
mov dword [esp + 0x88], ebp
mov ebp, dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
cmp dword [0x438204], 0
je 0x40777a
mov esi, dword [0x438200]
push esi
call fcn.0040c430
add esp, 4
mov dword [esp + 0x38], eax
test eax, eax
jne 0x40777a
push esi
push dword [0x439ae8]
push str._s__Z:___s_is_not_a_recognized_type._n
push 2
call ebp
add esp, 4
push eax
call dword [sym.imp.nspr4.dll_PR_fprintf]
add esp, 0x10
mov eax, 0xff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret
cmp dword [0x43809c], 0
je 0x4077ef
mov esi, dword [0x438098]
push 0x426e20
push esi
call sub.plc4.dll_PL_strcmp
add esp, 8
test eax, eax
jne 0x4077a0
lea esi, [eax + 1]
jmp 0x407801
push 0x426e24
push esi
call sub.plc4.dll_PL_strcmp
add esp, 8
test eax, eax
jne 0x4077b7
lea esi, [eax + 2]
jmp 0x407801
push 0x426e3c
push esi
call sub.plc4.dll_PL_strcmp
add esp, 8
test eax, eax
jne 0x4077ce
lea esi, [eax + 6]
jmp 0x407801
push 0x42b1bc
push esi
call sub.plc4.dll_PL_strcmp
add esp, 8
test eax, eax
jne 0x4077e4
xor esi, esi
jmp 0x407801
mov dword [esp + 0x3c], esi
mov esi, 1
jmp 0x407805
mov eax, dword [0x437dcc]
mov esi, 1
neg eax
sbb eax, eax
not eax
and esi, eax
mov dword [esp + 0x30], esi
cmp dword [0x438358], 0
je 0x407824
push dword [0x438354]
call fcn.00405260
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
jmp 0x407826
xor edi, edi
cmp dword [0x43836c], 0
je 0x40784c
push dword [0x438368]
call fcn.00405260
mov dword [esp + 0xa8], eax
add esp, 4
not eax
and edi, eax
mov dword [esp + 0x50], edi
cmp dword [0x438380], 0
je 0x407875
push dword [0x4370a4]
push 0x4370a8
push dword [0x43837c]
call fcn.00405150
add esp, 0xc
mov dword [esp + 0x94], eax
cmp dword [0x4380c4], 0
je 0x4078ae
push 0xa
push 0
push dword [0x4380c0]
call fcn.00415842
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
jns 0x4078ae
push dword [0x4380c0]
push dword [0x439ae8]
push str._s__m:___s_is_not_a_valid_serial_number._n
jmp 0x407759
cmp dword [0x438114], 0
je 0x4078c8
mov eax, dword [0x438110]
mov dword [esp + 0x58], eax
test eax, eax
je 0x409725
cmp dword [0x43831c], 0
je 0x4078e2
mov eax, dword [0x438318]
mov dword [esp + 0x7c], eax
test eax, eax
je 0x409730
cmp dword [0x438128], 0
je 0x407921
cmp esi, 2
je 0x407921
cmp esi, 6
je 0x407921
push dword [0x439ae8]
push str._s__q:_specifies_a_PQG_file_for_DSA_keys___k_dsa__or_a_named_curve_for_EC_keys___k_ec__n_
push 2
call ebp
add esp, 4
push eax
call dword [sym.imp.nspr4.dll_PR_fprintf]
add esp, 0xc
mov eax, 0xff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret
cmp dword [0x438150], 0
je 0x407956
push dword [0x43814c]
call sub.nss3.dll_CERT_AsciiToName
add esp, 4
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x407956
push dword [0x43814c]
push dword [0x439ae8]
push str._s__s:_improperly_formatted_name:___s__n
jmp 0x407759
cmp dword [0x43818c], 0
je 0x40798f
push 0xa
push 0
push dword [0x438188]
call fcn.00415842
add esp, 0xc
mov dword [esp + 0x40], eax
test eax, eax
jns 0x40798f
push dword [0x438188]
push dword [0x439ae8]
push str._s__v:_incorrect_validity_period:___s__n
jmp 0x407759
cmp dword [0x4381a0], 0
je 0x4079ae
push 0xa
push 0
push dword [0x43819c]
call fcn.00415842
add esp, 0xc
mov dword [esp + 0x44], eax
cmp dword [0x4381dc], 0
je 0x407a22
push 0xa
push 0
push dword [0x4381d8]
call fcn.00415842
add esp, 0xc
mov dword [esp + 0x98], eax
cmp eax, 3
je 0x407a22
cmp eax, 0x11
je 0x407a22
cmp eax, 0x10001
je 0x407a22
push eax
push dword [0x439ae8]
push str._s__y:_incorrect_public_exponent__d.
push 2
call ebp
mov esi, dword [sym.imp.nspr4.dll_PR_fprintf]
add esp, 4
push eax
call esi
add esp, 0x10
push str.Must_be_3__17__or_65537._n
push 2
call ebp
add esp, 4
push eax
call esi
add esp, 8
mov eax, 0xff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret
cmp dword [0x4383a8], 0
je 0x407a8a
push 0xa
push 0
push dword [0x4383a4]
call fcn.00415842
add esp, 0xc
lea ecx, [eax - 1]
mov dword [esp + 0x5c], ecx
cmp ecx, 3
jbe 0x407a8a
push eax
push dword [0x439ae8]
push str._s__certVersion:_incorrect_certificate_version__d.
push 2
call ebp
mov esi, dword [sym.imp.nspr4.dll_PR_fprintf]
add esp, 4
push eax
call esi
add esp, 0x10
push str.Must_be_1__2__3_or_4._n
push 2
call ebp
add esp, 4
push eax
call esi
add esp, 8
mov eax, 0xff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret
xor eax, eax
mov ecx, 0x437d20
cmp dword [ecx + 0xc], 0
je 0x407a9e
mov dl, byte [ecx]
inc eax
mov byte [esp + 0x1c], dl
cmp eax, 1
jg 0x40966c
cmp dword [ecx + 0x20], 0
je 0x407ab5
mov dl, byte [ecx + 0x14]
inc eax
mov byte [esp + 0x1c], dl
cmp eax, 1
jg 0x40966c
cmp dword [ecx + 0x34], 0
je 0x407acc
mov dl, byte [ecx + 0x28]
inc eax
mov byte [esp + 0x1c], dl
cmp eax, 1
jg 0x40966c
cmp dword [ecx + 0x48], 0
je 0x407ae3
mov dl, byte [ecx + 0x3c]
inc eax
mov byte [esp + 0x1c], dl
cmp eax, 1
jg 0x40966c
cmp dword [ecx + 0x5c], 0
je 0x407afa
mov dl, byte [ecx + 0x50]
inc eax
mov byte [esp + 0x1c], dl
cmp eax, 1
jg 0x40966c
cmp dword [ecx + 0x70], 0
je 0x407b11
mov dl, byte [ecx + 0x64]
inc eax
mov byte [esp + 0x1c], dl
cmp eax, 1
jg 0x40966c
add ecx, 0x78
cmp ecx, 0x437f00
jl 0x407a91
test eax, eax
je 0x40973b
cmp dword [0x437de0], 0
mov edi, dword [0x437e80]
jne 0x407b67
cmp dword [0x437da4], 0
jne 0x407b67
cmp dword [0x437dcc], 0
jne 0x407b67
cmp dword [0x437e6c], 0
jne 0x407b67
test edi, edi
jne 0x407b67
cmp dword [0x437ea8], edi
je 0x407b79
xor eax, eax
cmp dword [0x4381c8], eax
sete al
mov dword [esp + 0x84], eax
mov eax, dword [0x437d2c]
mov esi, dword [0x4380d8]
mov edx, dword [0x437e44]
mov ebp, dword [0x437e1c]
mov ecx, dword [0x437df4]
test eax, eax
jne 0x407bbc
cmp dword [0x437d54], 0
jne 0x407bbc
cmp dword [0x437d7c], 0
jne 0x407bbc
test ebp, ebp
jne 0x407bbc
test ecx, ecx
jne 0x407bbc
test edx, edx
jne 0x407bbc
test edi, edi
je 0x407be3
test esi, esi
jne 0x407bdf
movsx eax, byte [esp + 0x1c]
push eax
push dword [0x439ae8]
mov eax, dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
push str._s___c:_nickname_is_required_for_this_command___n_._n
push 2
call eax
jmp 0x40775d
test eax, eax
jne 0x407bf4
cmp dword [0x437d68], 0
jne 0x407bf4
test ecx, ecx
jne 0x407bf4
test edx, edx
je 0x407c1c
cmp dword [0x438164], 0
jne 0x407c1c
movsx eax, byte [esp + 0x1c]
push eax
push dword [0x439ae8]
mov eax, dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
push str._s___c:_trust_is_required_for_this_command___t_._n
push 2
call eax
jmp 0x40775d
cmp dword [0x437de0], 0
je 0x407c8b
mov ecx, dword [0x437fc0]
mov eax, dword [0x43813c]
test ecx, ecx
jne 0x407c41
cmp dword [0x4383d0], 0
jne 0x407c41
test eax, eax
je 0x407c8b
test esi, esi
jne 0x407c76
push dword [0x439ae8]
push str._s:_nickname_is_required_to_dump_cert_in_raw_or_ascii_mode._n
mov eax, dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
push 2
call eax
add esp, 4
push eax
call dword [sym.imp.nspr4.dll_PR_fprintf]
add esp, 0xc
mov eax, 0xff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret
test ecx, ecx
je 0x407c8b
test eax, eax
je 0x407c8b
push dword [0x439ae8]
push str._s:_cannot_specify_both__r_and__a_when_dumping_cert._n
jmp 0x407c50
cmp dword [0x437e30], 0
jne 0x407c98
test edx, edx
je 0x407cc7
cmp dword [0x438150], 0
jne 0x407cc7
cmp dword [esp + 0x3c], 0
jne 0x407cc7
movsx eax, byte [esp + 0x1c]
push eax
push dword [0x439ae8]
mov eax, dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
push str._s___c:_subject_is_required_to_create_a_cert_request._n
push 2
call eax
jmp 0x40775d
cmp dword [0x437d40], 0
jne 0x407cd4
test edx, edx
je 0x407d06
cmp dword [0x4380c4], 0
jne 0x407d06
call dword [sym.imp.nspr4.dll_PR_Now]
mov esi, dword [0x4380d8]
mov edi, dword [0x437e80]
mov ebp, dword [0x437e1c]
shrd eax, edx, 0x13
shr edx, 0x13
mov edx, dword [0x437e44]
mov dword [esp + 0x34], eax
test edi, edi
je 0x407d23
cmp dword [0x438178], 0
jne 0x407d23
push dword [0x439ae8]
push str._s__V:_specify_a_usage_to_validate_the_cert_for___u_._n
jmp 0x407c50
cmp dword [0x437ef8], 0
je 0x407d49
test esi, esi
je 0x407d39
cmp dword [0x4383f8], 0
jne 0x407d49
push dword [0x439ae8]
push str._s___rename:_specify_an_old_nickname___n__and_n___a_new_nickname____new_n_._n
jmp 0x407c50
cmp dword [0x437ee4], 0
je 0x407d74
cmp dword [0x438308], 0
je 0x407d64
cmp dword [0x438330], 0
jne 0x407d74
push dword [0x439ae8]
push str._s___upgrade_merge:_specify_an_upgrade_database_directory____source_dir__and_n___an_upgrade_ID____upgrade_id_._n
jmp 0x407c50
cmp dword [0x437ed0], 0
je 0x407d96
cmp dword [0x438308], 0
jne 0x407d96
push dword [0x439ae8]
push str._s___merge:_specify_an_source_database_directory____source_dir__n
jmp 0x407c50
test edx, edx
je 0x407dbc
cmp dword [0x437fe8], 0
jne 0x407dbc
cmp dword [0x4381b4], 0
jne 0x407dbc
push dword [0x439ae8]
push str._s__S:_must_specify_issuer___c__or_self_sign___x_._n
jmp 0x407c50
cmp dword [0x437dcc], 0
jne 0x407e20
test ebp, ebp
jne 0x407df9
cmp dword [0x437de0], ebp
jne 0x407df9
cmp dword [esp + 0x88], ebp
jne 0x407df9
movsx eax, byte [esp + 0x1c]
push eax
push dword [0x439ae8]
mov eax, dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
push str._s___c:_cannot_use___h_all__for_this_command._n
push 2
call eax
jmp 0x40775d
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x407e20
movsx eax, byte [esp + 0x1c]
push eax
push dword [0x439ae8]
mov eax, dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
push str._s___c:_cannot_use___k_all__for_this_command._n
push 2
call eax
jmp 0x40775d
cmp dword [0x438060], 0
mov esi, dword [sym.imp.nspr4.dll_PR_Open]
je 0x407e8b
push 0
push 1
push dword [0x43805c]
call esi
add esp, 0xc
mov dword [esp + 0x70], eax
test eax, eax
jne 0x407e8b
call dword [sym.imp.nspr4.dll_PR_GetOSError]
push eax
call dword [sym.imp.nspr4.dll_PR_GetError]
push eax
push dword [0x43805c]
push dword [0x439ae8]
push str._s:__unable_to_open___s__for_reading___ld___ld_._n
mov eax, dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
push 2
call eax
add esp, 4
push eax
call dword [sym.imp.nspr4.dll_PR_fprintf]
add esp, 0x18
mov eax, 0xff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret
cmp dword [0x4380ec], 0
je 0x407ecf
push 0x1b0
push 0x2c
push dword [0x4380e8]
call esi
add esp, 0xc
mov dword [esp + 0x54], eax
test eax, eax
jne 0x407ecf
call dword [sym.imp.nspr4.dll_PR_GetOSError]
push eax
call dword [sym.imp.nspr4.dll_PR_GetError]
push eax
push dword [0x4380e8]
push dword [0x439ae8]
push str._s:__unable_to_open___s__for_writing___ld___ld_._n
jmp 0x407e65
push 0x17
push 0x426e08
call fcn.0040b8c0
mov edi, eax
push 0x3f
push 0x426e08
mov dword [esp + 0x3c], edi
call fcn.0040b8c0
mov ebp, eax
push 0x12
push 0x426e08
mov dword [esp + 0x30], ebp
call fcn.0040b8c0
push 0x40cc50
mov dword [esp + 0x90], eax
call sub.nss3.dll_PK11_SetPasswordFunc
add esp, 0x1c
cmp dword [esp + 0xcc], 1
jne 0x407fcc
push 1
push 1
push 1
call dword [sym.imp.nspr4.dll_PR_Init]
add esp, 0xc
cmp dword [0x437ee4], 0
push dword [esp + 0x84]
jne 0x407f66
mov eax, dword [esp + 0x5c]
push str.secmod.db
push eax
push eax
push 0
call fcn.0040c8c0
add esp, 4
push eax
call sub.nss3.dll_NSS_Initialize
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x14], ebx
jmp 0x407fa5
push dword [esp + 0x64]
mov eax, dword [esp + 0x84]
push dword [esp + 0x80]
push eax
push eax
push dword [esp + 0x94]
mov eax, dword [esp + 0x70]
push str.secmod.db
push eax
push eax
push 0
call fcn.0040c8c0
add esp, 4
push eax
call sub.nss3.dll_NSS_InitWithMerge
add esp, 0x28
mov dword [esp + 0x14], eax
mov ebx, eax
test ebx, ebx
je 0x407fbc
push dword [0x439ae8]
call fcn.0040c200
add esp, 4
jmp 0x409310
mov dword [esp + 0x9c], 1
call fcn.00410630
call sub.nss3.dll_CERT_GetDefaultCertDB
cmp dword [0x437ea8], 0
mov ebp, eax
mov dword [esp + 0x58], ebp
je 0x407fed
push str.Certificate_database_content_version:_command_not_implemented._n
call fcn.004045a0
add esp, 4
mov esi, dword [esp + 0x88]
push str.internal
push esi
call sub.plc4.dll_PL_strcmp
add esp, 8
test eax, eax
jne 0x40800d
call sub.nss3.dll_PK11_GetInternalKeySlot
jmp 0x40801e
test esi, esi
je 0x4085c9
push esi
call sub.nss3.dll_PK11_FindSlotByName
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x4085c9
cmp dword [0x437e08], 0
je 0x4080a8
cmp dword [0x438394], 0
je 0x408069
push eax
call sub.nss3.dll_PK11_NeedUserInit
add esp, 4
test eax, eax
je 0x408065
mov ebx, dword [esp + 0x20]
push 0x4275d3
push 0
push ebx
call sub.nss3.dll_PK11_InitPin
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x14], ebx
jmp 0x408088
mov eax, dword [esp + 0x20]
push dword [0x438214]
push dword [0x438020]
push 0
push 0
push eax
call fcn.0040c5f0
add esp, 0x14
mov dword [esp + 0x14], eax
mov ebx, eax
test ebx, ebx
je 0x4080a4
push str.Could_not_set_password_for_the_slot
push dword [0x439ae8]
call fcn.0040bfd0
add esp, 8
jmp 0x4081ca
mov eax, dword [esp + 0x20]
mov ecx, dword [0x437df4]
test ecx, ecx
jne 0x4080d0
mov edx, dword [0x437e44]
test edx, edx
jne 0x4080d0
cmp dword [0x437d2c], edx
jne 0x4080d0
cmp dword [0x437d68], edx
je 0x408164
push eax
call sub.nss3.dll_PK11_NeedUserInit
add esp, 4
test eax, eax
je 0x408158
mov eax, dword [esp + 0x24]
xor esi, esi
cmp eax, 1
jne 0x4080fc
push dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
push esi
push ebx
call fcn.0040c9f0
add esp, 0xc
jmp 0x408111
cmp eax, 2
jne 0x408119
push dword [esp + 0x28]
call sub.plc4.dll_PL_strdup
mov ebx, dword [esp + 0x24]
add esp, 4
mov esi, eax
test esi, esi
je 0x40811d
jmp 0x408122
mov ebx, dword [esp + 0x20]
mov eax, 0x4275d3
push eax
push 0
push ebx
call sub.nss3.dll_PK11_InitPin
add esp, 0xc
mov ebx, eax
mov dword [esp + 0x14], ebx
test esi, esi
je 0x408150
push esi
call sub.plc4.dll_PL_strlen
push eax
push 0
push esi
call fcn.00412620
push esi
call sub.nssutil3.dll_PORT_Free_Util
add esp, 0x14
test ebx, ebx
jne 0x40808c
mov edx, dword [0x437e44]
mov ecx, dword [0x437df4]
cmp dword [0x437ee4], 0
je 0x40830c
mov ebp, dword [esp + 0x60]
cmp byte [ebp], 0
jne 0x40817f
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x20]
push ebx
call sub.nss3.dll_PK11_IsInternal
add esp, 4
test eax, eax
jne 0x4081aa
push str.Only_internal_DBs_can_be_upgraded_n
push 2
call fcn.004130d6
add esp, 4
push eax
call fcn.00404480
add esp, 8
jmp 0x4081c4
push ebx
call sub.nss3.dll_PK11_IsRemovable
add esp, 4
test eax, eax
jne 0x4081f9
push str.database_already_upgraded._n
call fcn.004045a0
add esp, 4
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4081e3
push eax
call sub.nss3.dll_PK11_FreeSlot
add esp, 4
test esi, esi
je 0x409317
push esi
call sub.nss3.dll_SECKEY_DestroyPrivateKey
add esp, 4
jmp 0x409317
push ebx
call sub.nss3.dll_PK11_NeedLogin
add esp, 4
test eax, eax
jne 0x40820d
push str.upgrade_complete__n
jmp 0x4081bc
push ebx
mov esi, ebp
call sub.nss3.dll_PK11_GetTokenName
add esp, 4
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x408238
test cl, cl
je 0x408234
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x408238
add eax, 2
add esi, 2
test cl, cl
jne 0x408218
xor eax, eax
jmp 0x40823d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x408291
lea eax, [esp + 0x8c]
push eax
push 0
push ebx
call sub.nss3.dll_PK11_Authenticate
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x408277
push ebp
push str.Could_not_get_password_for__s
push dword [0x439ae8]
call fcn.0040bfd0
add esp, 0xc
jmp 0x4081ca
mov ebx, dword [esp + 0x20]
lea eax, [esp + 0x24]
push eax
push ebx
call sub.nss3.dll_PK11_IsLoggedIn
add esp, 8
test eax, eax
jne 0x408206
push ebx
call sub.nss3.dll_PK11_IsPresent
add esp, 4
test eax, eax
jne 0x4082be
push str.upgrade_merge_internal_error_n
push 2
call fcn.004130d6
add esp, 4
push eax
call fcn.00404480
add esp, 8
or ebx, 0xffffffff
jmp 0x4081c6
lea eax, [esp + 0x24]
push eax
push 0
push ebx
call sub.nss3.dll_PK11_Authenticate
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x4082ea
push str.upgrade_complete__n
call fcn.004045a0
add esp, 4
jmp 0x4081ca
push dword [esp + 0x20]
call sub.nss3.dll_PK11_GetTokenName
push eax
push str.Could_not_get_password_for__s
push dword [0x439ae8]
call fcn.0040bfd0
add esp, 0x10
jmp 0x4081ca
cmp dword [0x437ed0], 0
je 0x4085c2
mov eax, dword [esp + 0x60]
cmp byte [eax], 0
jne 0x408327
mov eax, str.Source_Database
push eax
push dword [esp + 0x80]
push dword [esp + 0x88]
push str.configDir_s_certPrefix_s_tokenDescription_s
call dword [sym.imp.nspr4.dll_PR_smprintf]
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x408352
or ebx, 0xffffffff
jmp 0x4081c6
push esi
call sub.nss3.dll_SECMOD_OpenUserDB
mov ebp, eax
push esi
mov dword [esp + 0x58], ebp
call dword [sym.imp.nspr4.dll_PR_smprintf_free]
add esp, 8
test ebp, ebp
jne 0x408387
push str.couldnt_open_source_database
push dword [0x439ae8]
call fcn.0040bfd0
add esp, 8
or ebx, 0xffffffff
jmp 0x4081c6
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x24]
push eax
push 0
push esi
call sub.nss3.dll_PK11_Authenticate
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x4083d3
push esi
call sub.nss3.dll_PK11_GetTokenName
push eax
push str.Couldnt_get_password_for__s
push dword [0x439ae8]
call fcn.0040bfd0
add esp, 0x10
push ebp
call sub.nss3.dll_SECMOD_CloseUserDB
push ebp
call sub.nss3.dll_PK11_FreeSlot
add esp, 8
jmp 0x4081ca
lea eax, [esp + 0x8c]
push eax
push 0
push ebp
call sub.nss3.dll_PK11_Authenticate
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x4083f3
push ebp
jmp 0x4083a6
call sub.nss3.dll_PK11_CreateMergeLog
mov esi, eax
mov dword [esp + 0x40], esi
test esi, esi
jne 0x408430
push str.couldnt_create_error_log
push dword [0x439ae8]
or ebx, 0xffffffff
mov dword [esp + 0x1c], ebx
call fcn.0040bfd0
add esp, 8
push ebp
call sub.nss3.dll_SECMOD_CloseUserDB
push ebp
call sub.nss3.dll_PK11_FreeSlot
add esp, 8
jmp 0x4081ca
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x28]
push eax
push esi
push ebp
push dword [esp + 0x30]
call sub.nss3.dll_PK11_MergeTokens
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x4085a5
mov ebp, dword [esi]
test ebp, ebp
je 0x4085a1
lea eax, [esp + 0x64]
xor edi, edi
push eax
push 3
push dword [ebp + 8]
xor esi, esi
push edi
mov dword [esp + 0x78], esi
call sub.nss3.dll_PK11_ReadRawAttribute
add esp, 0x10
test eax, eax
jne 0x4084c7
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], eax
inc eax
push eax
mov dword [esp + 0x48], ecx
call sub.nssutil3.dll_PORT_Alloc_Util
mov esi, eax
add esp, 4
test esi, esi
je 0x4084bb
push dword [esp + 0x34]
push dword [esp + 0x48]
push esi
call fcn.00411cf0
mov eax, dword [esp + 0x40]
add esp, 0xc
mov byte [esi + eax], 0
push dword [esp + 0x68]
call sub.nssutil3.dll_PORT_Free_Util
add esp, 4
lea eax, [esp + 0x64]
mov dword [esp + 0x68], edi
push eax
push 0
push dword [ebp + 8]
push 0
call sub.nss3.dll_PK11_ReadRawAttribute
add esp, 0x10
test eax, eax
jne 0x40853a
cmp dword [esp + 0x6c], 4
jne 0x40852a
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
cmp ecx, 7
ja 0x4084fe
mov edi, dword [ecx*4 + section..data]
jmp 0x40852a
lea eax, [ecx + 0x31acbcb0]
cmp eax, 4
ja 0x408512
mov edi, dword [ecx*4 - 0x39099d20]
jmp 0x40852a
push ecx
push str.0x_lx
push 0x4384a0
call fcn.0040b060
add esp, 0xc
mov edi, 0x4384a0
push dword [esp + 0x68]
call sub.nssutil3.dll_PORT_Free_Util
add esp, 4
test edi, edi
jne 0x40853f
mov edi, str.unknown
mov dword [esp + 0x34], esi
test esi, esi
jne 0x40854f
mov dword [esp + 0x34], str.unnamed
push 0
push dword [ebp + 0xc]
call dword [sym.imp.nspr4.dll_PR_ErrorToString]
add esp, 8
push eax
push edi
push dword [esp + 0x3c]
push dword [0x439ae8]
push str._s:_Could_not_merge_object__s__type__s_:__s_n
push 2
call fcn.004130d6
add esp, 4
push eax
call fcn.00404480
add esp, 0x18
test esi, esi
je 0x40858e
push esi
call sub.nssutil3.dll_PORT_Free_Util
add esp, 4
mov ebp, dword [ebp]
test ebp, ebp
jne 0x408463
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x50]
push esi
call sub.nss3.dll_PK11_DestroyMergeLog
add esp, 4
push ebp
call sub.nss3.dll_SECMOD_CloseUserDB
push ebp
call sub.nss3.dll_PK11_FreeSlot
add esp, 8
jmp 0x4081ca
mov eax, dword [0x437e94]
jmp 0x40863b
cmp dword [0x437e08], 0
jne 0x4092f8
mov ecx, dword [0x437df4]
test ecx, ecx
jne 0x4092f8
mov eax, dword [0x437e94]
test eax, eax
jne 0x4092f8
cmp dword [0x437e58], eax
jne 0x4092f8
mov edx, dword [0x437e44]
test edx, edx
jne 0x4092f8
cmp dword [0x437d2c], edx
jne 0x4092f8
cmp dword [0x437ed0], edx
jne 0x4092f8
cmp dword [0x437ee4], edx
jne 0x4092f8
cmp dword [0x437d68], edx
jne 0x4092f8
cmp dword [0x437de0], 0
je 0x40871b
cmp dword [0x4383d0], 0
je 0x4086e8
mov esi, dword [0x4383cc]
mov ecx, esi
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408670
sub ecx, edx
lea eax, [esp + 0x64]
push ecx
push esi
push eax
push 0
call fcn.00403b30
add esp, 0x10
test eax, eax
je 0x4086a7
push esi
push str.malformed_extension_OID__s
push dword [0x439ae8]
call fcn.0040bfd0
add esp, 0xc
jmp 0x4081ca
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x6c]
push eax
push 0
push 1
push dword [esp + 0x34]
push dword [esp + 0x8c]
push edi
push ebp
call fcn.00405280
mov ebx, eax
lea eax, [esp + 0x88]
push 0
push eax
mov dword [esp + 0x40], ebx
call sub.nssutil3.dll_SECITEM_FreeItem_Util
add esp, 0x2c
jmp 0x4081ca
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x58]
push 0
push dword [0x437fc0]
push dword [0x43813c]
push dword [esp + 0x34]
push dword [esp + 0x8c]
push edi
push ebp
call fcn.00405280
add esp, 0x24
mov ebx, eax
jmp 0x4081c6
cmp dword [0x437e1c], 0
je 0x408819
push 0
push dword [0x437fc0]
push edi
push ebp
call fcn.0040cb90
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x40875c
push edi
push str.Could_not_find:__s_n
push dword [0x439ae8]
call fcn.0040bfd0
add esp, 0xc
or ebx, 0xffffffff
jmp 0x4081c6
push 1
push 0
push esi
call sub.nss3.dll_CERT_CertChainFromCert
push esi
mov edi, eax
call sub.nss3.dll_CERT_DestroyCertificate
add esp, 0x10
test edi, edi
jne 0x408781
mov edi, dword [esp + 0x2c]
push edi
push str.Could_not_obtain_chain_for:__s_n
jmp 0x408746
mov ebx, dword [edi + 4]
sub ebx, 1
js 0x40880a
lea ecx, [ebx + ebx*2]
shl ecx, 2
mov dword [esp + 0x34], ecx
mov eax, dword [edi]
add eax, ecx
push eax
push ebp
call sub.nss3.dll_CERT_FindCertByDERCert
mov ecx, dword [edi + 4]
add esp, 8
dec ecx
mov ebp, eax
mov esi, ebx
cmp ebx, ecx
jge 0x4087c7
push 0x427448
call fcn.004045a0
mov eax, dword [edi + 4]
inc esi
dec eax
add esp, 4
cmp esi, eax
jl 0x4087b1
test ebp, ebp
je 0x4087e9
push dword [ebp + 4]
push dword [ebp + 0x154]
push str.__s____s__n_n
call fcn.004045a0
push ebp
call sub.nss3.dll_CERT_DestroyCertificate
add esp, 0x10
jmp 0x4087f6
push str._null__n_n
call fcn.004045a0
add esp, 4
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x58]
sub ecx, 0xc
sub ebx, 1
mov dword [esp + 0x34], ecx
jns 0x408797
push edi
call sub.nss3.dll_CERT_DestroyCertificateList
mov edi, dword [esp + 0x30]
jmp 0x4081c1
cmp dword [0x437dcc], 0
je 0x408843
lea eax, [esp + 0x24]
push eax
push 0
push dword [esp + 0x38]
push 0
push edi
push dword [esp + 0x34]
call fcn.00405360
add esp, 0x18
mov ebx, eax
jmp 0x4081c6
cmp dword [0x437e6c], 0
je 0x4088d3
push 0
push 0
push 0
push 0xffffffffffffffff
call sub.nss3.dll_PK11_GetAllTokens
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x408754
mov edi, dword [ebx]
test edi, edi
je 0x4088c4
push dword [edi + 8]
call sub.nss3.dll_PK11_GetTokenURI
push 0x427738
mov esi, eax
call fcn.004045a0
push dword [edi + 8]
call sub.nss3.dll_PK11_GetSlotName
push eax
push str.____slot:__s_n
call fcn.004045a0
push dword [edi + 8]
call sub.nss3.dll_PK11_GetTokenName
push eax
push str.___token:__s_n
call fcn.004045a0
push esi
push str._____uri:__s_n
call fcn.004045a0
push esi
call sub.nssutil3.dll_PORT_Free_Util
mov edi, dword [edi]
add esp, 0x2c
test edi, edi
jne 0x408870
push ebx
call sub.nss3.dll_PK11_FreeSlotList
mov edi, dword [esp + 0x30]
jmp 0x4081c1
cmp dword [0x437d54], 0
je 0x40892c
push edi
push ebp
call sub.nss3.dll_CERT_FindCertByNicknameOrEmailAddr
mov esi, eax
add esp, 8
test esi, esi
jne 0x4088f7
push edi
push str.could_not_find_certificate_named___s_
jmp 0x408746
push esi
call sub.nss3.dll_SEC_DeletePermCertificate
mov ebx, eax
push esi
mov dword [esp + 0x1c], ebx
call sub.nss3.dll_CERT_DestroyCertificate
add esp, 8
test ebx, ebx
je 0x4081ca
push str.unable_to_delete_certificate
push dword [0x439ae8]
call fcn.0040bfd0
add esp, 8
jmp 0x4081ca
cmp dword [0x437ef8], 0
je 0x40898a
push edi
push ebp
call sub.nss3.dll_CERT_FindCertByNicknameOrEmailAddr
mov esi, eax
add esp, 8
test esi, esi
jne 0x408950
push edi
push str.could_not_find_certificate_named___s_
jmp 0x408746
mov ebp, dword [esp + 0x18]
push ebp
push esi
call sub.nss3.dll___PK11_SetCertificateNickname
mov ebx, eax
push esi
mov dword [esp + 0x20], ebx
call sub.nss3.dll_CERT_DestroyCertificate
add esp, 0xc
test ebx, ebx
je 0x4081ce
push str.unable_to_rename_certificate
push dword [0x439ae8]
call fcn.0040bfd0
add esp, 8
jmp 0x4081ce
cmp dword [0x437d7c], 0
je 0x408a4b
call sub.nss3.dll_PK11_GetInternalKeySlot
mov esi, eax
push esi
call sub.nss3.dll_PK11_NeedLogin
add esp, 4
test eax, eax
je 0x4089e1
lea eax, [esp + 0x24]
push eax
push 1
push esi
call sub.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
je 0x4089e1
push esi
call sub.nss3.dll_PK11_GetTokenName
push eax
push str.could_not_authenticate_to_token__s.
push dword [0x439ae8]
call fcn.0040bfd0
add esp, 0x10
or ebx, 0xffffffff
jmp 0x4081c6
lea eax, [esp + 0x24]
push eax
push edi
call sub.nss3.dll_PK11_FindCertFromNickname
mov edi, eax
add esp, 8
test edi, edi
jne 0x408a0a
push esi
call sub.nss3.dll_PK11_FreeSlot
mov edi, dword [esp + 0x30]
add esp, 4
or ebx, 0xffffffff
jmp 0x4081c6
lea eax, [esp + 0x24]
push eax
push edi
call sub.nss3.dll_PK11_DeleteTokenCertAndKey
mov ebx, eax
add esp, 8
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x408a33
push dword [esp + 0x2c]
push str.problem_deleting_private_key___s__n
call fcn.0040bfd0
add esp, 8
push edi
call sub.nss3.dll_CERT_DestroyCertificate
push esi
call sub.nss3.dll_PK11_FreeSlot
mov edi, dword [esp + 0x34]
add esp, 8
jmp 0x4081ca
test ecx, ecx
je 0x408b7c
mov ebx, dword [0x438160]
lea eax, [esp + 0x24]
push eax
push edi
push ebp
call sub.nss3.dll_CERT_FindCertByNicknameOrEmailAddrCX
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x408a7d
mov edi, dword [esp + 0x2c]
push edi
push str.could_not_find_certificate_named___s_
jmp 0x408746
push 0xc
call sub.nssutil3.dll_PORT_ZAlloc_Util
mov esi, eax
add esp, 4
test esi, esi
jne 0x408aac
push str.unable_to_allocate_cert_trust
push dword [0x439ae8]
call fcn.0040bfd0
mov edi, dword [esp + 0x34]
add esp, 8
or ebx, 0xffffffff
jmp 0x4081c6
push ebx
push esi
call sub.nss3.dll_CERT_DecodeTrustString
add esp, 8
test eax, eax
je 0x408ad9
push str.unable_to_decode_trust_string
push dword [0x439ae8]
call fcn.0040bfd0
mov edi, dword [esp + 0x34]
add esp, 8
or ebx, 0xffffffff
jmp 0x4081c6
push esi
push edi
push ebp
call sub.nss3.dll_CERT_ChangeCertTrust
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x408b64
call sub.nssutil3.dll_PORT_GetError_Util
cmp eax, 0xffffe09b
jne 0x408b41
mov ebx, dword [esp + 0x20]
lea eax, [esp + 0x24]
push eax
push 1
push ebx
call sub.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
je 0x408b34
push ebx
call sub.nss3.dll_PK11_GetTokenName
push eax
push str.could_not_authenticate_to_token__s.
push dword [0x439ae8]
call fcn.0040bfd0
mov edi, dword [esp + 0x3c]
add esp, 0x10
or ebx, 0xffffffff
jmp 0x4081c6
push esi
push edi
push ebp
call sub.nss3.dll_CERT_ChangeCertTrust
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x408b64
push str.unable_to_modify_trust_attributes
push dword [0x439ae8]
call fcn.0040bfd0
mov edi, dword [esp + 0x34]
add esp, 8
or ebx, 0xffffffff
jmp 0x4081c6
push edi
call sub.nss3.dll_CERT_DestroyCertificate
push esi
call sub.nssutil3.dll_PORT_Free_Util
mov edi, dword [esp + 0x34]
add esp, 8
jmp 0x4081c4
mov esi, dword [esp + 0x20]
test eax, eax
je 0x408bb1
push dword [0x438214]
push dword [0x438020]
push 0
push 0
push esi
call fcn.0040c5f0
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x40808c
mov edx, dword [0x437e44]
cmp dword [0x437e58], 0
je 0x408bde
cmp dword [0x437f0c], 0
mov eax, 0x4275d3
je 0x408bcd
mov eax, dword [0x437f08]
push eax
push esi
call sub.nss3.dll_PK11_ResetToken
add esp, 8
mov ebx, eax
jmp 0x4081c6
cmp dword [0x437e80], 0
je 0x408c9c
mov eax, dword [0x438010]
test eax, eax
je 0x408c3d
test esi, esi
je 0x408c3d
push esi
call sub.nss3.dll_PK11_NeedLogin
add esp, 4
test eax, eax
je 0x408c38
lea eax, [esp + 0x24]
push eax
push 1
push esi
call sub.nss3.dll_PK11_Authenticate
add esp, 0xc
test eax, eax
je 0x408c38
push esi
call sub.nss3.dll_PK11_GetTokenName
push eax
push str.could_not_authenticate_to_token__s.
push dword [0x439ae8]
call fcn.0040bfd0
add esp, 0x10
jmp 0x4081ca
mov eax, dword [0x438010]
lea ecx, [esp + 0x24]
push ecx
push dword [0x437fc0]
push dword [0x4380b0]
push eax
push dword [0x438174]
push dword [0x437fd0]
push edi
push ebp
call fcn.00407110
mov ebx, eax
add esp, 0x20
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x4081ca
call dword [sym.imp.nspr4.dll_PR_GetError]
cmp eax, 0xffffe005
jne 0x4081ca
push str.validation_failed
push dword [0x439ae8]
call fcn.0040bfd0
add esp, 8
jmp 0x4081ca
cmp dword [0x437e30], 0
jne 0x408cb5
test edx, edx
jne 0x408cb5
cmp dword [0x437d90], edx
je 0x408e5f
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x408de8
push eax
push ebp
call sub.nss3.dll_CERT_FindCertByNicknameOrEmailAddr
mov esi, eax
add esp, 8
test esi, esi
jne 0x408d09
push eax
push dword [esp + 0x40]
call sub.nss3.dll_PK11_FindCertFromNickname
mov esi, eax
add esp, 8
test esi, esi
jne 0x408d09
push dword [esp + 0x3c]
push str._s_is_neither_a_key_type_nor_a_nickname
push dword [0x439ae8]
call fcn.0040bfd0
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret
lea eax, [esp + 0x24]
push eax
push esi
push dword [esp + 0x28]
call sub.nss3.dll_PK11_FindKeyByDERCert
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x408d38
push esi
call sub.nss3.dll_CERT_ExtractPublicKey
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x48], eax
jmp 0x408d3c
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x408d69
push dword [esp + 0x3c]
push str.Could_not_get_keys_from_cert__s
push dword [0x439ae8]
call fcn.0040bfd0
or ebx, 0xffffffff
push esi
mov dword [esp + 0x24], ebx
call sub.nss3.dll_CERT_DestroyCertificate
add esp, 0x10
jmp 0x4081ca
cmp dword [0x437e30], 0
mov eax, dword [ecx + 4]
mov dword [esp + 0x30], eax
je 0x408db8
cmp dword [esp + 0x4c], 0
jne 0x408db8
push dword [esi + 4]
call sub.nss3.dll_CERT_AsciiToName
add esp, 4
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x408db8
push dword [esp + 0x3c]
push str.Could_not_get_subject_from_certificate__s
push dword [0x439ae8]
call fcn.0040bfd0
push esi
call sub.nss3.dll_CERT_DestroyCertificate
add esp, 0x10
or ebx, 0xffffffff
jmp 0x4081c6
push esi
call sub.nss3.dll_CERT_DestroyCertificate
mov esi, dword [esp + 0x14]
add esp, 4
lea eax, [esp + 0x24]
mov dword [esi + 0x14], eax
cmp dword [0x437d90], 0
je 0x408e59
mov ebp, dword [esp + 0x18]
xor ebx, ebx
mov dword [esp + 0x14], ebx
jmp 0x4081d2
lea eax, [esp + 0x24]
push eax
push dword [esp + 0xa8]
mov eax, dword [esp + 0x58]
push eax
push dword [esp + 0xa0]
lea eax, [esp + 0x58]
push dword [0x438124]
push eax
push dword [0x4381ec]
push dword [esp + 0xb4]
push dword [esp + 0xc0]
push esi
push dword [esp + 0x58]
call fcn.0040b0b0
mov esi, eax
add esp, 0x2c
mov dword [esp + 0x10], esi
test esi, esi
jne 0x408dc5
push str.unable_to_generate_key_s__n
push dword [0x439ae8]
call fcn.0040bfd0
mov ebp, dword [esp + 0x20]
add esp, 8
or ebx, 0xffffffff
mov dword [esp + 0x14], ebx
jmp 0x4081d2
mov edx, dword [0x437e44]
mov esi, dword [0x43840c]
test esi, esi
je 0x408ebd
cmp dword [0x437e30], 0
jne 0x408e95
test edx, edx
jne 0x408e95
movsx eax, byte [esp + 0x1c]
push eax
push dword [0x439ae8]
mov eax, dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
push str._s___c:___pss_only_works_with__R_or__S._n
push 2
call eax
jmp 0x40775d
mov eax, dword [esp + 0x30]
cmp eax, 1
je 0x408ec1
movsx eax, byte [esp + 0x1c]
push eax
push dword [0x439ae8]
mov eax, dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
push str._s___c:___pss_only_works_with_RSA_keys._n
push 2
call eax
jmp 0x40775d
mov eax, dword [esp + 0x30]
cmp dword [0x438420], 0
mov ecx, dword [0x437d40]
je 0x408f1b
test ecx, ecx
jne 0x408ef7
test edx, edx
jne 0x408ef7
movsx eax, byte [esp + 0x1c]
push eax
push dword [0x439ae8]
mov eax, dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
push str._s___c:___pss_sign_only_works_with__C_or__S._n
push 2
call eax
jmp 0x40775d
cmp eax, 1
je 0x408f1b
movsx eax, byte [esp + 0x1c]
push eax
push dword [0x439ae8]
mov eax, dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
push str._s___c:___pss_sign_only_works_with_RSA_keys._n
push 2
call eax
jmp 0x40775d
cmp dword [0x437e30], 0
jne 0x408f30
test edx, edx
jne 0x408f30
test ecx, ecx
je 0x409026
mov eax, dword [0x4382cc]
mov dword [0x4384b0], eax
test eax, eax
jne 0x408f4a
mov eax, dword [0x437f20]
mov dword [0x4384b0], eax
jmp 0x408f54
mov eax, dword [0x4382c8]
mov dword [0x4384b4], eax
mov eax, dword [0x437f34]
mov dword [0x4384b8], eax
mov eax, dword [0x4382a4]
mov dword [0x438518], eax
mov eax, dword [0x437f48]
mov dword [0x4384c0], eax
mov eax, dword [0x4382b8]
mov dword [0x438510], eax
mov eax, dword [0x437f5c]
mov dword [0x4384c8], eax
mov eax, dword [0x4382e0]
mov dword [0x4384d0], eax
test eax, eax
jne 0x408fa0
mov eax, dword [0x437f70]
mov dword [0x4384d0], eax
jmp 0x408faa
mov eax, dword [0x4382dc]
mov dword [0x4384d4], eax
mov eax, dword [0x4382f4]
mov dword [0x4384d8], eax
test eax, eax
jne 0x408fc4
mov eax, dword [0x437f84]
mov dword [0x4384d8], eax
jmp 0x408fce
mov eax, dword [0x4382f0]
mov dword [0x4384dc], eax
mov eax, dword [0x4383bc]
mov dword [0x438520], eax
test eax, eax
je 0x408fe6
mov eax, dword [0x4383b8]
mov dword [0x438524], eax
mov eax, dword [0x43822c]
mov dword [0x4384e0], eax
mov eax, dword [0x438240]
mov dword [0x4384e8], eax
mov eax, dword [0x438254]
mov dword [0x4384f0], eax
mov eax, dword [0x438268]
mov dword [0x4384f8], eax
mov eax, dword [0x43827c]
mov dword [0x438500], eax
mov eax, dword [0x438290]
mov dword [0x438508], eax
test ecx, ecx
jne 0x409043
cmp dword [0x437d2c], 0
jne 0x409038
cmp dword [0x437d68], 0
je 0x40907f
lea eax, [esp + 0xb4]
test ecx, ecx
je 0x40904a
lea eax, [esp + 0xa8]
push 1
push dword [0x437fc0]
push dword [esp + 0x78]
push eax
call fcn.0040e490
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x4081ca
mov esi, dword [0x43840c]
mov edx, dword [0x437e44]
mov ecx, dword [0x437d40]
cmp dword [0x437e30], 0
je 0x409102
mov eax, dword [0x4383e4]
lea ecx, [esp + 0xa8]
push ecx
push esi
neg eax
mov esi, dword [esp + 0x18]
sbb eax, eax
and eax, dword [0x4383e0]
push eax
push 0x4384b0
push dword [0x437fa8]
push dword [0x437f94]
push dword [0x437fc0]
push dword [0x4380fc]
push dword [esp + 0x6c]
push dword [esp + 0x5c]
push dword [esp + 0x58]
push dword [esp + 0x74]
push esi
call fcn.00404760
mov ebx, eax
add esp, 0x34
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x4092ef
lea eax, [esp + 0x24]
mov dword [esi + 0x14], eax
mov esi, dword [0x43840c]
mov edx, dword [0x437e44]
mov ecx, dword [0x437d40]
test edx, edx
je 0x409178
mov eax, dword [0x4383e4]
lea ecx, [esp + 0xa8]
push ecx
push esi
mov esi, dword [esp + 0x40]
neg eax
sbb eax, eax
and eax, dword [0x4383e0]
push eax
push 0x438428
push 0
push 0
push 0
push dword [0x4380fc]
push dword [esp + 0x6c]
push esi
push dword [esp + 0x58]
push dword [esp + 0x74]
push dword [esp + 0x40]
call fcn.00404760
mov ebx, eax
add esp, 0x34
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x4081ca
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x24]
mov dword [eax + 0x14], ecx
mov edx, dword [0x437e44]
mov ecx, dword [0x437d40]
test edx, edx
je 0x40917c
jmp 0x409184
mov esi, dword [esp + 0x38]
test ecx, ecx
je 0x409223
mov eax, dword [0x4383e4]
neg eax
sbb eax, eax
and eax, dword [0x4383e0]
cmp dword [0x437fc0], 0
je 0x4091a7
test ecx, ecx
je 0x4091a7
mov ecx, 1
jmp 0x4091a9
xor ecx, ecx
lea edx, [esp + 0xb4]
push edx
push dword [0x438420]
push dword [esp + 0x64]
push eax
push 0x4384b0
push dword [0x4381b4]
lea eax, [esp + 0x3c]
push ecx
push dword [0x437fa8]
push dword [0x437f94]
push dword [esp + 0x64]
push dword [esp + 0x6c]
push dword [esp + 0x60]
push esi
mov esi, dword [esp + 0x54]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0xe4]
push eax
push dword [0x437fe4]
push esi
push ebp
call fcn.00404c80
mov ebx, eax
add esp, 0x4c
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x4081ca
mov edx, dword [0x437e44]
mov ecx, dword [0x437d40]
jmp 0x409227
mov esi, dword [esp + 0x20]
test edx, edx
jne 0x40923b
cmp dword [0x437d2c], edx
jne 0x40923b
cmp dword [0x437d68], edx
je 0x4092a2
push 0x42ba0c
push dword [0x438160]
call fcn.004123b0
add esp, 8
test eax, eax
je 0x40926a
push str.Notice:_Trust_flag_u_is_set_automatically_if_the_private_key_is_present._n
push 2
call fcn.004130d6
add esp, 4
push eax
call fcn.00404480
add esp, 8
lea eax, [esp + 0x24]
push eax
push dword [0x437d68]
lea eax, [esp + 0xbc]
push eax
push dword [0x438160]
push edi
push ebp
push esi
call fcn.004045d0
mov ebx, eax
add esp, 0x1c
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x4081ca
mov ecx, dword [0x437d40]
cmp dword [0x437e30], 0
jne 0x4092b8
test ecx, ecx
je 0x4092eb
lea esi, [esp + 0xb4]
jmp 0x4092bf
lea esi, [esp + 0xa8]
push dword [esi + 8]
push dword [esi + 4]
push dword [esp + 0x5c]
call dword [sym.imp.nspr4.dll_PR_Write]
add esp, 0xc
test eax, eax
js 0x408754
cmp eax, dword [esi + 8]
je 0x4081ca
or ebx, 0xffffffff
jmp 0x4081c6
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
jmp 0x4081d2
push esi
push str.could_not_find_the_slot__s
push dword [0x439ae8]
call fcn.0040bfd0
mov ebp, dword [esp + 0x24]
add esp, 0xc
or ebx, 0xffffffff
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x48]
test eax, eax
je 0x409328
push eax
call sub.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x409339
push eax
call sub.nss3.dll_CERT_DestroyName
add esp, 4
test edi, edi
je 0x409346
push edi
call sub.plc4.dll_PL_strfree
add esp, 4
test ebp, ebp
je 0x409353
push ebp
call sub.plc4.dll_PL_strfree
add esp, 4
mov edi, dword [esp + 0x70]
mov esi, dword [sym.imp.nspr4.dll_PR_Close]
mov ebp, dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
test edi, edi
je 0x409378
push 0
call ebp
add esp, 4
cmp edi, eax
je 0x409378
push edi
call esi
add esp, 4
mov edi, dword [esp + 0x54]
test edi, edi
je 0x409391
push 1
call ebp
add esp, 4
cmp edi, eax
je 0x409391
push edi
call esi
add esp, 4
lea eax, [esp + 0xa8]
push 0
push eax
call sub.nssutil3.dll_SECITEM_FreeItem_Util
lea eax, [esp + 0xbc]
push 0
push eax
call sub.nssutil3.dll_SECITEM_FreeItem_Util
mov eax, dword [esp + 0x38]
add esp, 0x10
test eax, eax
je 0x4093ca
cmp dword [esp + 0x24], 2
jne 0x4093ca
push eax
call sub.plc4.dll_PL_strfree
add esp, 4
mov eax, dword [esp + 0x74]
test eax, eax
je 0x4093db
push eax
call sub.plc4.dll_PL_strfree
add esp, 4
test ebx, ebx
jne 0x40962d
cmp dword [0x437ebc], ebx
je 0x40962d
xor eax, eax
xor edi, edi
xor esi, esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x38], eax
cmp dword [0x438060], eax
je 0x409645
mov eax, dword [0x43805c]
test eax, eax
je 0x409645
push 0x42ba84
push eax
call fcn.00415a0a
add esp, 8
mov dword [esp + 0x5c], eax
test eax, eax
jne 0x409454
call dword [sym.imp.nspr4.dll_PR_GetOSError]
push eax
call dword [sym.imp.nspr4.dll_PR_GetError]
push eax
push dword [0x43805c]
push dword [0x439ae8]
push str._s:__unable_to_open___s__for_reading___ld___ld_._n
push 2
call ebp
jmp 0x407e6e
mov ecx, dword [esp + 0x38]
lea eax, [esi + 0x200]
mov dword [esp + 0x40], 0
mov ebp, 2
cmp eax, ecx
jle 0x409499
add ecx, 0x200
push ecx
push edi
mov dword [esp + 0x40], ecx
call sub.nssutil3.dll_PORT_Realloc_Util
add esp, 8
test eax, eax
je 0x4095f6
mov ecx, dword [esp + 0x38]
mov edi, eax
mov dword [esp + 0x44], edi
mov byte [eax + esi], 0
push dword [esp + 0x5c]
sub ecx, esi
lea eax, [esi + edi]
push ecx
push eax
call fcn.004135bf
add esp, 0xc
test eax, eax
je 0x40961b
push 0xa
push edi
call fcn.00412270
add esp, 8
test eax, eax
je 0x4094c6
mov byte [eax], 0
mov esi, edi
lea ecx, [esi + 1]
jmp 0x4094d0
mov al, byte [esi]
inc esi
test al, al
jne 0x4094d0
sub esi, ecx
je 0x4094eb
cmp byte [esi + edi - 1], 0x5c
jne 0x4094eb
dec esi
mov byte [esi + edi], al
jmp 0x4095ec
push 0xc
call sub.nssutil3.dll_PORT_Alloc_Util
mov ecx, dword [0x439ae8]
mov ebx, eax
push str.__f_n_r_t_v
push edi
mov dword [ebx], ecx
mov dword [ebx + 4], edi
call fcn.00415b60
mov esi, eax
add esp, 0xc
test esi, esi
je 0x409598
movsx eax, byte [esi]
push eax
call fcn.00415fc0
add esp, 4
test eax, eax
je 0x40953b
mov byte [esi], 0
inc esi
movsx eax, byte [esi]
push eax
call fcn.00415fc0
add esp, 4
test eax, eax
jne 0x409527
mov al, byte [esi]
test al, al
je 0x409594
cmp al, 0x22
jne 0x409569
lea edi, [esi + 1]
push 0x22
push edi
call fcn.00411bc0
add esp, 8
test eax, eax
je 0x409561
mov esi, edi
mov byte [eax], 0
lea edi, [eax + 1]
jmp 0x40956b
mov dword [esp + 0x40], 1
mov edi, esi
inc ebp
lea eax, [ebp*4 + 4]
push eax
push ebx
call sub.nssutil3.dll_PORT_Realloc_Util
mov ebx, eax
push str.__f_n_r_t_v
push edi
mov dword [ebx + ebp*4 - 4], esi
call fcn.00415b60
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x409517
mov edi, dword [esp + 0x44]
cmp dword [esp + 0x40], 1
mov dword [ebx + ebp*4], 0
jne 0x4095c3
push edi
push str.Missing_closing_quote_in_batch_command_:_n_s_nNot_executed._n
push 2
call dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
add esp, 4
push eax
call dword [sym.imp.nspr4.dll_PR_fprintf]
add esp, 0xc
jmp 0x4095d3
push 0
push ebx
push ebp
call fcn.004073f0
add esp, 0xc
test eax, eax
je 0x4095da
or eax, 0xffffffff
mov dword [esp + 0x14], eax
push ebx
call sub.nssutil3.dll_PORT_Free_Util
mov ebx, dword [esp + 0x18]
add esp, 4
xor esi, esi
mov byte [edi], 0
test ebx, ebx
je 0x409454
jmp 0x40961b
mov eax, dword [esp + 0x38]
push eax
push dword [0x439ae8]
push str._s:_PORT_Realloc__ld__failed_n
push 2
call dword [sym.imp.nspr4.dll_PR_GetSpecialFD]
add esp, 4
push eax
call dword [sym.imp.nspr4.dll_PR_fprintf]
add esp, 0x10
push edi
call sub.nssutil3.dll_PORT_Free_Util
push dword [esp + 0x60]
call fcn.004158e4
add esp, 8
cmp dword [esp + 0x9c], 1
jne 0x409655
call sub.nss3.dll_NSS_Shutdown
test eax, eax
je 0x409655
jmp 0x409746
push dword [0x439ae8]
push str._s:__no_batch_input_file_specified._n
jmp 0x407900
neg ebx
pop edi
sbb ebx, ebx
pop esi
and ebx, 0xff
pop ebp
mov eax, ebx
pop ebx
add esp, 0xb0
ret
push dword [0x439ae8]
push str._s:_only_one_command_at_a_time__n
push 2
call ebp
mov edi, dword [sym.imp.nspr4.dll_PR_fprintf]
add esp, 4
push eax
call edi
add esp, 0xc
push str.You_entered:
push 2
call ebp
add esp, 4
push eax
call edi
add esp, 8
mov esi, 0x437d20
cmp dword [esi + 0xc], 0
je 0x4096bd
movsx eax, byte [esi]
push eax
push str.___c
push 2
call ebp
add esp, 4
push eax
call edi
add esp, 0xc
add esi, 0x14
cmp esi, 0x437f00
jl 0x4096a1
push 0x427738
push 2
call ebp
add esp, 4
push eax
call edi
add esp, 8
mov eax, 0xff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret
push dword [0x439ae8]
call fcn.004070c0
push dword [0x439ae8]
call fcn.00406ae0
mov edx, dword [edx*4 + 0x437d30]
xor eax, eax
test edx, edx
push edx
setne al
push eax
push dword [0x439ae8]
call fcn.00405ac0
add esp, 0xc
push 1
call fcn.00415ea3
push dword [0x439ae8]
call fcn.004070c0
push dword [0x439ae8]
call fcn.004070c0
push dword [0x439ae8]
call fcn.004070c0
push 1
call fcn.00415ea3
int3