Function at 0x10021880
Capabilities:
Check for software breakpoints

Disassembly:
jmp 0x10021880
mov eax, 0x3c
call fcn.101aa6d0
mov eax, dword [0x102745f0]
xor eax, esp
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x58]
push ebx
push ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x64]
push esi
mov esi, dword [esp + 0x4c]
push edi
mov dword [esp + 0x10], eax
xor ebx, ebx
test ecx, 0x400
mov edi, str.application_pkcs7_
mov eax, str.application_x_pkcs7_
cmove eax, edi
mov dword [esp + 0x14], eax
test ecx, 0x800
mov edi, 0x101e2638
mov eax, 0x101dfbe0
cmove edi, eax
mov dword [esp + 0x18], edx
mov ebp, str.smime.p7m
test cl, 0x40
je 0x10021a5e
test edx, edx
je 0x10021a5e
lea eax, [esp + 0x24]
push 0x20
push eax
call sym.libcrypto_1_1.dll_RAND_bytes
add esp, 8
test eax, eax
jg 0x1002192b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.101aa6fb
add esp, 0x3c
ret
xor ecx, ecx
lea ecx, [ecx]
mov al, byte [esp + ecx + 0x24]
and al, 0xf
cmp al, 0xa
jge 0x1002193e
add al, 0x30
jmp 0x10021940
add al, 0x37
mov byte [esp + ecx + 0x24], al
inc ecx
cmp ecx, 0x20
jl 0x10021930
push edi
push str.MIME_Version:_1.0_s
push esi
mov byte [esp + 0x50], bl
call sym.libcrypto_1_1.dll_BIO_printf
push str.Content_Type:_multipart_signed_
push esi
call sym.libcrypto_1_1.dll_BIO_printf
mov ebx, dword [esp + 0x28]
push ebx
push str._protocol__ssignature__
push esi
call sym.libcrypto_1_1.dll_BIO_printf
push str._micalg_
push esi
call sym.libcrypto_1_1.dll_BIO_puts
push dword [esp + 0x48]
push esi
call fcn.10021d90
push edi
push edi
lea eax, [esp + 0x5c]
push eax
push str.___boundary______s__s_s
push esi
call sym.libcrypto_1_1.dll_BIO_printf
add esp, 0x44
push edi
push edi
push str.This_is_an_S_MIME_signed_message_s_s
push esi
call sym.libcrypto_1_1.dll_BIO_printf
push edi
lea eax, [esp + 0x38]
push eax
push str._______s_s
push esi
call sym.libcrypto_1_1.dll_BIO_printf
push dword [esp + 0x30]
mov eax, dword [esp + 0x80]
mov ebp, dword [esp + 0x40]
push eax
push ebp
push dword [esp + 0x44]
push esi
call fcn.10021c20
add esp, 0x34
test eax, eax
je 0x10021916
push edi
lea eax, [esp + 0x28]
push eax
push edi
push str._s_______s_s
push esi
call sym.libcrypto_1_1.dll_BIO_printf
push ebx
push str.Content_Type:__ssignature_
push esi
call sym.libcrypto_1_1.dll_BIO_printf
push edi
push str._name_smime.p7s__s
push esi
call sym.libcrypto_1_1.dll_BIO_printf
push edi
push str.Content_Transfer_Encoding:_base64_s
push esi
call sym.libcrypto_1_1.dll_BIO_printf
push str.Content_Disposition:_attachment_
push esi
call sym.libcrypto_1_1.dll_BIO_printf
add esp, 0x40
push edi
push edi
push str._filename_smime.p7s__s_s
push esi
call sym.libcrypto_1_1.dll_BIO_printf
push dword [esp + 0x20]
push 0
push 0
push ebp
push esi
call fcn.10020d60
push edi
push edi
lea eax, [esp + 0x50]
push eax
push edi
push str._s_______s___s_s
push esi
call sym.libcrypto_1_1.dll_BIO_printf
add esp, 0x3c
jmp 0x10021b4a
mov eax, dword [esp + 0x60]
cmp eax, 0x17
jne 0x10021a6e
mov ebx, str.enveloped_data
jmp 0x10021ab2
cmp eax, 0x16
jne 0x10021aa1
cmp dword [esp + 0x64], 0xcc
jne 0x10021a84
mov ebx, str.signed_receipt
jmp 0x10021ab2
push dword [esp + 0x20]
call sym.libcrypto_1_1.dll_OPENSSL_sk_num
add esp, 4
mov ebx, str.signed_data
mov ecx, str.certs_only
test eax, eax
cmovs ebx, ecx
jmp 0x10021ab2
cmp eax, 0x312
jne 0x10021ab2
mov ebx, str.compressed_data
mov ebp, str.smime.p7z
push edi
push str.MIME_Version:_1.0_s
push esi
call sym.libcrypto_1_1.dll_BIO_printf
push str.Content_Disposition:_attachment_
push esi
call sym.libcrypto_1_1.dll_BIO_printf
push edi
push ebp
push str._filename__s__s
push esi
call sym.libcrypto_1_1.dll_BIO_printf
push dword [esp + 0x38]
push str.Content_Type:__smime_
push esi
call sym.libcrypto_1_1.dll_BIO_printf
add esp, 0x30
test ebx, ebx
je 0x10021afb
push ebx
push str._smime_type_s_
push esi
call sym.libcrypto_1_1.dll_BIO_printf
add esp, 0xc
push edi
push ebp
push str._name__s__s
push esi
call sym.libcrypto_1_1.dll_BIO_printf
push edi
push edi
push str.Content_Transfer_Encoding:_base64_s_s
push esi
call sym.libcrypto_1_1.dll_BIO_printf
push dword [esp + 0x30]
mov eax, dword [esp + 0x80]
mov ebp, dword [esp + 0x40]
push eax
push dword [esp + 0x40]
push ebp
push esi
call fcn.10020d60
add esp, 0x34
test eax, eax
je 0x10021916
push edi
push 0x101e28c0
push esi
call sym.libcrypto_1_1.dll_BIO_printf
add esp, 0xc
mov ecx, dword [esp + 0x48]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov eax, 1
call fcn.101aa6fb
add esp, 0x3c
ret