Function at 0x4aef70
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 0x4aefb5
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 0x4aefa1
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [eax], edi
cmp ecx, 0x15
je case.0x4af01a.417
mov eax, dword [ebx]
cmp ecx, 0xf
ja case.0x4af01a.417
jmp dword [ecx*4 + 0x4af578]
cmp eax, 0x19e
ja 0x4af003
je 0x4aeff4
cmp eax, 0x58
jne case.0x4af01a.417
mov ecx, 0x5019b8
lea edx, [eax - 0x53]
jmp 0x4af509
mov ecx, 0x5018f4
mov edx, 9
jmp 0x4af509
add eax, 0xfffffe61
cmp eax, 0xea
ja case.0x4af01a.417
movzx eax, byte [eax + 0x4af5d0]
jmp dword [eax*4 + 0x4af5b8]
mov ecx, 0x50192c
jmp 0x4af504
mov ecx, 0x501a64
mov edx, 9
jmp 0x4af509
mov ecx, 0x501818
mov edx, 9
jmp 0x4af509
mov ecx, 0x501a70
mov edx, 9
jmp 0x4af509
mov ecx, 0x501b4c
jmp 0x4af4cd
add eax, 0xfffffe60
cmp eax, 0xf1
ja case.0x4af01a.417
movzx eax, byte [eax + 0x4af6f0]
jmp dword [eax*4 + 0x4af6bc]
mov ecx, 0x5018c4
mov edx, 7
jmp 0x4af509
mov ecx, 0x501b24
mov edx, 9
jmp 0x4af509
mov ecx, 0x501884
mov edx, 9
jmp 0x4af509
mov ecx, 0x501804
mov edx, 9
jmp 0x4af509
mov ecx, 0x50197c
mov edx, 9
jmp 0x4af509
mov ecx, 0x501b6c
mov edx, 9
jmp 0x4af509
mov ecx, 0x501914
mov edx, 9
jmp 0x4af509
mov ecx, 0x501ac8
mov edx, 9
jmp 0x4af509
mov ecx, 0x50187c
mov edx, 7
jmp 0x4af509
mov ecx, 0x501abc
jmp 0x4af504
mov ecx, 0x501900
jmp 0x4af504
mov ecx, 0x501a14
mov edx, 8
jmp 0x4af4d2
add eax, 0xfffffdfd
cmp eax, 0x8b
ja case.0x4af01a.417
movzx eax, byte [eax + 0x4af7fc]
jmp dword [eax*4 + 0x4af7e4]
mov ecx, 0x501a48
mov edx, 7
jmp 0x4af509
mov ecx, 0x501a1c
mov edx, 9
jmp 0x4af509
mov ecx, 0x501a58
mov edx, 9
jmp 0x4af509
mov ecx, 0x5018d4
mov edx, 7
jmp 0x4af509
mov ecx, 0x501994
jmp 0x4af4cd
test eax, eax
je case.0x4af01a.417
xor ecx, ecx
xor edx, edx
cmp dword [edx + 0x5006dc], eax
je 0x4af1b3
inc ecx
imul edx, ecx, 0x354
cmp dword [edx + 0x500390], 0
jne 0x4af192
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
imul eax, ecx, 0x354
mov edx, dword [eax + 0x5006d8]
lea ecx, [eax + 0x5006cc]
jmp 0x4af4d2
cmp eax, 0x1b6
ja 0x4af20c
je 0x4af1fd
cmp eax, 0x45
je 0x4af1ee
cmp eax, 0x1a2
jne case.0x4af01a.417
mov ecx, 0x5018e8
mov edx, 9
jmp 0x4af509
mov ecx, 0x501a28
mov edx, 5
jmp 0x4af509
mov ecx, 0x501948
mov edx, 9
jmp 0x4af509
cmp eax, 0x1ca
je 0x4af224
cmp eax, 0x28c
jne case.0x4af01a.417
mov ecx, 0x501920
jmp 0x4af504
mov ecx, 0x501b5c
jmp 0x4af4cd
add eax, 0xffffffbb
cmp eax, 0x63
ja case.0x4af01a.417
movzx eax, byte [eax + 0x4af8b8]
jmp dword [eax*4 + 0x4af888]
mov ecx, 0x501b58
mov edx, 3
jmp 0x4af509
mov ecx, 0x501a88
mov edx, 3
jmp 0x4af509
mov ecx, 0x5018b8
mov edx, 3
jmp 0x4af509
mov ecx, 0x501aec
jmp 0x4af504
mov ecx, 0x50179c
mov edx, 3
jmp 0x4af509
mov ecx, 0x501b48
mov edx, 3
jmp 0x4af509
mov ecx, 0x501a00
mov edx, 3
jmp 0x4af509
mov ecx, 0x501af4
mov edx, 3
jmp 0x4af509
mov ecx, 0x5018b4
mov edx, 3
jmp 0x4af509
mov ecx, 0x501b00
mov edx, 3
jmp 0x4af509
mov ecx, 0x501878
mov edx, 3
jmp 0x4af4d2
sub eax, 0x74
je 0x4af300
sub eax, 1
jne case.0x4af01a.417
mov ecx, 0x501954
jmp 0x4af504
mov ecx, 0x501b8c
mov edx, 8
jmp 0x4af4d2
xor ecx, ecx
mov edx, 4
cmp eax, 0x92
cmovne edx, ecx
xor edi, edi
cmp eax, 0x92
mov ecx, 0x5018bc
cmovne ecx, edi
jmp 0x4af4d2
xor ecx, ecx
mov edx, 8
cmp eax, 0x4f
cmovne edx, ecx
xor edi, edi
cmp eax, 0x4f
mov ecx, 0x501830
cmovne ecx, edi
jmp 0x4af4d2
add eax, 0xffffffb9
cmp eax, 0x50
ja case.0x4af01a.417
movzx eax, byte [eax + 0x4af93c]
jmp dword [eax*4 + 0x4af91c]
mov ecx, 0x5017fc
mov edx, 4
jmp 0x4af509
mov ecx, 0x5018cc
jmp 0x4af504
mov ecx, 0x501810
jmp 0x4af504
mov ecx, 0x501a3c
jmp 0x4af504
mov ecx, 0x501a50
jmp 0x4af504
mov ecx, 0x501ad8
jmp 0x4af504
mov ecx, 0x50189c
mov edx, 8
jmp 0x4af4d2
xor ecx, ecx
mov edx, 9
cmp eax, 0x294
cmovne edx, ecx
xor edi, edi
cmp eax, 0x294
mov ecx, 0x501b30
cmovne ecx, edi
jmp 0x4af4d2
cmp eax, 0x28b
ja 0x4af40d
je case.0x4af3f7.0
cmp eax, 0xd
ja case.0x4af01a.417
movzx eax, byte [eax + 0x4af9a4]
jmp dword [eax*4 + 0x4af990]
mov ecx, 0x50195c
mov edx, 9
jmp 0x4af509
sub eax, 0x292
je case.0x4af3f7.2
sub eax, 1
je case.0x4af3f7.3
sub eax, 2
jne case.0x4af01a.417
mov ecx, 0x501890
mov edx, 9
jmp 0x4af509
mov ecx, 0x501824
mov edx, 0xa
jmp 0x4af509
mov ecx, 0x501a30
jmp 0x4af4cd
sub eax, 0x1a1
je 0x4af47b
sub eax, 0x14
je 0x4af46c
sub eax, 0x14
jne case.0x4af01a.417
mov ecx, 0x501a8c
lea edx, [eax + 9]
jmp 0x4af509
mov ecx, 0x501b3c
mov edx, 9
jmp 0x4af509
mov ecx, 0x5018dc
jmp 0x4af4cd
cmp eax, 0xbf
ja 0x4af4bd
je 0x4af4b1
sub eax, 0xbd
je 0x4af4a5
sub eax, 1
jne case.0x4af01a.417
mov ecx, 0x501b1c
lea edx, [eax + 6]
jmp 0x4af509
mov ecx, 0x501a80
mov edx, 6
jmp 0x4af509
mov ecx, 0x501a0c
mov edx, 6
jmp 0x4af509
cmp eax, 0x1d0
jne case.0x4af01a.417
mov ecx, 0x5019f4
mov edx, 9
test ecx, ecx
je case.0x4af01a.417
jmp 0x4af509
sub eax, 0x28d
je 0x4af4ff
sub eax, 1
je 0x4af4f8
sub eax, 1
jne case.0x4af01a.417
mov ecx, 0x501844
jmp 0x4af504
mov ecx, 0x50198c
jmp 0x4af504
mov ecx, 0x501a98
mov edx, 8
cmp edx, dword [ebp + 0x10]
jne 0x4af56a
sub edx, 4
jb 0x4af524
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x4af52d
add esi, 4
add ecx, 4
sub edx, 4
jae 0x4af513
cmp edx, 0xfffffffc
je case.0x4af01a.417
mov al, byte [esi]
cmp al, byte [ecx]
jne 0x4af56a
cmp edx, 0xfffffffd
je case.0x4af01a.417
mov al, byte [esi + 1]
cmp al, byte [ecx + 1]
jne 0x4af56a
cmp edx, 0xfffffffe
je case.0x4af01a.417
mov al, byte [esi + 2]
cmp al, byte [ecx + 2]
jne 0x4af56a
cmp edx, 0xffffffff
je case.0x4af01a.417
mov al, byte [esi + 3]
cmp al, byte [ecx + 3]
je case.0x4af01a.417
pop edi
pop esi
mov eax, 0xffffff6c
pop ebx
mov esp, ebp
pop ebp
ret