Function at 0x10077c80
Capabilities:
Encode data using xor
Encrypt data using curve25519

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
mov eax, dword [0x100f529c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push ebx
push esi
movups xmm0, xmmword [eax]
push edi
movups xmm1, xmmword [eax + 0x10]
mov edi, dword [ebp + 8]
movd eax, xmm0
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0xf0], edi
movups xmm0, xmmword [ecx]
and al, 0xf8
mov byte [ebp - 0x24], al
movups xmmword [ebp - 0x14], xmm1
psrldq xmm1, 0xc
movd eax, xmm1
movups xmmword [ebp - 0x44], xmm0
movups xmm0, xmmword [ecx + 0x10]
shr eax, 0x18
and al, 0x3f
or al, 0x40
mov byte [ebp - 5], al
movups xmmword [ebp - 0x34], xmm0
psrldq xmm0, 0xc
movd eax, xmm0
shr eax, 0x18
and al, 0x7f
mov byte [ebp - 0x25], al
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0xec]
push eax
call fcn.10070320
xorps xmm0, xmm0
add esp, 8
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x9c], 1
xor edi, edi
movups xmmword [ebp - 0x8c], xmm0
mov ebx, 0xfe
movq qword [ebp - 0x7c], xmm0
movups xmmword [ebp - 0x74], xmm0
movups xmmword [ebp - 0x64], xmm0
movq qword [ebp - 0x54], xmm0
movups xmm0, xmmword [ebp - 0xec]
movups xmmword [ebp - 0xc4], xmm0
movups xmm0, xmmword [ebp - 0xdc]
movups xmmword [ebp - 0xb4], xmm0
movq xmm0, qword [ebp - 0xcc]
movq qword [ebp - 0xa4], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x4c], 1
movups xmmword [ebp - 0x3c], xmm0
movq qword [ebp - 0x2c], xmm0
nop word [eax + eax]
mov eax, ebx
movzx ecx, bl
shr eax, 3
and ecx, 7
movzx esi, byte [ebp + eax - 0x24]
lea eax, [ebp - 0xc4]
shr esi, cl
and esi, 1
xor edi, esi
push edi
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.1006eca0
push edi
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.1006eca0
lea eax, [ebp - 0x4c]
mov edi, esi
push eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.1006f3d0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x1e0]
push eax
call fcn.1006f3d0
mov eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x9c]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x98]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x94]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x68]
add eax, dword [ebp - 0x90]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x88]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x84]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x80]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x7c]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x78]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0xc4]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0xc0]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0xbc]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0xb8]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0xb4]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0xb0]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0xac]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0xa8]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0xa4]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.1006f830
lea eax, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.1006f830
add esp, 0x48
lea eax, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.1006fe80
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.1006fe80
mov eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x70]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x68]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x60]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x54]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x50]
mov dword [ebp - 0x194], eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.1006f3d0
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.1006f830
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x1e0]
push eax
call fcn.1006f3d0
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.1006fe80
lea eax, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.1006efb0
add esp, 0x44
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.1006fe80
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x13c]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x138]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x134]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x130]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x12c]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x128]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x124]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x120]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x11c]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.1006f830
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.1006f830
add esp, 0x20
sub ebx, 1
jns 0x10077d80
push esi
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.1006eca0
push esi
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.1006eca0
movups xmm0, xmmword [ebp - 0x74]
lea eax, [ebp - 0xec]
push eax
movups xmmword [ebp - 0xec], xmm0
lea eax, [ebp - 0x74]
movups xmm0, xmmword [ebp - 0x64]
push eax
movups xmmword [ebp - 0xdc], xmm0
movq xmm0, qword [ebp - 0x54]
movq qword [ebp - 0xcc], xmm0
call fcn.1006ed70
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x9c]
push eax
push eax
call fcn.1006f830
mov edi, dword [ebp - 0xf0]
lea eax, [ebp - 0x9c]
push eax
push edi
call fcn.1006f4a0
mov ecx, dword [ebp - 4]
add esp, 0x34
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.100a69cd
mov esp, ebp
pop ebp
ret