Function at 0x6b46cb50
Capabilities:
Check for software breakpoints
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov edx, dword [sym.imp.libssp_0.dll___stack_chk_guard]
mov dword [esp + 0x4c], edx
xor edx, edx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x30], eax
test eax, eax
je 0x6b46d260
test byte [esp + 0x84], 0x80
je 0x6b46cea0
mov eax, dword [esp + 0x28]
xor edi, edi
xor esi, esi
lea ebp, [esp + 0x44]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_CMS_get0_SignerInfos
mov dword [esp], eax
mov ebx, eax
call sym.libcrypto_1_1.dll_OPENSSL_sk_num
test eax, eax
jg 0x6b46cc0b
jmp 0x6b46d2b0
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym.libcrypto_1_1.dll_OPENSSL_sk_value
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.libcrypto_1_1.dll_CMS_SignerInfo_get0_algs
cmp dword [esp + 0x44], 1
sbb edi, 0xffffffff
add esi, 1
mov dword [esp], ebx
call sym.libcrypto_1_1.dll_OPENSSL_sk_num
cmp esi, eax
jl 0x6b46cbd0
mov dword [esp], ebx
call sym.libcrypto_1_1.dll_OPENSSL_sk_num
mov esi, eax
cmp edi, eax
jne 0x6b46cde0
mov dword [esp], ebx
call sym.libcrypto_1_1.dll_OPENSSL_sk_num
cmp esi, eax
jne 0x6b46ce12
mov esi, dword [esp + 0x84]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], 0
and esi, 0x20
je 0x6b46cfe8
test byte [esp + 0x84], 8
jne 0x6b46cca9
xor esi, esi
jmp 0x6b46cc9d
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym.libcrypto_1_1.dll_OPENSSL_sk_value
mov dword [esp], eax
mov edi, eax
call sym.libcrypto_1_1.dll_CMS_signed_get_attr_count
test eax, eax
js 0x6b46cc9a
mov dword [esp], edi
call sym.libcrypto_1_1.dll_CMS_SignerInfo_verify
test eax, eax
jle 0x6b46cfbe
add esi, 1
mov dword [esp], ebx
call sym.libcrypto_1_1.dll_OPENSSL_sk_num
cmp esi, eax
jl 0x6b46cc70
mov esi, dword [esp + 0x30]
test esi, esi
je 0x6b46d130
mov edi, dword [esp + 0x30]
mov dword [esp], edi
call sym.libcrypto_1_1.dll_BIO_method_type
mov dword [esp + 0x3c], edi
cmp eax, 0x401
je 0x6b46d3b8
mov eax, dword [esp + 0x84]
and eax, 0x80
mov dword [esp + 0x34], eax
jne 0x6b46d30b
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x6b46d52f
test byte [esp + 0x84], 1
jne 0x6b46d42b
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_CMS_dataInit
mov ebp, eax
test eax, eax
je 0x6b46d371
mov eax, dword [esp + 0x84]
mov dword [esp + 4], ebp
and eax, 0xfffffffe
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_SMIME_crlf_copy
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x84]
mov esi, 1
and eax, 4
mov dword [esp + 0x34], eax
je 0x6b46d19e
lea esi, [esi]
mov dword [esp], ebp
mov ebx, ebp
call sym.libcrypto_1_1.dll_BIO_pop
mov dword [esp], ebx
mov ebp, eax
call sym.libcrypto_1_1.dll_BIO_free
test ebp, ebp
je 0x6b46cd7c
cmp ebp, edi
jne 0x6b46cd60
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x30], eax
je 0x6b46cd90
mov dword [esp], eax
call sym.libcrypto_1_1.dll_BIO_free
nop
cmp dword [esp + 0x38], edi
je 0x6b46cd9e
mov dword [esp], edi
call sym.libcrypto_1_1.dll_BIO_free_all
mov eax, dword [esp + 0x24]
mov dword [esp + 4], sym.libcrypto_1_1.dll_X509_free
mov dword [esp], eax
call sym.libcrypto_1_1.dll_OPENSSL_sk_pop_free
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], sym.libcrypto_1_1.dll_X509_CRL_free
mov dword [esp], eax
call sym.libcrypto_1_1.dll_OPENSSL_sk_pop_free
mov eax, dword [esp + 0x4c]
xor eax, dword [sym.imp.libssp_0.dll___stack_chk_guard]
jne 0x6b46d543
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x84]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_CMS_set1_signers_certs
mov dword [esp], ebx
lea esi, [edi + eax]
call sym.libcrypto_1_1.dll_OPENSSL_sk_num
cmp esi, eax
je 0x6b46cc39
mov dword [esp + 0x10], 0x130
xor edi, edi
xor ebp, ebp
xor esi, esi
mov dword [esp + 0xc], str.crypto_cms_cms_smime.c
mov dword [esp + 8], 0x8a
mov dword [esp + 4], 0x9d
mov dword [esp], 0x2e
call sym.libcrypto_1_1.dll_ERR_put_error
mov eax, dword [esp + 0x84]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x2c], 0
and eax, 0x80
mov dword [esp + 0x24], 0
mov dword [esp + 0x34], eax
lea esi, [esi]
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x6b46cee0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x6b46cf40
test edi, edi
jne 0x6b46cd60
mov dword [esp], ebp
xor edi, edi
call sym.libcrypto_1_1.dll_BIO_free_all
jmp 0x6b46cd7c
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_CMS_get0_eContentType
mov dword [esp], eax
call sym.libcrypto_1_1.dll_OBJ_obj2nid
mov edx, eax
mov eax, dword [esp + 0x84]
or eax, 0x80000
cmp edx, 0x313
cmovne eax, dword [esp + 0x84]
mov dword [esp + 0x84], eax
jmp 0x6b46cba4
xor edi, edi
nop
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x6b46cf40
mov eax, dword [esp + 0x3c]
cmp ebx, eax
jne 0x6b46cf40
mov dword [esp + 0x28], esi
lea esi, [esi]
mov dword [esp], ebp
mov esi, ebp
call sym.libcrypto_1_1.dll_BIO_pop
mov dword [esp], esi
mov ebp, eax
call sym.libcrypto_1_1.dll_BIO_free
test ebp, ebp
je 0x6b46cf14
cmp ebx, ebp
jne 0x6b46cef8
mov esi, dword [esp + 0x28]
jmp 0x6b46cd90
mov eax, dword [esp + 0x28]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.libcrypto_1_1.dll_CMS_dataInit
mov ebp, eax
test eax, eax
jne 0x6b46d35b
xor edi, edi
xor esi, esi
nop
mov dword [esp], ebp
call sym.libcrypto_1_1.dll_BIO_free_all
jmp 0x6b46cd90
mov dword [esp], ebp
call sym.libcrypto_1_1.dll_X509_verify_cert
test eax, eax
jg 0x6b46d050
mov dword [esp], ebp
call sym.libcrypto_1_1.dll_X509_STORE_CTX_get_error
mov dword [esp + 0x10], 0xfc
mov dword [esp + 0xc], str.crypto_cms_cms_smime.c
mov ebx, eax
mov dword [esp + 8], 0x64
mov dword [esp + 4], 0x99
mov dword [esp], 0x2e
call sym.libcrypto_1_1.dll_ERR_put_error
mov dword [esp], ebx
call sym.libcrypto_1_1.dll_X509_verify_cert_error_string
mov dword [esp + 4], 0x6b5d9e36
mov dword [esp + 8], eax
mov dword [esp], 2
call sym.libcrypto_1_1.dll_ERR_add_error_data
mov dword [esp], ebp
call sym.libcrypto_1_1.dll_X509_STORE_CTX_free
mov eax, dword [esp + 0x84]
xor edi, edi
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x3c], 0
and eax, 0x80
mov dword [esp + 0x34], eax
jmp 0x6b46ce70
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_CMS_get1_certs
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], eax
test dword [esp + 0x84], 0x2000
je 0x6b46d1e1
xor edi, edi
jmp 0x6b46d05b
mov dword [esp + 4], 0x6b5d9e2b
mov dword [esp], ebp
call sym.libcrypto_1_1.dll_X509_STORE_CTX_set_default
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x6b46cf50
mov dword [esp + 4], eax
mov dword [esp], ebp
call sym.libcrypto_1_1.dll_X509_STORE_CTX_set0_crls
mov dword [esp], ebp
call sym.libcrypto_1_1.dll_X509_verify_cert
test eax, eax
jle 0x6b46cf60
mov dword [esp], ebp
add edi, 1
call sym.libcrypto_1_1.dll_X509_STORE_CTX_free
mov dword [esp], ebx
call sym.libcrypto_1_1.dll_OPENSSL_sk_num
cmp edi, eax
jge 0x6b46cc59
mov dword [esp + 4], edi
mov dword [esp], ebx
call sym.libcrypto_1_1.dll_OPENSSL_sk_value
mov esi, eax
call sym.libcrypto_1_1.dll_X509_STORE_CTX_new
mov ebp, eax
test eax, eax
je 0x6b46d200
lea eax, [esp + 0x48]
mov dword [esp], esi
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
call sym.libcrypto_1_1.dll_CMS_SignerInfo_get0_algs
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call sym.libcrypto_1_1.dll_X509_STORE_CTX_init
mov esi, eax
test eax, eax
jne 0x6b46d018
mov dword [esp + 0x10], 0xf2
xor edi, edi
mov dword [esp + 0xc], str.crypto_cms_cms_smime.c
mov dword [esp + 8], 0x8d
mov dword [esp + 4], 0x99
mov dword [esp], 0x2e
call sym.libcrypto_1_1.dll_ERR_put_error
mov dword [esp], ebp
xor ebp, ebp
call sym.libcrypto_1_1.dll_X509_STORE_CTX_free
mov eax, dword [esp + 0x84]
mov dword [esp + 0x3c], 0
and eax, 0x80
mov dword [esp + 0x34], eax
jmp 0x6b46ce70
mov eax, dword [esp + 0x84]
and eax, 0x80
mov dword [esp + 0x34], eax
jne 0x6b46cf1d
mov eax, dword [esp + 0x28]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.libcrypto_1_1.dll_CMS_dataInit
mov ebp, eax
test eax, eax
je 0x6b46cf3b
mov edx, eax
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x38]
call sym._cms_copy_content
mov esi, eax
test eax, eax
je 0x6b46d4f3
mov eax, dword [esp + 0x84]
and eax, 4
mov dword [esp + 0x34], eax
jne 0x6b46d365
mov dword [esp + 0x3c], 0
xor edi, edi
xor esi, esi
jmp 0x6b46d1cb
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym.libcrypto_1_1.dll_OPENSSL_sk_value
mov dword [esp + 4], ebp
mov dword [esp], eax
call sym.libcrypto_1_1.dll_CMS_SignerInfo_verify_content
test eax, eax
jle 0x6b46d385
add esi, 1
mov dword [esp], ebx
call sym.libcrypto_1_1.dll_OPENSSL_sk_num
cmp esi, eax
jl 0x6b46d1a8
mov esi, 1
jmp 0x6b46ce70
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_CMS_get1_crls
mov dword [esp + 0x2c], eax
jmp 0x6b46d00d
mov dword [esp + 0x10], 0xed
xor edi, edi
xor esi, esi
mov dword [esp + 0xc], str.crypto_cms_cms_smime.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x99
mov dword [esp], 0x2e
call sym.libcrypto_1_1.dll_ERR_put_error
mov dword [esp], 0
call sym.libcrypto_1_1.dll_X509_STORE_CTX_free
mov eax, dword [esp + 0x84]
mov dword [esp + 0x3c], 0
and eax, 0x80
mov dword [esp + 0x34], eax
jmp 0x6b46ce70
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_CMS_get0_content
test eax, eax
je 0x6b46d27a
mov edi, dword [eax]
test edi, edi
jne 0x6b46cba4
mov dword [esp + 0x10], 0x52
xor esi, esi
mov dword [esp + 0xc], str.crypto_cms_cms_smime.c
mov dword [esp + 8], 0x7f
mov dword [esp + 4], 0x63
mov dword [esp], 0x2e
call sym.libcrypto_1_1.dll_ERR_put_error
jmp 0x6b46cdc6
mov dword [esp + 0x10], 0x121
xor ebp, ebp
mov dword [esp + 0xc], str.crypto_cms_cms_smime.c
mov dword [esp + 8], 0x87
mov dword [esp + 4], 0x9d
mov dword [esp], 0x2e
call sym.libcrypto_1_1.dll_ERR_put_error
mov eax, dword [esp + 0x84]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x2c], 0
and eax, 0x80
mov dword [esp + 0x24], 0
mov dword [esp + 0x34], eax
jmp 0x6b46ce70
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_CMS_dataInit
mov ebp, eax
test eax, eax
je 0x6b46d37c
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x38]
mov edx, ebp
call sym._cms_copy_content
mov esi, eax
test eax, eax
je 0x6b46cedc
xor edi, edi
mov esi, 1
test byte [esp + 0x84], 4
je 0x6b46d19e
jmp 0x6b46cee0
mov dword [esp + 0x3c], 0
jmp 0x6b46d325
xor edi, edi
mov esi, 1
jmp 0x6b46cf40
mov edi, dword [esp + 0x38]
xor esi, esi
jmp 0x6b46cd60
xor edi, edi
xor esi, esi
jmp 0x6b46cee0
mov dword [esp + 0x10], 0x189
xor esi, esi
mov dword [esp + 0xc], str.crypto_cms_cms_smime.c
mov dword [esp + 8], 0x6d
mov dword [esp + 4], 0x9d
mov dword [esp], 0x2e
call sym.libcrypto_1_1.dll_ERR_put_error
jmp 0x6b46ce70
lea eax, [esp + 0x48]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], 3
mov dword [esp], eax
call sym.libcrypto_1_1.dll_BIO_ctrl
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_BIO_new_mem_buf
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x6b46ccd0
mov dword [esp + 0x10], 0x15a
xor esi, esi
mov dword [esp + 0xc], str.crypto_cms_cms_smime.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x9d
mov dword [esp], 0x2e
call sym.libcrypto_1_1.dll_ERR_put_error
jmp 0x6b46cd9e
call sym.libcrypto_1_1.dll_BIO_s_mem
mov dword [esp], eax
call sym.libcrypto_1_1.dll_BIO_new
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov edi, eax
mov dword [esp + 4], 0x82
mov dword [esp], eax
call sym.libcrypto_1_1.dll_BIO_ctrl
test edi, edi
je 0x6b46d4fa
mov eax, dword [esp + 0x28]
mov dword [esp + 4], edi
mov dword [esp], eax
call sym.libcrypto_1_1.dll_CMS_dataInit
mov ebp, eax
test eax, eax
je 0x6b46d375
mov eax, dword [esp + 0x84]
mov dword [esp + 4], ebp
and eax, 0xfffffffe
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_SMIME_crlf_copy
test byte [esp + 0x84], 1
je 0x6b46cd40
mov eax, dword [esp + 0x38]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym.libcrypto_1_1.dll_SMIME_text
test eax, eax
jne 0x6b46cd40
mov dword [esp + 0x10], 0x178
xor esi, esi
mov dword [esp + 0xc], str.crypto_cms_cms_smime.c
mov dword [esp + 8], 0x8c
mov dword [esp + 4], 0x9d
mov dword [esp], 0x2e
call sym.libcrypto_1_1.dll_ERR_put_error
jmp 0x6b46cd60
xor edi, edi
jmp 0x6b46cf40
mov dword [esp + 0x10], 0x16a
xor ebp, ebp
xor esi, esi
mov dword [esp + 0xc], str.crypto_cms_cms_smime.c
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x9d
mov dword [esp], 0x2e
call sym.libcrypto_1_1.dll_ERR_put_error
jmp 0x6b46ce8c
call sym.libcrypto_1_1.dll_BIO_s_null
mov dword [esp], eax
call sym.libcrypto_1_1.dll_BIO_new
mov edi, eax
jmp 0x6b46d45a
call sym.___stack_chk_fail
lea esi, [esi]
nop