Function at 0x44d4b0
Capabilities:
Encrypt data using curve25519

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 0x18], 2
mov eax, dword [ebp + 0x10]
push esi
push edi
mov edi, ecx
je 0x44d524
test eax, eax
je 0x44d4ee
mov eax, dword [eax + 4]
test eax, eax
je 0x44d4ee
cmp dword [eax], 0xffffffff
je 0x44d4ee
push 0x3b
push str.....cryptoececx_meth.c
push 0x66
push 0x10a
push 0x10
call fcn.004058f0
add esp, 0x14
pop edi
xor eax, eax
pop esi
pop ebp
ret
cmp dword [ebp + 0x14], 0
je 0x44d520
mov esi, dword [ebp + 0xc]
cmp esi, 0x40a
je 0x44d517
cmp esi, 0x43f
je 0x44d517
xor eax, eax
cmp esi, 0x40b
setne al
add eax, 0x38
jmp 0x44d51c
mov eax, 0x20
cmp edi, eax
je 0x44d527
push 0x41
jmp 0x44d4d2
mov esi, dword [ebp + 0xc]
mov eax, dword [fcn.00413cb0]
push ebx
test eax, eax
je 0x44d548
cmp eax, fcn.00413cb0
je 0x44d548
push 0x46
push str.....cryptoececx_meth.c
push 0x40
call eax
add esp, 0xc
jmp 0x44d565
cmp dword [0x6cc8e4], 0
je 0x44d55b
mov dword [0x6cc8e4], 0
push 0x40
call fcn.005e325a
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x44d591
push 0x40
push 0
push ebx
call fcn.005dd9b0
add esp, 0xc
cmp dword [ebp + 0x18], 0
jne 0x44d5b0
mov eax, dword [ebp + 0x14]
push edi
push eax
push ebx
call fcn.005e12d0
add esp, 0xc
jmp case.0x44d6c2.1036
push 0x48
push str.....cryptoececx_meth.c
push 0x41
push 0x10a
push 0x10
call fcn.004058f0
add esp, 0x14
pop ebx
pop edi
xor eax, eax
pop esi
pop ebp
ret
cmp esi, 0x40a
je 0x44d5d0
cmp esi, 0x43f
je 0x44d5d0
xor ecx, ecx
cmp esi, 0x40b
setne cl
add ecx, 0x38
jmp 0x44d5d5
mov ecx, 0x20
push str.....cryptoececx_meth.c
mov edx, 0x50
call fcn.0041b020
mov edi, eax
add esp, 4
mov dword [ebx + 0x3c], edi
test edi, edi
jne 0x44d60a
push 0x52
push str.....cryptoececx_meth.c
push 0x41
push 0x10a
push 0x10
call fcn.004058f0
add esp, 0x14
jmp 0x44d65d
cmp dword [ebp + 0x18], 2
jne 0x44d6d9
cmp esi, 0x40a
je 0x44d634
cmp esi, 0x43f
je 0x44d634
xor ecx, ecx
cmp esi, 0x40b
setne cl
lea esi, [ecx + 0x38]
jmp 0x44d639
mov esi, 0x20
call fcn.00403220
test eax, eax
jg 0x44d691
push str.....cryptoececx_meth.c
mov edx, 0x57
mov ecx, edi
call fcn.0041b0d0
add esp, 4
mov dword [ebx + 0x3c], 0
mov eax, dword [fcn.00413ef0]
test eax, eax
je 0x44d681
cmp eax, fcn.00413ef0
je 0x44d681
push 0x79
push str.....cryptoececx_meth.c
push ebx
call eax
add esp, 0xc
pop ebx
pop edi
xor eax, eax
pop esi
pop ebp
ret
push ebx
call fcn.005dcea1
add esp, 4
pop ebx
pop edi
xor eax, eax
pop esi
pop ebp
ret
mov eax, dword [ebp + 0xc]
cmp eax, 0x40a
jne 0x44d6c9
mov dl, byte [edi + 0x1f]
and byte [edi], 0xf8
and dl, 0x3f
or dl, 0x40
mov byte [edi + 0x1f], dl
mov esi, eax
lea eax, [esi - 0x40a]
cmp eax, 0x36
ja case.0x44d6c2.1036
movzx ecx, byte [eax + 0x44d780]
jmp dword [ecx*4 + 0x44d76c]
cmp eax, 0x40b
jne 0x44d6aa
and byte [edi], 0xfc
or byte [edi + 0x37], 0x80
jmp 0x44d6aa
cmp esi, 0x40a
je 0x44d707
cmp esi, 0x43f
je 0x44d707
xor eax, eax
cmp esi, 0x40b
setne al
add eax, 0x38
push eax
mov eax, dword [ebp + 0x14]
push eax
push edi
call fcn.005e12d0
add esp, 0xc
jmp 0x44d6ac
mov eax, 0x20
push eax
mov eax, dword [ebp + 0x14]
push eax
push edi
call fcn.005e12d0
add esp, 0xc
jmp 0x44d6ac
push ebx
mov ecx, edi
call fcn.004a5120
jmp 0x44d743
mov edx, edi
mov edi, ebx
call fcn.004a4fd0
jmp case.0x44d6c2.1036
push ebx
mov ecx, edi
call fcn.004a74c0
jmp 0x44d743
push edi
mov edi, ebx
call fcn.004a85c0
add esp, 4
mov edi, dword [ebp + 8]
test edi, edi
je 0x44d75f
push esi
mov ecx, edi
call fcn.00408920
add esp, 4
test eax, eax
je 0x44d75f
mov dword [edi + 0x18], ebx
pop ebx
pop edi
mov eax, 1
pop esi
pop ebp
ret