Function at 0x59a7fc
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
push ebx
push esi
push edi
xor edi, edi
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xc], str.smime.p7m
test byte [ebp + 0x15], 4
je 0x59a823
mov dword [ebp - 8], str.application_x_pkcs7_
jmp 0x59a82a
mov dword [ebp - 8], str.application_pkcs7_
test byte [ebp + 0x15], 8
je 0x59a837
mov esi, 0x642c88
jmp 0x59a83c
mov esi, 0x642c8b
test byte [ebp + 0x14], 0x40
je 0x59a9bf
cmp dword [ebp + 0x10], 0
je 0x59a9bf
push 0x20
lea eax, [ebp - 0x30]
push eax
call fcn.00582124
add esp, 8
xor edx, edx
mov dword [ebp - 4], edx
lea edx, [ebp - 0x30]
mov al, byte [edx]
and al, 0xf
cmp al, 0xa
jge 0x59a872
add al, 0x30
jmp 0x59a874
add al, 0x37
mov byte [edx], al
inc dword [ebp - 4]
inc edx
cmp dword [ebp - 4], 0x20
jl 0x59a866
mov byte [ebp - 0x10], 0
push esi
push 0x642c8d
push ebx
call fcn.0058088c
add esp, 0xc
push str.Content_Type:_multipart_signed_
push ebx
call fcn.0058088c
add esp, 8
mov ecx, dword [ebp - 8]
push ecx
push str._protocol__ssignature__
push ebx
call fcn.0058088c
add esp, 0xc
push str._micalg_
push ebx
call fcn.0057e008
add esp, 8
mov eax, dword [ebp + 0x20]
push eax
push ebx
call fcn.0059a668
add esp, 8
lea edx, [ebp - 0x30]
push esi
push esi
push edx
push str.___boundary______s__s_s
push ebx
call fcn.0058088c
add esp, 0x14
push esi
push esi
push str.This_is_an_S_MIME_signed_message_s_s
push ebx
call fcn.0058088c
add esp, 0x10
push esi
lea ecx, [ebp - 0x30]
push ecx
push str._______s_s
push ebx
call fcn.0058088c
add esp, 0x10
mov eax, dword [ebp + 0x24]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 0x10]
push eax
push ebx
call fcn.0059aac4
add esp, 0x14
test eax, eax
jne 0x59a929
xor eax, eax
jmp 0x59aabc
push esi
lea edx, [ebp - 0x30]
push edx
push esi
push str._s_______s_s
push ebx
call fcn.0058088c
add esp, 0x14
mov ecx, dword [ebp - 8]
push ecx
push str.Content_Type:__ssignature_
push ebx
call fcn.0058088c
add esp, 0xc
push esi
push str._name_smime.p7s__s
push ebx
call fcn.0058088c
add esp, 0xc
push esi
push str.Content_Transfer_Encoding:_base64_s
push ebx
call fcn.0058088c
add esp, 0xc
push 0x642d8d
push ebx
call fcn.0058088c
add esp, 8
push esi
push esi
push str._filename_smime.p7s__s_s
push ebx
call fcn.0058088c
add esp, 0x10
mov eax, dword [ebp + 0x24]
push eax
push 0
push 0
mov edx, dword [ebp + 0xc]
push edx
push ebx
call fcn.0059a4f8
add esp, 0x14
lea ecx, [ebp - 0x30]
push esi
push esi
push ecx
push esi
push str._s_______s___s_s
push ebx
call fcn.0058088c
add esp, 0x18
mov eax, 1
jmp 0x59aabc
cmp eax, 0x17
jne 0x59a9cb
mov edi, str.enveloped_data
jmp 0x59aa0f
cmp eax, 0x16
jne 0x59a9fc
cmp dword [ebp + 0x1c], 0xcc
jne 0x59a9e0
mov edi, str.signed_receipt
jmp 0x59aa0f
mov eax, dword [ebp + 0x20]
push eax
call fcn.00581148
pop ecx
test eax, eax
jl 0x59a9f5
mov edi, str.signed_data
jmp 0x59aa0f
mov edi, str.certs_only
jmp 0x59aa0f
cmp eax, 0x312
jne 0x59aa0f
mov dword [ebp - 0xc], str.smime.p7z
mov edi, str.compressed_data
push esi
push str.MIME_Version:_1.0_s
push ebx
call fcn.0058088c
add esp, 0xc
push str.Content_Disposition:_attachment_
push ebx
call fcn.0058088c
add esp, 8
push esi
mov eax, dword [ebp - 0xc]
push eax
push str._filename__s__s
push ebx
call fcn.0058088c
add esp, 0x10
mov edx, dword [ebp - 8]
push edx
push str.Content_Type:__smime_
push ebx
call fcn.0058088c
add esp, 0xc
test edi, edi
je 0x59aa64
push edi
push str._smime_type_s_
push ebx
call fcn.0058088c
add esp, 0xc
push esi
mov ecx, dword [ebp - 0xc]
push ecx
push str._name__s__s
push ebx
call fcn.0058088c
add esp, 0x10
push esi
push esi
push str.Content_Transfer_Encoding:_base64_s_s
push ebx
call fcn.0058088c
add esp, 0x10
mov eax, dword [ebp + 0x24]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp + 0xc]
push eax
push ebx
call fcn.0059a4f8
add esp, 0x14
test eax, eax
jne 0x59aaa8
xor eax, eax
jmp 0x59aabc
push esi
push 0x642ec7
push ebx
call fcn.0058088c
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret