Function at 0x101243c0
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 [0x101f1014]
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.10106140
add esp, 8
mov edi, 0
test eax, eax
je 0x10124483
add eax, 0xc
lea esi, [ebx + 0x71c]
push eax
push esi
push ebx
call fcn.10126e20
add esp, 0xc
xor edi, edi
test eax, eax
jne 0x101244da
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 0x10124479
cmp dword [eax + 0x38], 0
je 0x1012457e
mov dword [ebx + 0x688], 1
or byte [ebx + 0x54c], 0x10
cmp dword [ebx + 0x684], 0
je 0x10124564
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.100fa7b0
add esp, 0x1c
test eax, eax
je 0x101244ea
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 0x10124566
push 0x2b
push ebx
call fcn.10106140
add esp, 8
test eax, eax
mov edi, dword [ebp + 0x14]
je 0x101245de
push eax
push ebx
call fcn.10120e50
add esp, 8
test eax, eax
jne 0x101244d6
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.10157a00
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [ebx + 0x620], 0
je 0x101246c3
mov dword [ebx + 0x688], 1
push 0x2c
push ebx
call fcn.10106140
add esp, 8
test eax, eax
je 0x1012476e
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.100f6ff0
add esp, 0x14
test eax, eax
je 0x1012460b
xor esi, esi
dec esi
jmp 0x1012478b
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.100f4470
add esp, 0xc
push esi
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x101244d6
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.101273e0
add esp, 0x20
test eax, eax
jne 0x1012478b
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 0x1012467a
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 0x1012479a
mov ecx, dword [esp + 0xcc]
cmp ecx, dword [eax + 0x1c]
jne 0x1012479a
mov ecx, dword [esp + 0xd0]
cmp ecx, dword [eax + 0x20]
jne 0x1012479a
cmp dword [ebx + 0x68c], 0
je 0x101249c4
cmp dword [ebx + 0x688], 0
je 0x101246d9
cmp dword [ebx + 0x684], 0
je 0x1012476e
mov dword [ebx + 0x688], 1
lea ecx, [ebx + 0xa28]
mov edi, dword [ebx + 0xa28]
mov dword [esp + 0x10], ecx
cmp edi, ecx
je 0x10124723
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 0x1012471b
cmp dword [edi + 0x30], ecx
jne 0x1012471b
cmp dword [edi + 0x2c], esi
je 0x101247c7
mov edi, dword [edi]
cmp edi, dword [esp + 0x10]
jne 0x10124708
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 0x10124775
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.100f4470
add esp, 0xc
push esi
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
xor edi, edi
jmp 0x101244da
xor edi, edi
jmp 0x10124483
push 0x10126cb0
push 0xfe0d
push eax
push ebx
call fcn.101064e0
add esp, 0x10
mov esi, eax
xor edi, edi
test esi, esi
jne 0x101244da
jmp 0x10124483
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.100f4470
add esp, 0xc
push edi
push esi
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x101245d6
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.1010b9e0
add esp, 0xc
test eax, eax
je 0x10124807
lea eax, [esp + 0xe0]
push eax
call fcn.1010bf00
add esp, 4
jmp 0x10124767
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 0x1012489c
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 0x101249cb
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xc]
jmp 0x10124957
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 0x1012494d
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 0x10124951
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 0x10124957
jmp 0x10124864
xor ecx, ecx
jmp 0x10124955
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 0x10124989
push 1
push esi
call sym.nss3.dll_PK11_HPKE_DestroyContext
add esp, 8
mov edi, dword [edi]
cmp edi, dword [esp + 0x10]
je 0x10124723
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 0x101249b7
cmp dword [edi + 0x30], ecx
jne 0x101249b7
cmp dword [edi + 0x2c], edx
je 0x10124838
mov edi, dword [edi]
cmp edi, dword [esp + 0x10]
jne 0x101249a4
jmp 0x10124723
xor esi, esi
jmp 0x1012478b
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 0x10124732
mov dword [ebx + 0x684], 1
lea eax, [ebx + 0x550]
lea edi, [ebx + 0x558]
mov dword [esp + 0xc], eax
push eax
push edi
call fcn.10106b80
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.1010bf40
add esp, 0xc
test eax, eax
jne 0x10124a9d
push dword [esp + 0x8c]
push dword [esp + 0x8c]
lea eax, [esp + 0xe8]
push eax
call fcn.1010b9e0
add esp, 0xc
test eax, eax
je 0x10124abd
lea eax, [esp + 0xe0]
push eax
call fcn.1010bf00
add esp, 4
push 1
push dword [esp + 0x14]
call sym.nss3.dll_SECITEM_FreeItem_Util
jmp 0x10124764
push ebx
push 1
lea eax, [esp + 0x9c]
push eax
call fcn.1010bfa0
add esp, 0xc
mov eax, dword [esp + 0x8c]
cmp dword [ebp + 0x14], 0
je 0x10124af2
test eax, eax
je 0x10124afe
push 0
push 0xffffd0b1
call sym.nss3.dll_PR_SetError
add esp, 8
jmp 0x10124a9d
push 1
push eax
push dword [esp + 0x90]
jmp 0x10124b09
push 1
mov eax, dword [ebp + 0x14]
push dword [eax + 8]
push dword [eax + 4]
lea eax, [esp + 0xec]
push eax
call fcn.1010bb60
add esp, 0x10
test eax, eax
jne 0x10124a9d
push ebx
push 2
lea eax, [esp + 0x9c]
push eax
call fcn.1010bfa0
add esp, 0xc
test eax, eax
jne 0x10124a9d
push 2
push dword [esp + 0x90]
push dword [esp + 0x90]
lea eax, [esp + 0xec]
push eax
call fcn.1010bb60
add esp, 0x10
test eax, eax
jne 0x10124a9d
push ebx
push 1
lea eax, [esp + 0x9c]
push eax
call fcn.1010bfa0
add esp, 0xc
test eax, eax
jne 0x10124a9d
push 1
push dword [esp + 0x90]
push dword [esp + 0x90]
lea eax, [esp + 0xec]
push eax
call fcn.1010bb60
add esp, 0x10
test eax, eax
jne 0x10124a9d
lea eax, [esp + 0xb4]
push eax
push 2
lea eax, [esp + 0x9c]
push eax
call fcn.1010bfa0
add esp, 0xc
test eax, eax
jne 0x10124a9d
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.1010bf40
add esp, 0xc
test eax, eax
jne 0x10124a9d
mov esi, dword [esp + 0x80]
test esi, esi
je 0x10124c37
xor ecx, ecx
mov edx, dword [esp + 0x7c]
xor eax, eax
or al, byte [edx + ecx]
inc ecx
cmp esi, ecx
jne 0x10124c04
test al, al
je 0x10124c37
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.100f4470
add esp, 0xc
push esi
push edi
jmp 0x10124ae8
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.10105fb0
add esp, 0xc
test eax, eax
jne 0x10124a9d
push 0xfe0d
push dword [ebp + 8]
call fcn.10106140
add esp, 8
mov dword [esp + 0x1c], 0x2f
test eax, eax
je 0x10124f9c
add eax, 0xc
push eax
push dword [esp + 0x18]
push dword [ebp + 8]
call fcn.10126d60
add esp, 0xc
test eax, eax
jne 0x10124a9d
push 0xfd00
push dword [ebp + 8]
call fcn.10106140
add esp, 8
test eax, eax
je 0x10124fb6
lea eax, [esp + 0xb0]
push eax
push 2
lea eax, [esp + 0xe8]
push eax
call fcn.1010bd30
add esp, 0xc
test eax, eax
jne 0x10124a9d
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
cmp ecx, eax
je 0x10124ea6
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 8]
cmp eax, 0xfd00
jne 0x10124e4e
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.1010bfa0
add esp, 0xc
test eax, eax
jne 0x10124ffa
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x90]
jne 0x10124ffa
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x10124ffa
mov ecx, eax
and ecx, 1
jne 0x10124ffa
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 0x10124e92
lea eax, [esp + 0xa8]
push eax
push 2
lea eax, [esp + 0x84]
push eax
call fcn.1010c070
add esp, 0xc
test eax, eax
jne 0x10124ffa
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov edx, eax
xor edx, 0xfd00
or edx, ecx
je 0x10124ffa
mov edx, eax
xor edx, 0xfe0d
or edx, ecx
je 0x10124ffa
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 0x10124e09
mov dword [esp + 0x14], esi
cmp esi, edi
jne 0x10124dec
jmp 0x10124ffa
push 2
push ecx
push eax
lea eax, [esp + 0xec]
push eax
call fcn.1010ba80
add esp, 0x10
test eax, eax
jne 0x10124a9d
push 2
mov eax, dword [esp + 0x18]
push dword [eax + 0x14]
push dword [eax + 0x10]
lea eax, [esp + 0xec]
push eax
call fcn.1010bb60
add esp, 0x10
test eax, eax
je 0x10124d84
jmp 0x10124a9d
movzx eax, ax
push 2
push 0
push eax
lea eax, [esp + 0xec]
push eax
call fcn.1010ba80
add esp, 0x10
test eax, eax
jne 0x10124a9d
push 2
mov eax, dword [esp + 0x1c]
push dword [eax + 0x14]
push dword [eax + 0x10]
lea eax, [esp + 0xec]
push eax
call fcn.1010bb60
add esp, 0x10
test eax, eax
jne 0x10124a9d
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0xc]
jne 0x10124ce6
push edi
call fcn.10106100
add esp, 4
push dword [esp + 0xc]
call fcn.10106100
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.1010be60
add esp, 0x14
test eax, eax
jne 0x10124a9d
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.100f6f30
add esp, 0x14
mov dword [esp + 0x1c], 0x50
mov edi, 0xffffd01c
test eax, eax
jne 0x10124fa1
mov eax, dword [esp + 0xa8]
xor eax, dword [esp + 0xa0]
or eax, dword [esp + 0xac]
jne 0x10124fa1
push esi
lea eax, [esp + 0xa8]
push eax
push dword [ebp + 8]
call fcn.10105fb0
add esp, 0xc
test eax, eax
jne 0x10124a9d
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 0x10124fee
mov edi, 0xffffd0b2
xor esi, esi
push esi
push edi
call sym.nss3.dll_PR_SetError
add esp, 8
push dword [esp + 0x1c]
jmp 0x10124c23
push 2
push dword [esp + 0xbc]
push dword [esp + 0xbc]
lea eax, [esp + 0xec]
push eax
call fcn.1010bb60
add esp, 0x10
test eax, eax
jne 0x10124a9d
lea eax, [esp + 0xe0]
push eax
call fcn.1010bf00
add esp, 4
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x10]
jmp 0x10124483
mov edi, 0xffffd0b1
jmp 0x10124fa1