Function at 0x1007b280
Capabilities:
Encrypt data using curve25519

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5b0
mov eax, dword [0x101114bc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
push ebx
push esi
mov esi, dword [ebp + 0xc]
movlpd qword [ebp - 0x5ac], xmm0
mov edx, dword [ebp - 0x5a8]
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x5b0], eax
mov eax, dword [ebp - 0x5ac]
nop dword [eax]
mov cl, byte [eax + esi]
mov byte [ebp + eax - 0x24], cl
add eax, 1
adc edx, 0
js 0x1007b2c0
jg 0x1007b2d6
cmp eax, 0x1f
jb 0x1007b2c0
mov al, byte [esi + 0x1f]
and byte [ebp - 0x24], 0xf8
and al, 0x3f
or al, 0x40
mov byte [ebp - 5], al
lea eax, [ebp - 0x524]
push edi
push eax
call fcn.1007cff0
xorps xmm0, xmm0
add esp, 8
movlpd qword [ebp - 0x5ac], xmm0
mov edx, dword [ebp - 0x5a8]
mov ecx, dword [ebp - 0x5ac]
nop dword [eax + eax]
mov eax, dword [ebp + ecx*8 - 0x524]
mov dword [ebp + ecx*8 - 0x224], eax
mov eax, dword [ebp + ecx*8 - 0x520]
mov dword [ebp + ecx*8 - 0x124], 0
mov dword [ebp + ecx*8 - 0xa4], 0
mov dword [ebp + ecx*8 - 0x1a4], 0
mov dword [ebp + ecx*8 - 0x220], eax
mov dword [ebp + ecx*8 - 0x120], 0
mov dword [ebp + ecx*8 - 0xa0], 0
mov dword [ebp + ecx*8 - 0x1a0], 0
add ecx, 1
adc edx, 0
js 0x1007b310
jg 0x1007b37d
cmp ecx, 0x10
jb 0x1007b310
mov dword [ebp - 0x1a4], 1
mov ebx, 0xfe
mov dword [ebp - 0x1a0], 0
xor edi, edi
mov dword [ebp - 0xa4], 1
mov dword [ebp - 0xa0], 0
nop dword [eax]
mov ecx, ebx
mov eax, edi
shrd ecx, eax, 3
lea eax, [ebp - 0x224]
movzx esi, byte [ebp + ecx - 0x24]
movzx ecx, bl
and ecx, 7
shr esi, cl
and esi, 1
push esi
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.1007cf70
push esi
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.1007cf70
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.10079620
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0xa4]
push eax
push eax
call fcn.100798a0
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.10079620
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x224]
push eax
push eax
call fcn.100798a0
add esp, 0x48
lea eax, [ebp - 0x2a4]
push eax
push eax
lea eax, [ebp - 0x1a4]
push eax
call fcn.10079700
lea eax, [ebp - 0xa4]
push eax
push eax
lea eax, [ebp - 0x5a4]
push eax
call fcn.10079700
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.10079700
lea eax, [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.10079700
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.10079620
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0xa4]
push eax
push eax
call fcn.100798a0
add esp, 0x48
lea eax, [ebp - 0xa4]
push eax
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.10079700
lea eax, [ebp - 0x5a4]
push eax
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.100798a0
push 0x100f7f90
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.10079700
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0xa4]
push eax
push eax
call fcn.10079620
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x124]
push eax
push eax
call fcn.10079700
lea eax, [ebp - 0x5a4]
push eax
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.10079700
add esp, 0x48
lea eax, [ebp - 0x524]
push eax
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x1a4]
push eax
call fcn.10079700
lea eax, [ebp - 0x2a4]
push eax
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.10079700
push esi
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.1007cf70
push esi
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.1007cf70
add esp, 0x30
add ebx, 0xffffffff
adc edi, 0xffffffff
test edi, edi
jg 0x1007b3b0
jl 0x1007b5d8
test ebx, ebx
jae 0x1007b3b0
pop edi
xorps xmm0, xmm0
movlpd qword [ebp - 0x5ac], xmm0
mov edx, dword [ebp - 0x5a8]
mov ecx, dword [ebp - 0x5ac]
pop esi
pop ebx
mov eax, dword [ebp + ecx*8 - 0xa4]
mov dword [ebp + ecx*8 - 0x4a4], eax
mov eax, dword [ebp + ecx*8 - 0xa0]
mov dword [ebp + ecx*8 - 0x4a0], eax
mov eax, dword [ebp + ecx*8 - 0x124]
mov dword [ebp + ecx*8 - 0x424], eax
mov eax, dword [ebp + ecx*8 - 0x120]
mov dword [ebp + ecx*8 - 0x420], eax
mov eax, dword [ebp + ecx*8 - 0x224]
mov dword [ebp + ecx*8 - 0x3a4], eax
mov eax, dword [ebp + ecx*8 - 0x220]
mov dword [ebp + ecx*8 - 0x3a0], eax
mov eax, dword [ebp + ecx*8 - 0x1a4]
mov dword [ebp + ecx*8 - 0x324], eax
mov eax, dword [ebp + ecx*8 - 0x1a0]
mov dword [ebp + ecx*8 - 0x320], eax
add ecx, 1
adc edx, 0
js 0x1007b5f2
jg 0x1007b671
cmp ecx, 0x10
jb 0x1007b5f2
lea eax, [ebp - 0x424]
push eax
push eax
call fcn.1007c440
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x4a4]
push eax
push eax
call fcn.10079700
lea eax, [ebp - 0x4a4]
push eax
push dword [ebp - 0x5b0]
call fcn.1007c960
mov ecx, dword [ebp - 4]
add esp, 0x1c
xor ecx, ebp
xor eax, eax
call fcn.10085c29
mov esp, ebp
pop ebp
ret