Function at 0x140017630
Capabilities:
Encrypt data using des

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
mov rsi, rcx
lea r14, [0x14006ca40]
mov r10d, edx
mov ebp, 0x3f
shr r10d, 4
mov rbx, r9
mov r9d, dword [r9 + 0x7c]
xor r10d, r8d
and r10d, 0xf0f0f0f
xor r8d, r10d
mov eax, r10d
shl eax, 4
xor edx, eax
mov eax, edx
shr eax, 0x10
xor eax, r8d
movzx ecx, ax
xor r8d, ecx
mov eax, ecx
shl eax, 0x10
mov ecx, r8d
xor edx, eax
shr ecx, 2
xor ecx, edx
and ecx, 0x33333333
xor edx, ecx
mov eax, ecx
shl eax, 2
xor r8d, eax
mov ecx, r8d
shr ecx, 8
xor ecx, edx
and ecx, 0xff00ff
xor edx, ecx
mov eax, ecx
shl eax, 8
mov ecx, edx
xor r8d, eax
shr ecx, 1
xor ecx, r8d
and ecx, 0x55555555
mov edi, ecx
xor edi, r8d
rol edi, 1
lea r11d, [rcx + rcx]
mov eax, edi
xor r9, rax
xor r11d, edx
mov eax, dword [rbx + 0x3c]
xor eax, edi
rol r11d, 1
ror eax, 4
mov ecx, eax
mov r8d, eax
mov rax, r9
shr rax, 8
and rax, rbp
shr rcx, 8
and rcx, rbp
mov edx, dword [r14 + rcx*4 + 0x400]
or edx, dword [r14 + rax*4 + 0x500]
mov eax, r8d
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4]
mov eax, r8d
shr rax, 0x10
and r8, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x200]
mov rax, r9
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4 + 0x100]
mov rax, r9
shr rax, 0x10
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x300]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r9d, dword [rbx + 0x78]
xor r11d, edx
mov eax, r11d
xor r9, rax
mov eax, dword [rbx + 0x38]
xor eax, r11d
ror eax, 4
mov ecx, eax
mov r8d, eax
shr rax, 0x10
and rax, rbp
shr rcx, 0x18
and rcx, rbp
mov edx, dword [r14 + rcx*4]
or edx, dword [r14 + rax*4 + 0x200]
mov eax, r8d
shr rax, 8
and r8, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x400]
mov rax, r9
shr rax, 8
and rax, rbp
or edx, dword [r14 + rax*4 + 0x500]
mov rax, r9
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4 + 0x100]
mov rax, r9
shr rax, 0x10
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x300]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r9d, dword [rbx + 0x74]
xor edi, edx
mov eax, edi
xor r9, rax
mov eax, dword [rbx + 0x34]
xor eax, edi
ror eax, 4
mov ecx, eax
mov r8d, eax
mov rax, r9
shr rax, 8
and rax, rbp
shr rcx, 8
and rcx, rbp
mov edx, dword [r14 + rcx*4 + 0x400]
or edx, dword [r14 + rax*4 + 0x500]
mov rax, r9
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4 + 0x100]
mov rax, r9
shr rax, 0x10
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x300]
mov eax, r8d
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4]
mov eax, r8d
shr rax, 0x10
and r8, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x200]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r9d, dword [rbx + 0x70]
xor r11d, edx
mov eax, r11d
xor r9, rax
mov eax, dword [rbx + 0x30]
xor eax, r11d
ror eax, 4
mov ecx, eax
shr rcx, 8
mov r8d, eax
and rcx, rbp
mov rax, r9
shr rax, 8
and rax, rbp
mov edx, dword [r14 + rcx*4 + 0x400]
or edx, dword [r14 + rax*4 + 0x500]
mov eax, r8d
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4]
mov eax, r8d
shr rax, 0x10
and r8, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x200]
mov rax, r9
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4 + 0x100]
mov rax, r9
shr rax, 0x10
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x300]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r9d, dword [rbx + 0x6c]
xor edi, edx
mov eax, edi
xor r9, rax
mov eax, dword [rbx + 0x2c]
xor eax, edi
ror eax, 4
mov ecx, eax
mov r8d, eax
mov rax, r9
shr rax, 8
and rax, rbp
shr rcx, 8
and rcx, rbp
mov edx, dword [r14 + rcx*4 + 0x400]
or edx, dword [r14 + rax*4 + 0x500]
mov eax, r8d
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4]
mov eax, r8d
shr rax, 0x10
and r8, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x200]
mov rax, r9
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4 + 0x100]
mov rax, r9
shr rax, 0x10
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x300]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r9d, dword [rbx + 0x68]
xor r11d, edx
mov eax, r11d
xor r9, rax
mov eax, dword [rbx + 0x28]
xor eax, r11d
ror eax, 4
mov ecx, eax
mov r8d, eax
mov rax, r9
shr rax, 8
and rax, rbp
shr rcx, 8
and rcx, rbp
mov edx, dword [r14 + rcx*4 + 0x400]
or edx, dword [r14 + rax*4 + 0x500]
mov eax, r8d
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4]
mov eax, r8d
shr rax, 0x10
and r8, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x200]
mov rax, r9
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4 + 0x100]
mov rax, r9
shr rax, 0x10
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x300]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r9d, dword [rbx + 0x64]
xor edi, edx
mov eax, edi
xor r9, rax
mov eax, dword [rbx + 0x24]
xor eax, edi
ror eax, 4
mov ecx, eax
mov r8d, eax
mov rax, r9
shr rax, 8
and rax, rbp
shr rcx, 8
and rcx, rbp
mov edx, dword [r14 + rcx*4 + 0x400]
or edx, dword [r14 + rax*4 + 0x500]
mov eax, r8d
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4]
mov eax, r8d
shr rax, 0x10
and r8, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x200]
mov rax, r9
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4 + 0x100]
mov rax, r9
shr rax, 0x10
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x300]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r9d, dword [rbx + 0x60]
xor r11d, edx
mov eax, r11d
xor r9, rax
mov eax, dword [rbx + 0x20]
xor eax, r11d
ror eax, 4
mov ecx, eax
mov r8d, eax
mov rax, r9
shr rax, 8
and rax, rbp
shr rcx, 8
and rcx, rbp
mov edx, dword [r14 + rcx*4 + 0x400]
or edx, dword [r14 + rax*4 + 0x500]
mov eax, r8d
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4]
mov eax, r8d
shr rax, 0x10
and rax, rbp
or edx, dword [r14 + rax*4 + 0x200]
mov rax, r9
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4 + 0x100]
mov rax, r9
and r8, rbp
shr rax, 0x10
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x300]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r9d, dword [rbx + 0x5c]
xor edi, edx
mov eax, edi
xor r9, rax
mov eax, dword [rbx + 0x1c]
xor eax, edi
ror eax, 4
mov ecx, eax
mov r8d, eax
shr rax, 0x10
and rax, rbp
shr rcx, 0x18
and rcx, rbp
mov edx, dword [r14 + rcx*4]
or edx, dword [r14 + rax*4 + 0x200]
mov rax, r9
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4 + 0x100]
mov rax, r9
shr rax, 0x10
and rax, rbp
or edx, dword [r14 + rax*4 + 0x300]
mov eax, r8d
shr rax, 8
and r8, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x400]
mov rax, r9
shr rax, 8
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x500]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r9d, dword [rbx + 0x58]
xor r11d, edx
mov eax, r11d
xor r9, rax
mov eax, dword [rbx + 0x18]
xor eax, r11d
ror eax, 4
mov ecx, eax
mov r8d, eax
shr rax, 0x10
and rax, rbp
shr rcx, 0x18
and rcx, rbp
mov edx, dword [r14 + rcx*4]
or edx, dword [r14 + rax*4 + 0x200]
mov rax, r9
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4 + 0x100]
mov rax, r9
shr rax, 0x10
and rax, rbp
or edx, dword [r14 + rax*4 + 0x300]
mov eax, r8d
shr rax, 8
and r8, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x400]
mov rax, r9
shr rax, 8
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x500]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r9d, dword [rbx + 0x54]
xor edi, edx
mov eax, edi
xor r9, rax
mov r8d, dword [rbx + 0x14]
xor r8d, edi
mov rcx, r9
ror r8d, 4
mov rax, r9
shr rax, 0x10
and rax, rbp
shr rcx, 0x18
and rcx, rbp
mov edx, dword [r14 + rcx*4 + 0x100]
or edx, dword [r14 + rax*4 + 0x300]
mov eax, r8d
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4]
mov eax, r8d
shr rax, 0x10
and rax, rbp
or edx, dword [r14 + rax*4 + 0x200]
mov eax, r8d
shr rax, 8
and r8, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x400]
mov rax, r9
shr rax, 8
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x500]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r8d, dword [rbx + 0x10]
xor r11d, edx
mov r9d, dword [rbx + 0x50]
xor r8d, r11d
ror r8d, 4
mov eax, r11d
xor r9, rax
mov rcx, r9
mov rax, r9
shr rax, 0x10
and rax, rbp
shr rcx, 0x18
and rcx, rbp
mov edx, dword [r14 + rcx*4 + 0x100]
or edx, dword [r14 + rax*4 + 0x300]
mov eax, r8d
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4]
mov eax, r8d
shr rax, 0x10
and rax, rbp
or edx, dword [r14 + rax*4 + 0x200]
mov eax, r8d
shr rax, 8
and r8, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x400]
mov rax, r9
shr rax, 8
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x500]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r9d, dword [rbx + 0x4c]
xor edi, edx
mov r8d, dword [rbx + 0xc]
mov eax, edi
xor r8d, edi
xor r9, rax
ror r8d, 4
mov rcx, r9
mov rax, r9
shr rcx, 0x18
and rcx, rbp
shr rax, 0x10
and rax, rbp
mov edx, dword [r14 + rcx*4 + 0x100]
or edx, dword [r14 + rax*4 + 0x300]
mov eax, r8d
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4]
mov eax, r8d
shr rax, 0x10
and rax, rbp
or edx, dword [r14 + rax*4 + 0x200]
mov eax, r8d
shr rax, 8
and r8, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x400]
mov rax, r9
shr rax, 8
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x500]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r9d, dword [rbx + 0x48]
xor r11d, edx
mov eax, r11d
xor r9, rax
mov eax, dword [rbx + 8]
xor eax, r11d
ror eax, 4
mov ecx, eax
mov r8d, eax
shr rax, 0x10
and rax, rbp
shr rcx, 0x18
and rcx, rbp
mov edx, dword [r14 + rcx*4]
or edx, dword [r14 + rax*4 + 0x200]
mov eax, r8d
shr rax, 8
and r8, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x400]
mov rax, r9
shr rax, 8
and rax, rbp
or edx, dword [r14 + rax*4 + 0x500]
mov rax, r9
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4 + 0x100]
mov rax, r9
shr rax, 0x10
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x300]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r9d, dword [rbx + 0x44]
xor edi, edx
mov eax, edi
xor r9, rax
mov eax, dword [rbx + 4]
xor eax, edi
ror eax, 4
mov ecx, eax
mov r8d, eax
mov rax, r9
shr rax, 8
and rax, rbp
shr rcx, 8
and rcx, rbp
mov edx, dword [r14 + rcx*4 + 0x400]
or edx, dword [r14 + rax*4 + 0x500]
mov rax, r9
shr rax, 0x18
and rax, rbp
or edx, dword [r14 + rax*4 + 0x100]
mov rax, r9
shr rax, 0x10
and rax, rbp
or edx, dword [r14 + rax*4 + 0x300]
mov eax, r8d
shr rax, 0x18
and r9, rbp
and rax, rbp
or edx, dword [r14 + rax*4]
mov eax, r8d
shr rax, 0x10
and r8, rbp
and rax, rbp
or edx, dword [r14 + rax*4 + 0x200]
or edx, dword [r14 + r8*4 + 0x600]
or edx, dword [r14 + r9*4 + 0x700]
mov r8d, dword [rbx + 0x40]
xor r11d, edx
mov eax, r11d
mov r10d, r11d
xor r8, rax
ror r10d, 1
mov eax, dword [rbx]
xor eax, r11d
ror eax, 4
mov ecx, eax
mov edx, eax
mov rax, r8
shr rax, 8
and rax, rbp
shr rcx, 8
and rcx, rbp
mov r9d, dword [r14 + rcx*4 + 0x400]
or r9d, dword [r14 + rax*4 + 0x500]
mov rax, r8
shr rax, 0x18
and rax, rbp
or r9d, dword [r14 + rax*4 + 0x100]
mov rax, r8
shr rax, 0x10
and r8, rbp
and rax, rbp
or r9d, dword [r14 + rax*4 + 0x300]
mov eax, edx
shr rax, 0x18
and rax, rbp
or r9d, dword [r14 + rax*4]
mov eax, edx
shr rax, 0x10
and rdx, rbp
and rax, rbp
or r9d, dword [r14 + rax*4 + 0x200]
or r9d, dword [r14 + rdx*4 + 0x600]
or r9d, dword [r14 + r8*4 + 0x700]
xor r9d, edi
ror r9d, 1
mov ecx, r9d
shr ecx, 1
xor ecx, r10d
and ecx, 0x55555555
xor r10d, ecx
lea eax, [rcx + rcx]
mov ecx, r10d
xor r9d, eax
shr ecx, 8
xor ecx, r9d
and ecx, 0xff00ff
xor r9d, ecx
mov eax, ecx
shl eax, 8
xor r10d, eax
mov ecx, r10d
shr ecx, 2
xor ecx, r9d
and ecx, 0x33333333
xor r9d, ecx
mov eax, ecx
shl eax, 2
xor r10d, eax
mov eax, r9d
shr eax, 0x10
xor eax, r10d
movzx ecx, ax
mov eax, ecx
shl eax, 0x10
xor r9d, eax
mov rbx, qword [rsp + 0x10]
xor r10d, ecx
mov rbp, qword [rsp + 0x18]
mov ecx, r9d
mov rdi, qword [rsp + 0x28]
shr ecx, 4
xor ecx, r10d
and ecx, 0xf0f0f0f
mov eax, ecx
shl eax, 4
xor eax, r9d
xor ecx, r10d
mov dword [rsi], eax
mov dword [rsi + 4], ecx
mov rsi, qword [rsp + 0x20]
pop r14
ret