Function at 0x4aed10
Capabilities:
Encrypt data using openssl dsa
Encrypt data using openssl ecdsa
Encrypt data using openssl rsa

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ebp + 8]
mov eax, edx
push esi
push edi
mov dword [ebp - 4], ecx
mov edi, dword [eax]
mov dword [ebp - 8], eax
mov dword [ebx], 0
lea esi, [edi + ecx]
mov ecx, dword [ebp + 0x10]
mov dword [ebp + 8], esi
mov dword [ebp + 0x10], ecx
test ecx, ecx
je 0x4aed55
mov esi, dword [ebp - 4]
xor edx, edx
movzx eax, byte [edi + esi]
inc edi
add edx, eax
mov dword [ebx], edx
sub ecx, 1
jne 0x4aed41
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [eax], edi
cmp ecx, 0x15
je case.0x4aedba.417
mov eax, dword [ebx]
cmp ecx, 0xf
ja case.0x4aedba.417
jmp dword [ecx*4 + 0x4af318]
cmp eax, 0x19e
ja 0x4aeda3
je 0x4aed94
cmp eax, 0x58
jne case.0x4aedba.417
mov ecx, 0x5009b8
lea edx, [eax - 0x53]
jmp 0x4af2a9
mov ecx, 0x5008f4
mov edx, 9
jmp 0x4af2a9
add eax, 0xfffffe61
cmp eax, 0xea
ja case.0x4aedba.417
movzx eax, byte [eax + 0x4af370]
jmp dword [eax*4 + 0x4af358]
mov ecx, 0x50092c
jmp 0x4af2a4
mov ecx, 0x500a64
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x500818
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x500a70
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x500b4c
jmp 0x4af26d
add eax, 0xfffffe60
cmp eax, 0xf1
ja case.0x4aedba.417
movzx eax, byte [eax + 0x4af490]
jmp dword [eax*4 + 0x4af45c]
mov ecx, 0x5008c4
mov edx, 7
jmp 0x4af2a9
mov ecx, 0x500b24
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x500884
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x500804
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x50097c
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x500b6c
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x500914
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x500ac8
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x50087c
mov edx, 7
jmp 0x4af2a9
mov ecx, 0x500abc
jmp 0x4af2a4
mov ecx, 0x500900
jmp 0x4af2a4
mov ecx, 0x500a14
mov edx, 8
jmp 0x4af272
add eax, 0xfffffdfd
cmp eax, 0x8b
ja case.0x4aedba.417
movzx eax, byte [eax + 0x4af59c]
jmp dword [eax*4 + 0x4af584]
mov ecx, 0x500a48
mov edx, 7
jmp 0x4af2a9
mov ecx, 0x500a1c
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x500a58
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x5008d4
mov edx, 7
jmp 0x4af2a9
mov ecx, 0x500994
jmp 0x4af26d
test eax, eax
je case.0x4aedba.417
xor ecx, ecx
xor edx, edx
cmp dword [edx + 0x4ff6dc], eax
je 0x4aef53
inc ecx
imul edx, ecx, 0x354
cmp dword [edx + 0x4ff390], 0
jne 0x4aef32
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
imul eax, ecx, 0x354
mov edx, dword [eax + 0x4ff6d8]
lea ecx, [eax + 0x4ff6cc]
jmp 0x4af272
cmp eax, 0x1b6
ja 0x4aefac
je 0x4aef9d
cmp eax, 0x45
je 0x4aef8e
cmp eax, 0x1a2
jne case.0x4aedba.417
mov ecx, 0x5008e8
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x500a28
mov edx, 5
jmp 0x4af2a9
mov ecx, 0x500948
mov edx, 9
jmp 0x4af2a9
cmp eax, 0x1ca
je 0x4aefc4
cmp eax, 0x28c
jne case.0x4aedba.417
mov ecx, 0x500920
jmp 0x4af2a4
mov ecx, 0x500b5c
jmp 0x4af26d
add eax, 0xffffffbb
cmp eax, 0x63
ja case.0x4aedba.417
movzx eax, byte [eax + 0x4af658]
jmp dword [eax*4 + 0x4af628]
mov ecx, 0x500b58
mov edx, 3
jmp 0x4af2a9
mov ecx, 0x500a88
mov edx, 3
jmp 0x4af2a9
mov ecx, 0x5008b8
mov edx, 3
jmp 0x4af2a9
mov ecx, 0x500aec
jmp 0x4af2a4
mov ecx, 0x50079c
mov edx, 3
jmp 0x4af2a9
mov ecx, 0x500b48
mov edx, 3
jmp 0x4af2a9
mov ecx, 0x500a00
mov edx, 3
jmp 0x4af2a9
mov ecx, 0x500af4
mov edx, 3
jmp 0x4af2a9
mov ecx, 0x5008b4
mov edx, 3
jmp 0x4af2a9
mov ecx, 0x500b00
mov edx, 3
jmp 0x4af2a9
mov ecx, 0x500878
mov edx, 3
jmp 0x4af272
sub eax, 0x74
je 0x4af0a0
sub eax, 1
jne case.0x4aedba.417
mov ecx, 0x500954
jmp 0x4af2a4
mov ecx, 0x500b8c
mov edx, 8
jmp 0x4af272
xor ecx, ecx
mov edx, 4
cmp eax, 0x92
cmovne edx, ecx
xor edi, edi
cmp eax, 0x92
mov ecx, 0x5008bc
cmovne ecx, edi
jmp 0x4af272
xor ecx, ecx
mov edx, 8
cmp eax, 0x4f
cmovne edx, ecx
xor edi, edi
cmp eax, 0x4f
mov ecx, 0x500830
cmovne ecx, edi
jmp 0x4af272
add eax, 0xffffffb9
cmp eax, 0x50
ja case.0x4aedba.417
movzx eax, byte [eax + 0x4af6dc]
jmp dword [eax*4 + 0x4af6bc]
mov ecx, 0x5007fc
mov edx, 4
jmp 0x4af2a9
mov ecx, 0x5008cc
jmp 0x4af2a4
mov ecx, 0x500810
jmp 0x4af2a4
mov ecx, 0x500a3c
jmp 0x4af2a4
mov ecx, 0x500a50
jmp 0x4af2a4
mov ecx, 0x500ad8
jmp 0x4af2a4
mov ecx, 0x50089c
mov edx, 8
jmp 0x4af272
xor ecx, ecx
mov edx, 9
cmp eax, 0x294
cmovne edx, ecx
xor edi, edi
cmp eax, 0x294
mov ecx, 0x500b30
cmovne ecx, edi
jmp 0x4af272
cmp eax, 0x28b
ja 0x4af1ad
je case.0x4af197.0
cmp eax, 0xd
ja case.0x4aedba.417
movzx eax, byte [eax + 0x4af744]
jmp dword [eax*4 + 0x4af730]
mov ecx, 0x50095c
mov edx, 9
jmp 0x4af2a9
sub eax, 0x292
je case.0x4af197.2
sub eax, 1
je case.0x4af197.3
sub eax, 2
jne case.0x4aedba.417
mov ecx, 0x500890
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x500824
mov edx, 0xa
jmp 0x4af2a9
mov ecx, 0x500a30
jmp 0x4af26d
sub eax, 0x1a1
je 0x4af21b
sub eax, 0x14
je 0x4af20c
sub eax, 0x14
jne case.0x4aedba.417
mov ecx, 0x500a8c
lea edx, [eax + 9]
jmp 0x4af2a9
mov ecx, 0x500b3c
mov edx, 9
jmp 0x4af2a9
mov ecx, 0x5008dc
jmp 0x4af26d
cmp eax, 0xbf
ja 0x4af25d
je 0x4af251
sub eax, 0xbd
je 0x4af245
sub eax, 1
jne case.0x4aedba.417
mov ecx, 0x500b1c
lea edx, [eax + 6]
jmp 0x4af2a9
mov ecx, 0x500a80
mov edx, 6
jmp 0x4af2a9
mov ecx, 0x500a0c
mov edx, 6
jmp 0x4af2a9
cmp eax, 0x1d0
jne case.0x4aedba.417
mov ecx, 0x5009f4
mov edx, 9
test ecx, ecx
je case.0x4aedba.417
jmp 0x4af2a9
sub eax, 0x28d
je 0x4af29f
sub eax, 1
je 0x4af298
sub eax, 1
jne case.0x4aedba.417
mov ecx, 0x500844
jmp 0x4af2a4
mov ecx, 0x50098c
jmp 0x4af2a4
mov ecx, 0x500a98
mov edx, 8
cmp edx, dword [ebp + 0x10]
jne 0x4af30a
sub edx, 4
jb 0x4af2c4
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x4af2cd
add esi, 4
add ecx, 4
sub edx, 4
jae 0x4af2b3
cmp edx, 0xfffffffc
je case.0x4aedba.417
mov al, byte [esi]
cmp al, byte [ecx]
jne 0x4af30a
cmp edx, 0xfffffffd
je case.0x4aedba.417
mov al, byte [esi + 1]
cmp al, byte [ecx + 1]
jne 0x4af30a
cmp edx, 0xfffffffe
je case.0x4aedba.417
mov al, byte [esi + 2]
cmp al, byte [ecx + 2]
jne 0x4af30a
cmp edx, 0xffffffff
je case.0x4aedba.417
mov al, byte [esi + 3]
cmp al, byte [ecx + 3]
je case.0x4aedba.417
pop edi
pop esi
mov eax, 0xffffff6c
pop ebx
mov esp, ebp
pop ebp
ret