Function at 0x41c982
Capabilities:
Encrypt data using openssl rsa

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x4c
and dword [ebp - 0x28], 0
and dword [ebp - 8], 0
push edi
xor eax, eax
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 0x10]
call fcn.0041c7af
mov byte [ebp + 0x13], al
test al, al
jne 0x41c9c6
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.cant_get_signed_data_n
call fcn.0041c496
jmp 0x41cd5e
mov eax, dword [ebp - 0x20]
push esi
mov esi, dword [eax + 0x44]
mov edi, eax
push 0x448dd8
add eax, 0x18
push eax
mov dword [ebp - 0x10], edi
mov dword [ebp - 0xc], esi
call fcn.0041d9d5
test eax, eax
je 0x41c9fb
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.inderect_data_context_not_present_n
jmp 0x41cabc
push 0x448da8
lea eax, [esi + 0x40]
push eax
call fcn.0041d9d5
test eax, eax
je 0x41ca21
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.encryption_algorithm_dont_supported_n
jmp 0x41cabc
lea eax, [esi + 0xc]
push eax
add esi, 0x18
push esi
add edi, 0x24
push edi
call fcn.0041f71d
mov edi, eax
test edi, edi
jne 0x41ca49
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.cant_find_signer_certificate_n
jmp 0x41cabc
push 0x9f
push 0x4560a0
lea esi, [edi + 0x4c]
push esi
call fcn.0041f59c
test eax, eax
je 0x41ca71
push 0x65
push str.0c1_v0_t
push esi
call fcn.0041f59c
test eax, eax
jne 0x41cac1
lea eax, [edi + 0xa4]
push eax
call fcn.0041c61c
mov esi, eax
test esi, esi
jne 0x41ca94
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.cant_identify_sign_algorithm_n
jmp 0x41cabc
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x10]
add eax, dword [ecx + 0xc]
push eax
mov dword [ebp - 0x14], eax
call fcn.0041c4ab
mov dword [ebp - 8], eax
test eax, eax
jne 0x41caca
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.cant_allocate_pool_for_hash_n
call fcn.0041c496
mov byte [ebp + 0x13], 0
jmp 0x41cd5d
mov eax, dword [esi + 8]
push ebx
mov ebx, dword [eax + 0xc]
add ebx, dword [ebp - 8]
push ebx
call dword [eax + 0x18]
push dword [edi + 4]
mov eax, dword [esi + 8]
push dword [edi]
push ebx
call dword [eax + 0x1c]
push dword [ebp - 8]
mov eax, dword [esi + 8]
push ebx
call dword [eax + 0x20]
mov eax, dword [edi + 0xb8]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0xb4]
mov ebx, 0xb7
push ebx
mov dword [ebp - 0x18], eax
lea eax, [edi + 0x30]
push 0x4561a8
push eax
mov dword [ebp - 0x30], 0x456518
mov dword [ebp - 0x2c], 3
call fcn.0041f59c
test eax, eax
jne 0x41cb2f
mov dword [ebp - 0x38], 0x456318
jmp 0x41cb4d
push ebx
push 0x456260
lea eax, [edi + 0x30]
push eax
call fcn.0041f59c
test eax, eax
jne 0x41cd44
mov dword [ebp - 0x38], 0x456418
push dword [ebp - 8]
mov dword [ebp - 0x34], 0x100
push dword [esi + 8]
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0041c6c1
mov byte [ebp + 0x13], al
test al, al
jne 0x41cb82
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.invalid_Doctor_Web_certificate_signature_n
jmp 0x41cd0f
mov eax, dword [ebp - 0xc]
add eax, 0x24
push eax
call fcn.0041c65f
mov esi, eax
test esi, esi
jne 0x41cba8
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.cant_find_algorithm_n
jmp 0x41cd53
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
lea ebx, [eax + ecx]
cmp ebx, dword [ebp - 0x14]
jbe 0x41cbdf
push dword [ebp - 8]
call fcn.0041c4c6
push ebx
call fcn.0041c4ab
mov dword [ebp - 8], eax
test eax, eax
jne 0x41cbdf
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.cant_allocate_buffer_for_hash_n
jmp 0x41cd53
mov ebx, dword [esi + 0xc]
add ebx, dword [ebp - 8]
mov byte [ebp - 1], 0x31
push ebx
call dword [esi + 0x18]
push 1
lea eax, [ebp - 1]
push eax
push ebx
call dword [esi + 0x1c]
mov ecx, dword [ebp - 0xc]
lea eax, [ecx + 0x34]
mov ecx, dword [ecx + 0x38]
mov dword [ebp - 0x14], eax
mov eax, dword [eax]
dec ecx
push ecx
inc eax
push eax
push ebx
call dword [esi + 0x1c]
push dword [ebp - 8]
push ebx
call dword [esi + 0x20]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0x1c], ecx
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0x6c]
mov dword [ebp - 0x38], eax
mov eax, dword [edi + 0x68]
mov dword [ebp - 0x34], eax
mov eax, dword [edi + 0x78]
mov dword [ebp - 0x30], eax
mov eax, dword [edi + 0x74]
mov edi, dword [ebp - 8]
push edi
mov dword [ebp - 0x2c], eax
push esi
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0041c6c1
mov byte [ebp + 0x13], al
test al, al
jne 0x41cc68
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.invalid_Authenticated_attributes_signature_n
jmp 0x41cd0f
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x20]
push dword [eax]
call fcn.0041d5fb
mov byte [ebp + 0x13], al
test al, al
jne 0x41cc91
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.cant_get_ASN_item_n
jmp 0x41cd0f
push ebx
call dword [esi + 0x18]
push dword [ebp - 0x44]
push dword [ebp - 0x3c]
push ebx
call dword [esi + 0x1c]
push edi
push ebx
call dword [esi + 0x20]
push 0x448c70
push dword [ebp - 0x14]
call fcn.0041f4a2
test eax, eax
jne 0x41ccc9
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.message_digest_not_found_n
jmp 0x41cd53
push dword [esi + 0xc]
add eax, 8
push edi
push eax
call fcn.0041da01
test eax, eax
je 0x41cceb
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.invalid_message_digest_hash_value_n
jmp 0x41cd53
push edi
push ebx
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0041c883
mov byte [ebp + 0x13], al
test al, al
jne 0x41cd16
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.cant_calculate_PE_file_hash_n
call fcn.0041c496
jmp 0x41cd5c
push dword [esi + 0xc]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x20]
push edi
add eax, 0x20
push eax
call fcn.0041da01
test eax, eax
je 0x41cd3e
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.invalid_indirect_content_hash_value_n
jmp 0x41cd53
mov byte [ebp + 0x13], 1
jmp 0x41cd5c
push str.DwLib_CryptVerifyCertificate:
call fcn.0041c496
push str.unknown_issuer_name_n
call fcn.0041c496
mov byte [ebp + 0x13], 0
pop ebx
pop esi
lea eax, [ebp - 0x28]
push eax
call fcn.0041dc4d
cmp dword [ebp - 8], 0
pop edi
je 0x41cd76
push dword [ebp - 8]
call fcn.0041c4c6
mov al, byte [ebp + 0x13]
leave
ret 0xc