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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xd0
mov eax, dword [0x101d2014]
mov edi, dword [ebp + 8]
xor eax, ebp
mov dword [esp + 0xc8], eax
mov eax, dword [edi + 0x60]
test eax, eax
je 0x1018516a
cmp dword [edi + 0x604], 0
je 0x1018516a
mov dword [edi + 0x604], 0
mov ecx, dword [edi + 0x4ac]
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
lea edx, [ecx - 4]
cmp edx, 0x10
ja case.default.0x10185182
jmp dword [edx*4 + 0x101abb78]
xor eax, eax
xorps xmm0, xmm0
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], eax
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0x80], xmm0
sub esp, 0x20
mov dword [esp + 0x18], eax
mov dword [esp], edi
mov dword [esp + 0x1c], 0x10
mov dword [esp + 4], 0xffffd06d
call fcn.10184c80
add esp, 0x20
xor ebx, ebx
dec ebx
test eax, eax
jne 0x10185733
movzx eax, word [edi + 0x58]
cmp eax, 0x304
jb 0x101851fc
cmp dword [edi + 0x38], 0
je 0x101851fc
cmp dword [edi + 0x60], 0
je 0x10185aaf
xor esi, esi
mov ebx, 0xffffd06d
jmp 0x1018570f
cmp ecx, 0x18
jne case.0x10185182.6
mov dword [esp + 0x80], ebx
mov dword [esp + 0x38], esi
movzx eax, word [edi + 0x58]
cmp eax, 0x304
jb 0x10185662
cmp dword [edi + 0x38], 0
je 0x10185662
sub esp, 0x20
mov dword [esp], edi
mov dword [esp + 0x1c], 0x10
mov dword [esp + 0x18], 0
mov dword [esp + 4], 0xffffd0a9
call fcn.10184c80
add esp, 0x20
test eax, eax
je 0x1018596e
xor esi, esi
mov ebx, 0xffffe001
push esi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x50
jmp 0x1018571b
xor esi, esi
mov ebx, 0xffffd038
jmp 0x1018570f
test eax, eax
je 0x1018566e
test byte [edi + 0x1c], 4
je 0x1018529d
mov eax, dword [edi + 0x48c]
cmp dword [eax + 0xc], 9
jne 0x101852ef
test byte [edi + 0x20], 4
je 0x101852bd
cmp dword [edi + 0x600], 2
jne 0x101852bd
mov ecx, edi
xor edx, edx
call fcn.10186760
test eax, eax
jne 0x10185730
movzx eax, word [edi + 0x58]
cmp eax, 0x304
jb 0x101852ce
cmp dword [edi + 0x38], 0
jne 0x101852ef
push edi
call fcn.10180820
add esp, 4
sub eax, dword [edi + 0x658]
sbb edx, dword [edi + 0x65c]
mov dword [edi + 0x658], eax
mov dword [edi + 0x65c], edx
xor eax, eax
cmp dword [edi + 0x38], 0
mov ecx, edi
setne al
mov edx, dword [edi + eax*8 + 0x5e0]
push ebx
push esi
call fcn.1018ae60
add esp, 8
xor ebx, ebx
dec ebx
test eax, eax
jne 0x10185733
cmp dword [edi + 0x38], 0
je 0x101859fc
xor esi, esi
mov dword [edi + 0x450], esi
push 1
push dword [edi + 0x484]
call sym.nss3.dll_PK11_DestroyContext
add esp, 8
mov dword [edi + 0x484], esi
mov dword [edi + 0x3cc], esi
cmp dword [edi + 0x3c4], esi
je 0x1018536f
push 0
push dword [edi + 0x3c8]
push edi
call fcn.10184b30
add esp, 0xc
test eax, eax
jne 0x10185733
mov dword [edi + 0x3c4], 0
xor ebx, ebx
jmp 0x10185733
xor eax, eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], eax
sub esp, 0x20
mov dword [esp], edi
mov dword [esp + 0x1c], 0x10
mov dword [esp + 0x18], 0xf
mov dword [esp + 4], 0xffffd08e
call fcn.10184c80
add esp, 0x20
xor ebx, ebx
dec ebx
test eax, eax
jne 0x10185733
lea esi, [esp + 0x38]
lea ebx, [esp + 0x20]
lea eax, [esp + 0x14]
push esi
push ebx
push 2
push eax
push edi
call fcn.1015f210
add esp, 0x14
test eax, eax
jne 0x10185730
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x38]
jne 0x10185a53
cmp dword [edi + 0x600], 1
jne 0x10185434
cmp dword [edi + 0x99c], 4
jne 0x10185434
mov eax, dword [edi + 0x998]
mov dword [esp + 0x88], eax
xor eax, eax
movsd xmm0, qword [edi + 0x990]
movsd qword [esp + 0x80], xmm0
mov dword [edi + 0x994], eax
mov dword [edi + 0x99c], eax
push esi
push ebx
push edi
call fcn.101703c0
add esp, 0xc
test eax, eax
jne 0x10185730
push 8
push edi
call fcn.10170580
add esp, 8
test eax, eax
mov ebx, 0xffffffff
jne 0x10185733
push 0x2a
push edi
call fcn.10170340
add esp, 8
test eax, eax
je 0x10186063
cmp dword [edi + 0x9f0], 0
jne 0x101854a3
xor esi, esi
mov ebx, 0xffffd092
push esi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x2f
push 2
push edi
call fcn.1015f2c0
add esp, 0xc
push esi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
lea eax, [edi + 0x990]
lea esi, [esp + 0x80]
mov dword [edi + 0x600], 2
push eax
push esi
call sym.nss3.dll_SECITEM_CompareItem_Util
add esp, 8
test eax, eax
je 0x101860ee
xor ebx, ebx
push ebx
push esi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
mov esi, 0xffffd074
push ebx
push esi
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x2f
push 2
push edi
call fcn.1015f2c0
add esp, 0xc
push ebx
xor ebx, ebx
dec ebx
push esi
jmp 0x10185d25
xor ecx, ecx
test eax, eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], ecx
je 0x10185696
test byte [edi + 0x20], 4
je 0x1018553c
cmp dword [edi + 0x600], 2
jne 0x1018553c
mov ecx, edi
xor edx, edx
call fcn.10186760
test eax, eax
jne 0x10185730
cmp dword [edi + 0x3cc], 0
je 0x1018574b
sub esp, 0x20
mov dword [esp], edi
mov dword [esp + 0x1c], 0x10
mov dword [esp + 0x18], 0
jmp 0x10185761
mov ecx, edi
mov edx, ebx
call fcn.10186760
mov ecx, dword [esp + 0xc8]
mov esi, eax
xor ecx, ebp
call fcn.10192ef0
mov eax, esi
jmp 0x10185743
xor eax, eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], eax
cmp dword [edi + 0x1c], eax
js 0x101856c9
sub esp, 0x20
mov dword [esp], edi
mov dword [esp + 0x1c], 0x10
mov dword [esp + 0x18], 0xc
mov dword [esp + 4], 0xffffd02e
call fcn.10184c80
add esp, 0x20
jmp 0x101856f7
mov dword [esp + 0x14], ebx
mov dword [esp + 0x34], esi
xor eax, eax
mov esi, dword [edi + 0x9e4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], eax
sub esp, 0x20
mov dword [esp], edi
mov dword [esp + 0x1c], 0x10
mov dword [esp + 0x18], 5
mov dword [esp + 4], 0xffffd030
call fcn.10184c80
add esp, 0x20
test eax, eax
jne 0x10185730
lea eax, [esp + 0x38]
mov dword [esp + 4], esi
push eax
push edi
call fcn.10188d80
add esp, 8
test eax, eax
jne 0x10185730
cmp dword [edi + 0x38], 0
je 0x10185a5f
push ebx
push dword [ebp + 0xc]
push 0xf
push edi
call fcn.10167ad0
jmp 0x10185a6b
xor esi, esi
mov ebx, 0xffffd0a9
jmp 0x1018570f
mov edx, dword [edi + 0x5e4]
mov ecx, edi
push ebx
push esi
call fcn.1018ae60
add esp, 8
test eax, eax
jne 0x10185730
push edi
call fcn.1018af30
add esp, 4
jmp 0x1018556d
sub esp, 0x24
mov dword [esp], edi
mov dword [esp + 0x20], 0x10
mov dword [esp + 0x1c], 0xa
mov dword [esp + 0x18], 0xc
mov dword [esp + 4], 0xffffd02c
call fcn.10184c80
add esp, 0x24
jmp 0x10185771
sub esp, 0x24
mov dword [esp], edi
mov dword [esp + 0x20], 0x10
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0xc
mov dword [esp + 4], 0xffffd02e
call fcn.10184c80
add esp, 0x24
test eax, eax
jne 0x10185730
cmp dword [edi + 0x80], 9
jne 0x101857c5
xor esi, esi
mov ebx, 0xffffd02e
push esi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
push 0xa
push 2
push edi
call fcn.1015f2c0
add esp, 0xc
push esi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
xor ebx, ebx
dec ebx
mov ecx, dword [esp + 0xc8]
xor ecx, ebp
call fcn.10192ef0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
sub esp, 0x20
mov dword [esp], edi
mov dword [esp + 0x1c], 0x10
mov dword [esp + 0x18], 3
mov dword [esp + 4], 0xffffd02c
call fcn.10184c80
add esp, 0x20
test eax, eax
jne 0x10185730
cmp dword [edi + 0x60], 0
je 0x1018579a
cmp dword [edi + 0x9f8], 1
jne 0x1018579a
push 0
push 1
push edi
call fcn.10183aa0
add esp, 0xc
push edi
call fcn.1015e020
add esp, 4
cmp dword [edi + 0x38], 0
je 0x101858d3
push ebx
push esi
push 0xb
push edi
call fcn.10167ad0
add esp, 0x10
test eax, eax
je 0x101858fa
push 0
push 0xffffe001
jmp 0x10185728
movzx eax, word [edi + 0x58]
cmp eax, 0x304
jb 0x1018587f
cmp dword [edi + 0x38], 0
je 0x1018587f
push dword [edi + 0x47c]
call fcn.10113360
add esp, 4
test eax, eax
mov dword [edi + 0x484], eax
je 0x10185c2f
push ebx
push esi
push 0xd
push edi
call fcn.10167ad0
add esp, 0x10
test eax, eax
jne 0x1018525f
mov eax, dword [edi + 0x3d8]
test eax, eax
je 0x1018582d
xor esi, esi
push esi
push dword [eax + 8]
call sym.nss3.dll_PORT_FreeArena_Util
add esp, 8
mov dword [edi + 0x3d8], esi
mov eax, dword [edi + 0x3d0]
test eax, eax
je 0x1018584a
push eax
call sym.nss3.dll_CERT_DestroyCertificate
add esp, 4
mov dword [edi + 0x3d0], 0
mov eax, dword [edi + 0x3d4]
test eax, eax
je 0x10185867
push eax
call sym.nss3.dll_SECKEY_DestroyPrivateKey
add esp, 4
mov dword [edi + 0x3d4], 0
xor esi, esi
lea eax, [edi + 0x974]
push esi
push eax
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
mov dword [edi + 0x978], esi
lea ebx, [esp + 0x20]
lea esi, [esp + 0x14]
lea eax, [esp + 0x80]
push ebx
push esi
push 1
push eax
push edi
call fcn.10161c80
add esp, 0x14
test eax, eax
jne 0x10185730
movzx eax, word [edi + 0x58]
cmp eax, 0x304
jb 0x101858b9
cmp dword [edi + 0x38], 0
jne 0x10185afb
cmp dword [esp + 0x88], 0
je 0x10185afb
xor esi, esi
mov ebx, 0xffffd020
jmp 0x10185cf2
cmp dword [edi + 0x60], 0
je 0x101858fa
push edi
call fcn.10180820
add esp, 4
sub eax, dword [edi + 0x658]
sbb edx, dword [edi + 0x65c]
mov dword [edi + 0x658], eax
mov dword [edi + 0x65c], edx
lea eax, [esp + 0x34]
lea ebx, [esp + 0x30]
lea esi, [esp + 0x20]
push eax
push ebx
push 1
push esi
push edi
call fcn.10161c80
add esp, 0x14
test eax, eax
jne 0x10185730
cmp dword [edi + 0x3cc], 0
je 0x10185939
lea eax, [edi + 0x974]
push eax
push esi
call sym.nss3.dll_SECITEM_CompareItem_Util
add esp, 8
test eax, eax
jne 0x10185962
lea ecx, [esp + 0x34]
lea eax, [esp + 0x14]
push ecx
push ebx
push 3
push eax
push edi
call fcn.10161c80
add esp, 0x14
test eax, eax
jne 0x10185730
cmp dword [esp + 0x34], 0
je 0x10185d71
xor esi, esi
mov ebx, 0xffffd01e
jmp 0x10185cf2
lea eax, [esp + 0x80]
lea ecx, [esp + 0x38]
lea edx, [esp + 0x20]
push eax
push ecx
push 1
push edx
push edi
call fcn.1015f210
add esp, 0x14
xor ebx, ebx
dec ebx
test eax, eax
jne 0x10185733
cmp dword [esp + 0x80], 0
jne 0x10185c07
cmp dword [esp + 0x20], 2
jae 0x10185c07
xor edx, edx
mov ecx, edi
inc edx
call fcn.10184520
test eax, eax
jne 0x10185733
cmp dword [esp + 0x20], 1
jne 0x1018536f
cmp dword [edi + 0x3cc], 0
je 0x10186243
mov dword [edi + 0x3c4], 1
mov dword [edi + 0x3c8], 0
mov dword [edi + 0x3c0], 1
jmp 0x1018536f
test byte [edi + 0x1c], 4
je 0x10185a0e
mov eax, dword [edi + 0x48c]
cmp dword [eax + 0xc], 9
jne 0x10185a20
cmp dword [edi + 0x600], 4
je 0x10185a20
push edi
call fcn.1015e020
add esp, 4
mov ecx, edi
mov edx, 3
push 0
push 1
call fcn.101846e0
add esp, 8
test eax, eax
je 0x10185b29
xor esi, esi
mov ebx, 0xffffe001
push esi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x50
jmp 0x10185c1a
xor esi, esi
mov ebx, 0xffffd092
jmp 0x10185cf2
push ebx
push dword [ebp + 0xc]
push 0xf
push edi
call fcn.10167890
add esp, 0x10
test eax, eax
mov ebx, 0xffffffff
je 0x10185a83
push 0
push 0xffffe001
jmp 0x10185d25
lea eax, [esp + 0x30]
lea ebx, [esp + 0x34]
lea ecx, [esp + 0x14]
push eax
push ecx
push ebx
push edi
call fcn.10162320
add esp, 0x10
test eax, eax
je 0x10185c75
xor esi, esi
mov ebx, 0xffffd022
jmp 0x10185cf2
push edi
call fcn.10180820
add esp, 4
lea ecx, [esp + 0x88]
lea esi, [esp + 0x34]
lea ebx, [esp + 0x30]
mov dword [ecx - 4], edx
mov dword [ecx - 8], eax
push esi
push ebx
push 4
push ecx
push edi
call fcn.1015f210
add esp, 0x14
test eax, eax
je 0x10185cba
xor esi, esi
mov ebx, 0xffffd06e
push esi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x32
jmp 0x1018571b
lea eax, [esp + 0x38]
push ebx
push esi
push 2
push eax
push edi
call fcn.10161c80
add esp, 0x14
test eax, eax
jne 0x10185730
cmp dword [esp + 0x20], 0
je 0x10185f9f
xor esi, esi
mov ebx, 0xffffd020
jmp 0x10185aea
cmp dword [edi + 0x9f8], 1
jne 0x10185b69
push 0
push 1
push edi
call fcn.10183aa0
add esp, 0xc
mov esi, dword [edi + 0x5bc]
cmp dword [0x101d4d40], 0
je 0x10186748
call dword [sym.imp.winmm.dll_timeGetTime]
mov dword [esi + 8], eax
mov dword [esi + 0xc], 0x7530
mov dword [esi + 4], 0x1015ce30
mov edx, dword [edi + 0x5d0]
lea eax, [edi + 0x5d4]
xor esi, esi
mov ecx, edi
push eax
push esi
push str.res_master
push esi
call fcn.1018a5a0
add esp, 0x10
mov ebx, eax
push dword [edi + 0x5d0]
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
test ebx, ebx
mov dword [edi + 0x5d0], esi
jne 0x10185730
mov ecx, edi
call fcn.1018b1e0
test eax, eax
mov ebx, 0xffffffff
jne 0x10185733
mov eax, dword [edi + 0x1c]
bt eax, 0xa
jb 0x10185bd5
push dword [edi + 0x168]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
mov eax, dword [edi + 0x1c]
bt eax, 0xb
jae 0x10185be8
cmp dword [edi + 0x80], 9
jne 0x1018619b
xor ebx, ebx
bt eax, 0xa
jb 0x10185733
push dword [edi + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
jmp 0x10185733
xor esi, esi
mov ebx, 0xffffd0aa
push esi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x32
push 2
push edi
call fcn.1015f2c0
add esp, 0xc
push esi
push ebx
xor ebx, ebx
dec ebx
jmp 0x10185d25
call sym.nss3.dll_PR_GetCurrentThread
mov eax, dword [eax + 0x28]
cmp eax, 0xffffe022
jg 0x10185d03
lea ecx, [eax + 0x2000]
mov ebx, 0xffffffff
cmp ecx, 3
jb 0x10185d1e
lea ecx, [eax + 0x2ffa]
cmp ecx, 2
jb 0x10185d1e
cmp eax, 0xffffd05a
je 0x10185d1e
jmp 0x10185733
push edi
call fcn.10191470
add esp, 4
test eax, eax
je 0x10185d32
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 4]
cmp eax, dword [ecx + 4]
jne 0x10185ceb
cmp eax, dword [edi + 0x88]
jne 0x10185ceb
push ecx
push edi
mov edi, ecx
call fcn.101915d0
add esp, 8
test eax, eax
jne 0x10185730
mov eax, dword [edi + 0x14]
mov edi, dword [ebp + 8]
jmp 0x10185d3a
mov dword [esp + 0x98], 0
lea eax, [esp + 0x2c]
push esi
push ebx
push 4
push eax
push edi
call fcn.10161b70
add esp, 0x14
test eax, eax
je 0x10185efc
push 0
push 0xffffd06e
jmp 0x10185728
xor esi, esi
mov ebx, 0xffffd0b6
push esi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x2f
jmp 0x1018571b
cmp eax, 0xffffe023
mov ebx, 0xffffffff
je 0x10185d1e
test eax, eax
je 0x10185d1e
cmp eax, 0xffffe899
jne 0x10185733
push 0
push 0xffffd04a
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10185733
mov eax, 0xd4
add eax, dword [edi + 0x78]
mov dword [esp + 4], eax
push eax
push dword [esp + 0x34]
push edi
call fcn.101621e0
add esp, 0xc
test eax, eax
je 0x10186086
call sym.nss3.dll_PR_GetCurrentThread
xor esi, esi
push esi
push dword [eax + 0x28]
call sym.nss3.dll_PR_SetError
add esp, 8
call sym.nss3.dll_PR_GetCurrentThread
mov ebx, dword [eax + 0x28]
jmp 0x10185cfc
cmp dword [esp + 0x1c], 0
je 0x101860bf
push edi
call fcn.10161430
add esp, 4
push 0x800
call sym.nss3.dll_PORT_NewArena_Util
add esp, 4
test eax, eax
mov dword [edi + 0x3e4], eax
je 0x1018614b
cmp dword [esp + 0x1c], 0
je 0x10185ee5
lea eax, [edi + 0x94c]
lea ebx, [esp + 0x1c]
lea esi, [esp + 0x18]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
push ebx
push esi
push 3
lea eax, [esp + 0x8c]
push eax
push edi
call fcn.10161c80
add esp, 0x14
test eax, eax
jne 0x1018641f
push ebx
push esi
push 2
lea eax, [esp + 0x44]
push eax
push edi
call fcn.10161c80
add esp, 0x14
test eax, eax
jne 0x1018641f
test byte [esp + 4], 1
jne 0x10185e2e
cmp dword [edi + 0x60], 0
jne 0x10185e2e
push 0xb
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x44]
push eax
push edi
call fcn.10170820
add esp, 0x10
test eax, eax
jne 0x1018641f
mov esi, ebx
push 1
xor eax, eax
push eax
push eax
lea eax, [esp + 0x8c]
push eax
push dword [edi + 0x178]
call sym.nss3.dll_CERT_NewTempCertificate
add esp, 0x14
test eax, eax
je 0x101862b9
test byte [esp + 4], 1
mov ebx, eax
je 0x10185e8a
push 8
push dword [edi + 0x3e4]
call sym.nss3.dll_PORT_ArenaAlloc_Util
add esp, 8
test eax, eax
je 0x1018614b
mov ecx, dword [esp + 8]
mov dword [eax + 4], ebx
mov dword [eax], 0
test ecx, ecx
je 0x10185ec4
mov dword [ecx], eax
jmp 0x10185eca
mov dword [edi + 0x78], ebx
cmp dword [edi + 0x954], 0
je 0x10185ece
mov eax, dword [edi + 0xc4]
mov ecx, 0xf8
add eax, ecx
push dword [esp + 0xc]
push eax
xor ebx, ebx
push ebx
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
mov dword [edi + 0x954], ebx
test eax, eax
mov ebx, esi
je 0x10185ed0
jmp 0x1018614b
mov dword [edi + 0x3e8], eax
mov dword [esp + 8], eax
mov ebx, esi
cmp dword [esp + 0x1c], 0
mov al, 1
lea esi, [esp + 0x18]
mov dword [esp + 4], eax
jne 0x10185dcd
mov ecx, dword [edi + 0x78]
test ecx, ecx
je 0x1018620d
xor edx, edx
call fcn.100f96d0
jmp 0x1018621c
push dword [esp + 0x2c]
call sub.wsock32.dll_ntohl
mov dword [esp + 0x90], eax
lea eax, [esp + 0x20]
push esi
push ebx
push 1
push eax
push edi
call fcn.10161c80
add esp, 0x14
test eax, eax
jne 0x10185ae3
lea eax, [esp + 0x14]
push esi
push ebx
push 2
push eax
push edi
call fcn.10161c80
add esp, 0x14
test eax, eax
jne 0x10185ae3
cmp dword [esp + 0x1c], 0
je 0x10185ae3
lea eax, [esp + 0x38]
push esi
push ebx
push 2
push eax
push edi
call fcn.10161c80
add esp, 0x14
or eax, dword [esp + 0x34]
jne 0x10185f82
lea eax, [esp + 0x40]
lea ecx, [esp + 0x3c]
push 4
push eax
push ecx
push dword [ebp + 8]
call fcn.10170820
add esp, 0x10
test eax, eax
je 0x1018642e
xor esi, esi
mov ebx, 0xffffd06e
push esi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x32
push 2
push dword [ebp + 8]
jmp 0x1018571e
lea eax, [esp + 0x40]
lea ecx, [esp + 0x3c]
push 0xd
push eax
push ecx
push edi
call fcn.10170820
add esp, 0x10
test eax, eax
jne 0x10185730
cmp dword [edi + 0x960], 0
je 0x101861f5
lea ecx, [esp + 0x80]
lea eax, [edi + 0x974]
push ecx
push eax
push 0
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
test eax, eax
mov ebx, 0xffffffff
jne 0x10185733
mov dword [edi + 0x620], 1
cmp dword [edi + 0x38], 0
je 0x10186378
mov ecx, dword [ebp + 8]
mov dword [esp + 0x34], 0x100
lea eax, [ecx + 0x980]
push eax
push dword [ecx + 0x960]
push dword [ecx + 0x95c]
push ecx
call fcn.10164940
add esp, 0x10
test eax, eax
je 0x1018638a
mov ebx, eax
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
mov edi, 0xffffe001
mov esi, 0x50
push esi
push 2
push dword [ebp + 8]
call fcn.1015f2c0
add esp, 0xc
push 0
push edi
jmp 0x10185d25
cmp dword [edi + 0x600], 1
jne 0x10186102
mov dword [edi + 0x600], 3
mov dword [edi + 0x604], 1
jmp 0x10186102
push dword [esp + 0x30]
call fcn.10161d60
add esp, 4
lea esi, [esp + 0x80]
lea edx, [esp + 0x38]
mov ecx, edi
push esi
push 0
push eax
call fcn.101889a0
add esp, 0xc
test eax, eax
je 0x10186157
xor esi, esi
mov ebx, 0xffffd07f
jmp 0x10185266
cmp dword [edi + 0x60], 0
je 0x101861dd
push edi
call fcn.10161340
add esp, 4
test eax, eax
mov ebx, 0xffffffff
jne 0x10185733
mov dword [edi + 0x450], 0x87
jmp 0x1018536f
movzx eax, word [edi + 0x490]
cmp ax, word [edi + 0x608]
jne 0x10186183
xor ebx, ebx
lea eax, [esp + 0x80]
push ebx
push eax
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
mov eax, dword [edi + 0x48c]
xor ecx, ecx
cmp dword [eax + 0xc], 9
setne cl
lea eax, [ecx + ecx*4 + 0x87]
mov dword [edi + 0x450], eax
lea eax, [edi + 0x650]
push eax
call fcn.10190cc0
add esp, 4
mov dword [edi + 0x9f0], ebx
jmp 0x10185733
xor esi, esi
mov ebx, 0xffffe013
jmp 0x10185266
lea ecx, [esp + 0x14]
lea eax, [esp + 0x20]
push ecx
push ebx
push 2
mov esi, eax
push eax
push edi
call fcn.10161c80
add esp, 0x14
test eax, eax
je 0x1018622c
push 0
push 0xffffd022
jmp 0x10185728
xor esi, esi
mov ebx, 0xffffd092
push esi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x2f
jmp 0x10185c1a
mov ecx, edi
xor edx, edx
push 0
call fcn.101894d0
add esp, 4
test eax, eax
jne 0x101861c0
push 0
push edi
call fcn.10161250
add esp, 8
test eax, eax
je 0x10186370
test byte [edi + 0x1d], 4
jne 0x10185730
push dword [edi + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
jmp 0x10185730
xor esi, esi
mov ebx, 0xffffd01e
push esi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x2a
jmp 0x1018571b
xor esi, esi
mov ebx, 0xffffd09d
push esi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x6d
jmp 0x1018571b
push 0
push 0xffffe005
call sym.nss3.dll_PR_SetError
add esp, 8
push edi
call fcn.10166a60
add esp, 4
mov ebx, eax
jmp 0x10185733
cmp dword [esp + 0x14], 0
je 0x101862fd
xor esi, esi
mov ebx, 0xffffd022
jmp 0x10185aea
cmp dword [edi + 0x3c0], 0
je 0x1018629f
mov eax, dword [edi + 0x1c]
bt eax, 0xa
jb 0x10186269
mov esi, dword [ebp + 8]
push dword [esi + 0x174]
call fcn.1013e010
add esp, 4
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp + 8]
bt eax, 0xa
mov ecx, dword [ecx + 0x3b8]
mov esi, dword [ecx + 0x58]
mov ebx, dword [ecx + 0x5c]
jb 0x1018628f
mov eax, dword [ebp + 8]
push dword [eax + 0x174]
call fcn.1013e0d0
add esp, 4
mov edi, dword [ebp + 8]
or esi, ebx
mov ebx, 0xffffffff
je 0x101859ed
xor eax, eax
push eax
push eax
push edi
call fcn.10184b30
add esp, 0xc
test eax, eax
jne 0x10185733
jmp 0x101859ed
call sym.nss3.dll_PR_GetCurrentThread
mov esi, dword [eax + 0x28]
lea eax, [esi + 0x1fee]
cmp eax, 2
jb 0x101862d8
cmp esi, 0xffffe890
jne 0x10186415
xor ebx, ebx
push ebx
push esi
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x50
push 2
push edi
call fcn.1015f2c0
add esp, 0xc
push ebx
push esi
call sym.nss3.dll_PR_SetError
jmp 0x1018641c
mov ecx, dword [esp + 4]
call fcn.100f9910
test eax, eax
je 0x1018648e
mov ebx, eax
push esi
lea eax, [esp + 0x84]
push eax
push dword [esp + 0x38]
push ebx
push edi
call fcn.1015f820
add esp, 0x14
test eax, eax
je 0x101864cf
call sym.nss3.dll_PR_GetCurrentThread
push 0
push dword [eax + 0x28]
call sym.nss3.dll_PR_SetError
add esp, 8
call sym.nss3.dll_PR_GetCurrentThread
mov esi, dword [eax + 0x28]
mov eax, 0x33
push eax
push 2
push edi
call fcn.1015f2c0
add esp, 0xc
push 0
push esi
call sym.nss3.dll_PR_SetError
add esp, 8
push ebx
call sym.nss3.dll_SECKEY_DestroyPublicKey
jmp 0x101861d5
mov eax, dword [edi + 0x1c]
jmp 0x10185be8
mov eax, dword [ebp + 8]
mov dword [eax + 0x450], 0x8a
jmp 0x1018536f
mov eax, dword [ebp + 8]
test byte [eax + 0x1d], 4
jne 0x101863a4
mov eax, dword [ebp + 8]
push dword [eax + 0x168]
call sym.nss3.dll_PR_EnterMonitor
add esp, 4
mov edi, dword [ebp + 8]
xor edx, edx
lea eax, [esp + 0x34]
cmp dword [edi + 0x3dc], 0
mov ecx, edi
sete dl
push eax
call fcn.1018a740
add esp, 4
test byte [edi + 0x1d], 4
mov esi, eax
jne 0x101863db
mov eax, dword [ebp + 8]
push dword [eax + 0x168]
call sym.nss3.dll_PR_ExitMonitor
add esp, 4
test esi, esi
je 0x10186528
mov esi, dword [esp + 0x34]
call sym.nss3.dll_PR_GetCurrentThread
push 0
push dword [eax + 0x28]
call sym.nss3.dll_PR_SetError
add esp, 8
cmp esi, 0x100
je 0x10185730
call sym.nss3.dll_PR_GetCurrentThread
mov edi, dword [eax + 0x28]
xor ebx, ebx
dec ebx
jmp 0x1018604d
push esi
push edi
call fcn.101614b0
add esp, 8
mov dword [edi + 0x954], 0
jmp 0x10185730
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x940]
test eax, eax
je 0x1018644a
or byte [esp + 0x8c], 1
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 8]
cmp byte [eax + 0x1c], 0
js 0x1018536f
lea ecx, [esp + 0x14]
lea eax, [esp + 0x98]
push ecx
push eax
push 0
call sym.nss3.dll_SECITEM_CopyItem_Util
add esp, 0xc
test eax, eax
je 0x1018656c
xor esi, esi
mov ebx, 0xffffe013
push esi
push ebx
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x50
jmp 0x10185f95
call sym.nss3.dll_PR_GetCurrentThread
mov eax, dword [eax + 0x28]
cmp eax, 0xffffe022
jg 0x1018654a
lea ecx, [eax + 0x2000]
cmp ecx, 3
jb 0x10186560
lea ecx, [eax + 0x2ffa]
cmp ecx, 2
jb 0x10186560
cmp eax, 0xffffd05a
je 0x10186560
jmp 0x10185730
cmp dword [edi + 0x60], 0
je 0x10186618
cmp dword [edi + 0x620], 0
je 0x1018660a
lea eax, [edi + 0x980]
push eax
push dword [edi + 0x960]
push dword [edi + 0x95c]
push edi
call fcn.10164940
add esp, 0x10
test eax, eax
je 0x1018660a
push 0
push 0xffffe001
call sym.nss3.dll_PR_SetError
add esp, 8
mov esi, 0xffffe001
mov eax, 0x50
jmp 0x1018634e
push 1
mov esi, dword [ebp + 8]
push dword [esi + 0x484]
call sym.nss3.dll_PK11_DestroyContext
add esp, 8
mov dword [esi + 0x484], 0
jmp 0x1018536f
cmp eax, 0xffffe023
je 0x10186560
test eax, eax
je 0x10186560
cmp eax, 0xffffe899
jne 0x10185730
push 0
push 0xffffd043
jmp 0x10185728
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0xc4]
mov eax, dword [ebx + 4]
cmp eax, 4
je 0x10186582
cmp eax, 1
jne 0x101865e1
push 0
push dword [ebp + 8]
call fcn.10163760
add esp, 8
test eax, eax
je 0x10185730
mov ebx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc4]
mov esi, dword [eax + 0x18]
test esi, esi
je 0x101866b1
push esi
call fcn.10106d10
add esp, 4
test eax, eax
je 0x101865be
lock inc dword [eax + 4]
mov dword [ebx + 0x18], esi
mov esi, dword [ebp + 8]
push esi
call fcn.10178740
add esp, 4
push dword [esi + 0xc4]
call fcn.101775c0
add esp, 4
mov dword [esi + 0xc4], ebx
lea eax, [esp + 0x80]
push eax
push ebx
call fcn.10178910
add esp, 8
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x494]
mov edi, dword [eax + 0x9f8]
test ebx, ebx
je 0x1018666c
lea edx, [ebx + 0x10]
jmp 0x1018667c
push ebx
call sym.nss3.dll_SECKEY_DestroyPublicKey
add esp, 4
jmp 0x101860df
push dword [esp + 0x30]
call fcn.1015f730
add esp, 4
mov dword [edi + 0x80], eax
mov esi, dword [edi + 0x84]
push ebx
push edi
call fcn.10166db0
add esp, 8
test eax, eax
jne 0x10186365
cmp esi, dword [edi + 0x84]
je 0x101864d9
push 0
push 0xffffd0b6
call sym.nss3.dll_PR_SetError
add esp, 8
mov esi, 0xffffd0b6
mov eax, 0x2f
jmp 0x1018634e
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x9f0]
test edx, edx
je 0x101866c3
add edx, 0x20
xor ecx, ecx
cmp dword [edx], 5
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
sete cl
mov dword [esp + 4], eax
shl ecx, 4
or ecx, 0x20
test ebx, ebx
je 0x1018669f
mov ebx, dword [ebx + 0x10]
jmp 0x101866da
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x9f0]
test ebx, ebx
je 0x101866d8
mov ebx, dword [ebx + 0x20]
jmp 0x101866da
mov dword [ebx + 0x18], 0
push ebx
call fcn.101775c0
jmp 0x101861d5
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
xor ebx, ebx
mov ecx, 0x20
mov dword [esp + 4], eax
jmp 0x101866da
xor ebx, ebx
lea eax, [esp + 0x10]
mov edx, 0x402a
push eax
push edi
push ecx
push edx
push 0xa
push str.resumption
push esi
push dword [esp + 0x20]
push ebx
mov eax, dword [ebp + 8]
push dword [eax + 0x5d4]
push edx
call fcn.10190400
add esp, 0x2c
test eax, eax
jne 0x10185730
mov esi, dword [esp + 0x10]
push esi
mov eax, dword [ebp + 8]
push dword [eax + 0xc4]
push eax
call fcn.101676b0
add esp, 0xc
mov ebx, eax
push esi
call sym.nss3.dll_PK11_FreeSymKey
add esp, 4
test ebx, ebx
jne 0x10185730
push dword [ebp + 8]
call fcn.10177fd0
add esp, 4
jmp 0x1018536f
call fcn.100da0a0
jmp 0x10185b52