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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x100
mov ebx, dword [ebp + 8]
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [esp + 0xf8], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], eax
push 0xfe0d
push ebx
call fcn.10104b80
add esp, 8
mov edi, 0
test eax, eax
je 0x10122ec3
add eax, 0xc
lea esi, [ebx + 0x71c]
push eax
push esi
push ebx
call fcn.10125860
add esp, 0xc
xor edi, edi
test eax, eax
jne 0x10122f1a
mov dword [esp + 0x14], esi
xor edi, edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x68], edi
mov eax, dword [ebx + 0xa20]
test eax, eax
je 0x10122eb9
cmp dword [eax + 0x38], 0
je 0x10122fbe
mov dword [ebx + 0x688], 1
or byte [ebx + 0x54c], 0x10
cmp dword [ebx + 0x684], 0
je 0x10122fa4
mov ecx, dword [edi + 4]
lea eax, [esp + 0xc4]
mov dword [eax], ecx
mov dword [esp + 0x10], edi
mov ecx, dword [edi + 8]
lea edx, [esp + 0xe0]
mov dword [edx], ecx
lea ecx, [esp + 0x20]
lea esi, [esp + 0x30]
lea edi, [esp + 0x40]
push ecx
push esi
push edi
lea ecx, [esp + 0x5c]
push ecx
push edx
push eax
push ebx
call fcn.100f91f0
add esp, 0x1c
test eax, eax
je 0x10122f2a
mov edi, dword [esp + 0x10]
push 1
push edi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
xor esi, esi
dec esi
jmp 0x10122fa6
push 0x2b
push ebx
call fcn.10104b80
add esp, 8
test eax, eax
mov edi, dword [ebp + 0x14]
je 0x1012301e
push eax
push ebx
call fcn.1011f890
add esp, 8
test eax, eax
jne 0x10122f16
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
mov ecx, dword [ebp + 0x1c]
movsd xmm0, qword [esp + 0x20]
movsd qword [eax], xmm0
mov eax, dword [esp + 0x48]
mov dword [ecx + 8], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [ecx], xmm0
mov eax, dword [esp + 0x58]
mov dword [edi + 8], eax
mov eax, dword [ebp + 0x20]
movsd xmm0, qword [esp + 0x50]
movsd qword [edi], xmm0
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x30]
movsd qword [eax], xmm0
mov eax, dword [ebp + 0x24]
mov ecx, dword [esp + 0x10]
mov dword [eax], ecx
xor esi, esi
mov ecx, dword [esp + 0xf8]
xor ecx, ebp
call fcn.10156ff0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [ebx + 0x620], 0
je 0x10123103
mov dword [ebx + 0x688], 1
push 0x2c
push ebx
call fcn.10104b80
add esp, 8
test eax, eax
je 0x101231ae
mov ecx, dword [eax + 0x10]
lea edx, [esp + 0x94]
mov dword [edx], ecx
mov eax, dword [eax + 0x14]
lea ecx, [esp + 0x88]
mov dword [ecx], eax
lea eax, [esp + 0x60]
push ecx
push edx
push 2
push eax
push ebx
call fcn.100f5a30
add esp, 0x14
test eax, eax
je 0x1012304b
xor esi, esi
dec esi
jmp 0x101231cb
xor esi, esi
mov edi, 0xffffd009
push esi
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x2f
push 2
push ebx
call fcn.100f2eb0
add esp, 0xc
push esi
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10122f16
xor esi, esi
lea eax, [esp + 0xc4]
lea ecx, [esp + 0x5c]
push esi
push eax
push ecx
push esi
push esi
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push ebx
call fcn.10125e20
add esp, 0x20
test eax, eax
jne 0x101231cb
mov eax, dword [esp + 0xd4]
mov dword [ebx + 0x68c], eax
xor ecx, ecx
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe0], ecx
cmp dword [esp + 0x5c], ecx
je 0x101230ba
lea eax, [esp + 0xd8]
lea ecx, [esp + 0xe0]
push 8
push eax
push ecx
call sym.nss3.dll_NSS_SecureMemcmp
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebx + 0x684], ecx
mov cl, byte [esp + 0xc8]
mov eax, dword [ebx + 0xa20]
cmp cl, byte [eax + 0x18]
jne 0x101231da
mov ecx, dword [esp + 0xcc]
cmp ecx, dword [eax + 0x1c]
jne 0x101231da
mov ecx, dword [esp + 0xd0]
cmp ecx, dword [eax + 0x20]
jne 0x101231da
cmp dword [ebx + 0x68c], 0
je 0x10123404
cmp dword [ebx + 0x688], 0
je 0x10123119
cmp dword [ebx + 0x684], 0
je 0x101231ae
mov dword [ebx + 0x688], 1
lea ecx, [ebx + 0xa28]
mov edi, dword [ebx + 0xa28]
mov dword [esp + 0x10], ecx
cmp edi, ecx
je 0x10123163
mov dl, byte [eax + 0x18]
mov ecx, dword [eax + 0x20]
mov esi, dword [eax + 0x1c]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0xc]
cmp byte [edi + 0x18], dl
jne 0x1012315b
cmp dword [edi + 0x30], ecx
jne 0x1012315b
cmp dword [edi + 0x2c], esi
je 0x10123207
mov edi, dword [edi]
cmp edi, dword [esp + 0x10]
jne 0x10123148
lea eax, [esp + 0x70]
push 0
push eax
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
cmp dword [ebx + 0x620], 0
mov eax, dword [esp + 0x14]
je 0x101231b5
xor esi, esi
mov edi, 0xffffd0b1
push esi
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x33
push 2
push ebx
call fcn.100f2eb0
add esp, 0xc
push esi
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
jmp 0x10122f1a
xor edi, edi
jmp 0x10122ec3
push 0x101256f0
push 0xfe0d
push eax
push ebx
call fcn.10104f20
add esp, 0x10
mov esi, eax
xor edi, edi
test esi, esi
jne 0x10122f1a
jmp 0x10122ec3
xor edi, edi
mov esi, 0xffffd09c
push edi
push esi
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x2f
push 2
push ebx
call fcn.100f2eb0
add esp, 0xc
push edi
push esi
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10123016
xorps xmm0, xmm0
lea edx, [esp + 0xe0]
movaps xmmword [edx], xmm0
mov ecx, dword [eax + 8]
mov dword [esp + 0xc], ecx
mov esi, dword [eax + 0x3c]
push dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push eax
push edx
call fcn.1010a420
add esp, 0xc
test eax, eax
je 0x10123247
lea eax, [esp + 0xe0]
push eax
call fcn.1010a940
add esp, 4
jmp 0x101231a7
sub esi, dword [ebp + 0xc]
add esi, dword [esp + 0xe0]
push dword [esp + 0xc]
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
lea edx, [esp + 0x70]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
xor eax, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xe4], eax
cmp dword [ebx + 0x620], eax
je 0x101232dc
mov ecx, dword [ebx + 0x68c]
lea eax, [esp + 0x94]
push eax
push dword [ebx + 0xa20]
lea eax, [esp + 0x78]
push eax
mov dword [esp + 0x18], ecx
push ecx
call sym.nss3.dll_PK11_HPKE_Open
add esp, 0x10
test eax, eax
je 0x1012340b
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xc]
jmp 0x10123397
xor eax, eax
push eax
push eax
push dword [edi + 0x30]
push dword [edi + 0x2c]
push dword [edi + 0x1c]
call sym.nss3.dll_PK11_HPKE_NewContext
add esp, 0x14
test eax, eax
je 0x1012338d
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x10]
add eax, 8
push eax
lea eax, [esp + 0xe4]
push eax
push 0
call sym.nss3.dll_SECITEM_AllocItem_Util
add esp, 0xc
test eax, eax
je 0x10123391
mov eax, dword [esp + 0xe4]
mov dword [eax + 3], 0x68636520
mov dword [eax], 0x20736c74
mov eax, dword [esp + 0xe4]
mov byte [eax + 7], 0
mov eax, dword [esp + 0xe4]
add eax, 8
push dword [edi + 0x10]
push dword [edi + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0xa20]
add eax, 0xc
lea ecx, [esp + 0xe0]
push ecx
push eax
push dword [ebx + 0xa34]
push dword [ebx + 0xa30]
mov esi, dword [esp + 0x1c]
push esi
call sym.nss3.dll_PK11_HPKE_SetupR
mov ecx, esi
add esp, 0x14
test eax, eax
mov eax, 0
jne 0x10123397
jmp 0x101232a4
xor ecx, ecx
jmp 0x10123395
mov ecx, dword [esp + 0xc]
xor eax, eax
push 1
push eax
mov esi, ecx
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
push 0
lea eax, [esp + 0xe4]
push eax
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
cmp esi, dword [ebx + 0x68c]
je 0x101233c9
push 1
push esi
call sym.nss3.dll_PK11_HPKE_DestroyContext
add esp, 8
mov edi, dword [edi]
cmp edi, dword [esp + 0x10]
je 0x10123163
mov edx, dword [ebx + 0xa20]
mov al, byte [edx + 0x18]
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x1c]
cmp byte [edi + 0x18], al
jne 0x101233f7
cmp dword [edi + 0x30], ecx
jne 0x101233f7
cmp dword [edi + 0x2c], edx
je 0x10123278
mov edi, dword [edi]
cmp edi, dword [esp + 0x10]
jne 0x101233e4
jmp 0x10123163
xor esi, esi
jmp 0x101231cb
mov eax, dword [esp + 0xc]
mov dword [ebx + 0x68c], eax
mov edi, dword [esp + 0x94]
xor eax, eax
push eax
xor esi, esi
lea eax, [esp + 0xe4]
push eax
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
push esi
lea eax, [esp + 0x74]
push eax
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
mov dword [esp + 0x10], edi
test edi, edi
je 0x10123172
mov dword [ebx + 0x684], 1
lea eax, [ebx + 0x550]
lea edi, [ebx + 0x558]
mov dword [esp + 0xc], eax
push eax
push edi
call fcn.101055c0
add esp, 8
xorps xmm0, xmm0
movaps xmmword [esp + 0xe0], xmm0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov dword [esp + 0x94], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], 0
lea ebx, [esp + 0x88]
push ebx
push 0x22
lea eax, [esp + 0x9c]
push eax
call fcn.1010a980
add esp, 0xc
test eax, eax
jne 0x101234dd
push dword [esp + 0x8c]
push dword [esp + 0x8c]
lea eax, [esp + 0xe8]
push eax
call fcn.1010a420
add esp, 0xc
test eax, eax
je 0x101234fd
lea eax, [esp + 0xe0]
push eax
call fcn.1010a940
add esp, 4
push 1
push dword [esp + 0x14]
call sym.nss3.dll_SECITEM_FreeItem_Util
jmp 0x101231a4
push ebx
push 1
lea eax, [esp + 0x9c]
push eax
call fcn.1010a9e0
add esp, 0xc
mov eax, dword [esp + 0x8c]
cmp dword [ebp + 0x14], 0
je 0x10123532
test eax, eax
je 0x1012353e
push 0
push 0xffffd0b1
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x101234dd
push 1
push eax
push dword [esp + 0x90]
jmp 0x10123549
push 1
mov eax, dword [ebp + 0x14]
push dword [eax + 8]
push dword [eax + 4]
lea eax, [esp + 0xec]
push eax
call fcn.1010a5a0
add esp, 0x10
test eax, eax
jne 0x101234dd
push ebx
push 2
lea eax, [esp + 0x9c]
push eax
call fcn.1010a9e0
add esp, 0xc
test eax, eax
jne 0x101234dd
push 2
push dword [esp + 0x90]
push dword [esp + 0x90]
lea eax, [esp + 0xec]
push eax
call fcn.1010a5a0
add esp, 0x10
test eax, eax
jne 0x101234dd
push ebx
push 1
lea eax, [esp + 0x9c]
push eax
call fcn.1010a9e0
add esp, 0xc
test eax, eax
jne 0x101234dd
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
lea eax, [esp + 0xec]
push eax
call fcn.1010a5a0
add esp, 0x10
test eax, eax
jne 0x101234dd
lea eax, [esp + 0xb4]
push eax
push 2
lea eax, [esp + 0x9c]
push eax
call fcn.1010a9e0
add esp, 0xc
test eax, eax
jne 0x101234dd
mov eax, dword [esp + 0x98]
sub eax, dword [esp + 0x9c]
lea ecx, [esp + 0x7c]
push ecx
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.1010a980
add esp, 0xc
test eax, eax
jne 0x101234dd
mov esi, dword [esp + 0x80]
test esi, esi
je 0x10123677
xor ecx, ecx
mov edx, dword [esp + 0x7c]
xor eax, eax
or al, byte [edx + ecx]
inc ecx
cmp esi, ecx
jne 0x10123644
test al, al
je 0x10123677
xor esi, esi
mov edi, 0xffffd0b1
push esi
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
push 0x2f
push 2
push dword [ebp + 8]
call fcn.100f2eb0
add esp, 0xc
push esi
push edi
jmp 0x10123528
lea eax, [esp + 0xb8]
mov ecx, dword [eax - 4]
lea edx, [esp + 0xa4]
mov dword [edx], ecx
push eax
push edx
push dword [ebp + 8]
call fcn.101049f0
add esp, 0xc
test eax, eax
jne 0x101234dd
push 0xfe0d
push dword [ebp + 8]
call fcn.10104b80
add esp, 8
mov dword [esp + 0x1c], 0x2f
test eax, eax
je 0x101239dc
add eax, 0xc
push eax
push dword [esp + 0x18]
push dword [ebp + 8]
call fcn.101257a0
add esp, 0xc
test eax, eax
jne 0x101234dd
push 0xfd00
push dword [ebp + 8]
call fcn.10104b80
add esp, 8
test eax, eax
je 0x101239f6
lea eax, [esp + 0xb0]
push eax
push 2
lea eax, [esp + 0xe8]
push eax
call fcn.1010a770
add esp, 0xc
test eax, eax
jne 0x101234dd
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
cmp ecx, eax
je 0x101238e6
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 8]
cmp eax, 0xfd00
jne 0x1012388e
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x88], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], 0
lea eax, [esp + 0xbc]
push eax
push 1
push ebx
call fcn.1010a9e0
add esp, 0xc
test eax, eax
jne 0x10123a3a
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x90]
jne 0x10123a3a
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x10123a3a
mov ecx, eax
and ecx, 1
jne 0x10123a3a
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 0
mov esi, edi
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x84]
je 0x101238d2
lea eax, [esp + 0xa8]
push eax
push 2
lea eax, [esp + 0x84]
push eax
call fcn.1010aab0
add esp, 0xc
test eax, eax
jne 0x10123a3a
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov edx, eax
xor edx, 0xfd00
or edx, ecx
je 0x10123a3a
mov edx, eax
xor edx, 0xfe0d
or edx, ecx
je 0x10123a3a
mov dword [esp + 0x14], esi
mov edx, dword [esp + 0x14]
mov esi, dword [edx]
movzx edx, word [edx + 8]
xor edx, eax
or edx, ecx
je 0x10123849
mov dword [esp + 0x14], esi
cmp esi, edi
jne 0x1012382c
jmp 0x10123a3a
push 2
push ecx
push eax
lea eax, [esp + 0xec]
push eax
call fcn.1010a4c0
add esp, 0x10
test eax, eax
jne 0x101234dd
push 2
mov eax, dword [esp + 0x18]
push dword [eax + 0x14]
push dword [eax + 0x10]
lea eax, [esp + 0xec]
push eax
call fcn.1010a5a0
add esp, 0x10
test eax, eax
je 0x101237c4
jmp 0x101234dd
movzx eax, ax
push 2
push 0
push eax
lea eax, [esp + 0xec]
push eax
call fcn.1010a4c0
add esp, 0x10
test eax, eax
jne 0x101234dd
push 2
mov eax, dword [esp + 0x1c]
push dword [eax + 0x14]
push dword [eax + 0x10]
lea eax, [esp + 0xec]
push eax
call fcn.1010a5a0
add esp, 0x10
test eax, eax
jne 0x101234dd
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0xc]
jne 0x10123726
push edi
call fcn.10104b40
add esp, 4
push dword [esp + 0xc]
call fcn.10104b40
add esp, 4
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xb0]
sub eax, ecx
add eax, 0xfffffffe
push 2
push 0
push eax
push ecx
lea eax, [esp + 0xf0]
push eax
call fcn.1010a8a0
add esp, 0x14
test eax, eax
jne 0x101234dd
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xe0]
add ecx, eax
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0xe4]
sub ecx, eax
lea esi, [esp + 0xa0]
mov dword [esi], ecx
lea eax, [esp + 0xa8]
push esi
lea ecx, [esp + 0xa8]
push ecx
push 2
push eax
push dword [ebp + 8]
call fcn.100f5970
add esp, 0x14
mov dword [esp + 0x1c], 0x50
mov edi, 0xffffd01c
test eax, eax
jne 0x101239e1
mov eax, dword [esp + 0xa8]
xor eax, dword [esp + 0xa0]
or eax, dword [esp + 0xac]
jne 0x101239e1
push esi
lea eax, [esp + 0xa8]
push eax
push dword [ebp + 8]
call fcn.101049f0
add esp, 0xc
test eax, eax
jne 0x101234dd
push 0
mov edi, dword [esp + 0x14]
push edi
call sym.nss3.dll_SECITEM_FreeItem_Util
add esp, 8
mov eax, dword [esp + 0xe0]
mov dword [edi + 4], eax
mov eax, dword [esp + 0xe4]
mov dword [edi + 8], eax
jmp 0x10123a2e
mov edi, 0xffffd0b2
xor esi, esi
push esi
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
push dword [esp + 0x1c]
jmp 0x10123663
push 2
push dword [esp + 0xbc]
push dword [esp + 0xbc]
lea eax, [esp + 0xec]
push eax
call fcn.1010a5a0
add esp, 0x10
test eax, eax
jne 0x101234dd
lea eax, [esp + 0xe0]
push eax
call fcn.1010a940
add esp, 4
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x10]
jmp 0x10122ec3
mov edi, 0xffffd0b1
jmp 0x101239e1