Function at 0x4fdda0
Capabilities:
Encrypt data using curve25519

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, dword [ebp + 0x1c]
push edi
mov edi, dword [ebp + 0xc]
cmp esi, 2
je 0x4fde23
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4fddef
push eax
push 0
lea eax, [ebp - 4]
push eax
push 0
call fcn.004d95c0
add esp, 0x10
cmp dword [ebp - 4], 0xffffffff
je 0x4fddef
push 0x3a
push str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_crypto_ec_ecx_meth.c
push 0x66
push 0x10a
push 0x10
call fcn.004ace10
add esp, 0x14
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x14], 0
je 0x4fde1f
cmp edi, 0x40a
je 0x4fde15
cmp edi, 0x43f
je 0x4fde15
xor eax, eax
cmp edi, 0x40b
setne al
add eax, 0x38
jmp 0x4fde1a
mov eax, 0x20
cmp dword [ebp + 0x18], eax
je 0x4fde23
push 0x40
jmp 0x4fddd1
push ebx
push 0x45
push str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_crypto_ec_ecx_meth.c
push 0x40
call fcn.004ad580
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4fde5c
push 0x47
push str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_crypto_ec_ecx_meth.c
push 0x41
push 0x10a
push 0x10
call fcn.004ace10
add esp, 0x14
xor eax, eax
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test esi, esi
jne 0x4fde75
push dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
push eax
push ebx
call fcn.00594dc0
add esp, 0xc
jmp case.0x4fdfa7.1036
cmp edi, 0x40a
je 0x4fde95
cmp edi, 0x43f
je 0x4fde95
xor eax, eax
cmp edi, 0x40b
setne al
add eax, 0x38
jmp 0x4fde9a
mov eax, 0x20
push 0x4f
push str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_crypto_ec_ecx_meth.c
push eax
call fcn.004ad630
mov esi, eax
add esp, 0xc
mov dword [ebx + 0x3c], esi
test esi, esi
jne 0x4fdecd
push 0x51
push str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_crypto_ec_ecx_meth.c
push 0x41
push 0x10a
push 0x10
call fcn.004ace10
add esp, 0x14
jmp 0x4fdf21
cmp dword [ebp + 0x1c], 2
jne 0x4fdf62
cmp edi, 0x40a
je 0x4fdef7
cmp edi, 0x43f
je 0x4fdef7
xor eax, eax
cmp edi, 0x40b
setne al
add eax, 0x38
jmp 0x4fdefc
mov eax, 0x20
push eax
push esi
call fcn.004a2260
add esp, 8
test eax, eax
jg 0x4fdf3a
push 0x56
push str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_crypto_ec_ecx_meth.c
push esi
call fcn.004ad620
add esp, 0xc
mov dword [ebx + 0x3c], 0
push 0x78
push str.c:_cygwin_home_shachar_zon_new_pkg_lib_openssl_crypto_ec_ecx_meth.c
push ebx
call fcn.004ad370
add esp, 0xc
xor eax, eax
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edi, 0x40a
jne 0x4fdf51
mov al, byte [esi + 0x1f]
and byte [esi], 0xf8
and al, 0x3f
or al, 0x40
mov byte [esi + 0x1f], al
jmp 0x4fdf95
cmp edi, 0x40b
jne 0x4fdf95
and byte [esi], 0xfc
or byte [esi + 0x37], 0x80
jmp 0x4fdf95
cmp edi, 0x40a
je 0x4fdf82
cmp edi, 0x43f
je 0x4fdf82
xor eax, eax
cmp edi, 0x40b
setne al
add eax, 0x38
jmp 0x4fdf87
mov eax, 0x20
push eax
mov eax, dword [ebp + 0x14]
push eax
push esi
call fcn.00594dc0
add esp, 0xc
lea eax, [edi - 0x40a]
cmp eax, 0x36
ja case.0x4fdfa7.1036
movzx eax, byte [eax + 0x4fe000]
jmp dword [eax*4 + 0x4fdfec]
push esi
push ebx
call fcn.0055d360
jmp 0x4fdfd0
push esi
push ebx
call fcn.0055cff0
jmp 0x4fdfd0
push esi
push ebx
call fcn.0055a9d0
jmp 0x4fdfd0
push esi
push ebx
call fcn.0055c990
add esp, 8
push ebx
push edi
push dword [ebp + 8]
call fcn.004a9120
add esp, 0xc
mov eax, 1
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret