Function at 0x647e0d
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
push rbx
push rbp
push r12
push r13
push r14
push r15
mov r11, rsp
shl rdx, 4
sub rsp, 0x60
lea rdx, [rsi + rdx*4]
and rsp, 0xffffffffffffffc0
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r11
lea rbp, [0x006490c0]
mov eax, dword [rdi]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
mov edx, dword [rdi + 0xc]
mov r8d, dword [rdi + 0x10]
mov r9d, dword [rdi + 0x14]
mov r10d, dword [rdi + 0x18]
mov r11d, dword [rdi + 0x1c]
jmp 0x647e70
xor rdi, rdi
mov r12d, dword [rsi]
mov r13d, r8d
mov r14d, eax
bswap r12d
ror r13d, 0xe
mov r15d, r9d
mov dword [rsp], r12d
ror r14d, 9
xor r13d, r8d
xor r15d, r10d
ror r13d, 5
add r12d, r11d
xor r14d, eax
add r12d, dword [rbp + rdi*4]
and r15d, r8d
mov r11d, ebx
ror r14d, 0xb
xor r13d, r8d
xor r15d, r10d
xor r11d, ecx
xor r14d, eax
add r12d, r15d
mov r15d, ebx
ror r13d, 6
and r11d, eax
and r15d, ecx
ror r14d, 2
add r12d, r13d
add r11d, r15d
add edx, r12d
add r11d, r12d
lea rdi, [rdi + 1]
add r11d, r14d
mov r12d, dword [rsi + 4]
mov r13d, edx
mov r14d, r11d
bswap r12d
ror r13d, 0xe
mov r15d, r8d
mov dword [rsp + 4], r12d
ror r14d, 9
xor r13d, edx
xor r15d, r9d
ror r13d, 5
add r12d, r10d
xor r14d, r11d
add r12d, dword [rbp + rdi*4]
and r15d, edx
mov r10d, eax
ror r14d, 0xb
xor r13d, edx
xor r15d, r9d
xor r10d, ebx
xor r14d, r11d
add r12d, r15d
mov r15d, eax
ror r13d, 6
and r10d, r11d
and r15d, ebx
ror r14d, 2
add r12d, r13d
add r10d, r15d
add ecx, r12d
add r10d, r12d
lea rdi, [rdi + 1]
add r10d, r14d
mov r12d, dword [rsi + 8]
mov r13d, ecx
mov r14d, r10d
bswap r12d
ror r13d, 0xe
mov r15d, edx
mov dword [rsp + 8], r12d
ror r14d, 9
xor r13d, ecx
xor r15d, r8d
ror r13d, 5
add r12d, r9d
xor r14d, r10d
add r12d, dword [rbp + rdi*4]
and r15d, ecx
mov r9d, r11d
ror r14d, 0xb
xor r13d, ecx
xor r15d, r8d
xor r9d, eax
xor r14d, r10d
add r12d, r15d
mov r15d, r11d
ror r13d, 6
and r9d, r10d
and r15d, eax
ror r14d, 2
add r12d, r13d
add r9d, r15d
add ebx, r12d
add r9d, r12d
lea rdi, [rdi + 1]
add r9d, r14d
mov r12d, dword [rsi + 0xc]
mov r13d, ebx
mov r14d, r9d
bswap r12d
ror r13d, 0xe
mov r15d, ecx
mov dword [rsp + 0xc], r12d
ror r14d, 9
xor r13d, ebx
xor r15d, edx
ror r13d, 5
add r12d, r8d
xor r14d, r9d
add r12d, dword [rbp + rdi*4]
and r15d, ebx
mov r8d, r10d
ror r14d, 0xb
xor r13d, ebx
xor r15d, edx
xor r8d, r11d
xor r14d, r9d
add r12d, r15d
mov r15d, r10d
ror r13d, 6
and r8d, r9d
and r15d, r11d
ror r14d, 2
add r12d, r13d
add r8d, r15d
add eax, r12d
add r8d, r12d
lea rdi, [rdi + 1]
add r8d, r14d
mov r12d, dword [rsi + 0x10]
mov r13d, eax
mov r14d, r8d
bswap r12d
ror r13d, 0xe
mov r15d, ebx
mov dword [rsp + 0x10], r12d
ror r14d, 9
xor r13d, eax
xor r15d, ecx
ror r13d, 5
add r12d, edx
xor r14d, r8d
add r12d, dword [rbp + rdi*4]
and r15d, eax
mov edx, r9d
ror r14d, 0xb
xor r13d, eax
xor r15d, ecx
xor edx, r10d
xor r14d, r8d
add r12d, r15d
mov r15d, r9d
ror r13d, 6
and edx, r8d
and r15d, r10d
ror r14d, 2
add r12d, r13d
add edx, r15d
add r11d, r12d
add edx, r12d
lea rdi, [rdi + 1]
add edx, r14d
mov r12d, dword [rsi + 0x14]
mov r13d, r11d
mov r14d, edx
bswap r12d
ror r13d, 0xe
mov r15d, eax
mov dword [rsp + 0x14], r12d
ror r14d, 9
xor r13d, r11d
xor r15d, ebx
ror r13d, 5
add r12d, ecx
xor r14d, edx
add r12d, dword [rbp + rdi*4]
and r15d, r11d
mov ecx, r8d
ror r14d, 0xb
xor r13d, r11d
xor r15d, ebx
xor ecx, r9d
xor r14d, edx
add r12d, r15d
mov r15d, r8d
ror r13d, 6
and ecx, edx
and r15d, r9d
ror r14d, 2
add r12d, r13d
add ecx, r15d
add r10d, r12d
add ecx, r12d
lea rdi, [rdi + 1]
add ecx, r14d
mov r12d, dword [rsi + 0x18]
mov r13d, r10d
mov r14d, ecx
bswap r12d
ror r13d, 0xe
mov r15d, r11d
mov dword [rsp + 0x18], r12d
ror r14d, 9
xor r13d, r10d
xor r15d, eax
ror r13d, 5
add r12d, ebx
xor r14d, ecx
add r12d, dword [rbp + rdi*4]
and r15d, r10d
mov ebx, edx
ror r14d, 0xb
xor r13d, r10d
xor r15d, eax
xor ebx, r8d
xor r14d, ecx
add r12d, r15d
mov r15d, edx
ror r13d, 6
and ebx, ecx
and r15d, r8d
ror r14d, 2
add r12d, r13d
add ebx, r15d
add r9d, r12d
add ebx, r12d
lea rdi, [rdi + 1]
add ebx, r14d
mov r12d, dword [rsi + 0x1c]
mov r13d, r9d
mov r14d, ebx
bswap r12d
ror r13d, 0xe
mov r15d, r10d
mov dword [rsp + 0x1c], r12d
ror r14d, 9
xor r13d, r9d
xor r15d, r11d
ror r13d, 5
add r12d, eax
xor r14d, ebx
add r12d, dword [rbp + rdi*4]
and r15d, r9d
mov eax, ecx
ror r14d, 0xb
xor r13d, r9d
xor r15d, r11d
xor eax, edx
xor r14d, ebx
add r12d, r15d
mov r15d, ecx
ror r13d, 6
and eax, ebx
and r15d, edx
ror r14d, 2
add r12d, r13d
add eax, r15d
add r8d, r12d
add eax, r12d
lea rdi, [rdi + 1]
add eax, r14d
mov r12d, dword [rsi + 0x20]
mov r13d, r8d
mov r14d, eax
bswap r12d
ror r13d, 0xe
mov r15d, r9d
mov dword [rsp + 0x20], r12d
ror r14d, 9
xor r13d, r8d
xor r15d, r10d
ror r13d, 5
add r12d, r11d
xor r14d, eax
add r12d, dword [rbp + rdi*4]
and r15d, r8d
mov r11d, ebx
ror r14d, 0xb
xor r13d, r8d
xor r15d, r10d
xor r11d, ecx
xor r14d, eax
add r12d, r15d
mov r15d, ebx
ror r13d, 6
and r11d, eax
and r15d, ecx
ror r14d, 2
add r12d, r13d
add r11d, r15d
add edx, r12d
add r11d, r12d
lea rdi, [rdi + 1]
add r11d, r14d
mov r12d, dword [rsi + 0x24]
mov r13d, edx
mov r14d, r11d
bswap r12d
ror r13d, 0xe
mov r15d, r8d
mov dword [rsp + 0x24], r12d
ror r14d, 9
xor r13d, edx
xor r15d, r9d
ror r13d, 5
add r12d, r10d
xor r14d, r11d
add r12d, dword [rbp + rdi*4]
and r15d, edx
mov r10d, eax
ror r14d, 0xb
xor r13d, edx
xor r15d, r9d
xor r10d, ebx
xor r14d, r11d
add r12d, r15d
mov r15d, eax
ror r13d, 6
and r10d, r11d
and r15d, ebx
ror r14d, 2
add r12d, r13d
add r10d, r15d
add ecx, r12d
add r10d, r12d
lea rdi, [rdi + 1]
add r10d, r14d
mov r12d, dword [rsi + 0x28]
mov r13d, ecx
mov r14d, r10d
bswap r12d
ror r13d, 0xe
mov r15d, edx
mov dword [rsp + 0x28], r12d
ror r14d, 9
xor r13d, ecx
xor r15d, r8d
ror r13d, 5
add r12d, r9d
xor r14d, r10d
add r12d, dword [rbp + rdi*4]
and r15d, ecx
mov r9d, r11d
ror r14d, 0xb
xor r13d, ecx
xor r15d, r8d
xor r9d, eax
xor r14d, r10d
add r12d, r15d
mov r15d, r11d
ror r13d, 6
and r9d, r10d
and r15d, eax
ror r14d, 2
add r12d, r13d
add r9d, r15d
add ebx, r12d
add r9d, r12d
lea rdi, [rdi + 1]
add r9d, r14d
mov r12d, dword [rsi + 0x2c]
mov r13d, ebx
mov r14d, r9d
bswap r12d
ror r13d, 0xe
mov r15d, ecx
mov dword [rsp + 0x2c], r12d
ror r14d, 9
xor r13d, ebx
xor r15d, edx
ror r13d, 5
add r12d, r8d
xor r14d, r9d
add r12d, dword [rbp + rdi*4]
and r15d, ebx
mov r8d, r10d
ror r14d, 0xb
xor r13d, ebx
xor r15d, edx
xor r8d, r11d
xor r14d, r9d
add r12d, r15d
mov r15d, r10d
ror r13d, 6
and r8d, r9d
and r15d, r11d
ror r14d, 2
add r12d, r13d
add r8d, r15d
add eax, r12d
add r8d, r12d
lea rdi, [rdi + 1]
add r8d, r14d
mov r12d, dword [rsi + 0x30]
mov r13d, eax
mov r14d, r8d
bswap r12d
ror r13d, 0xe
mov r15d, ebx
mov dword [rsp + 0x30], r12d
ror r14d, 9
xor r13d, eax
xor r15d, ecx
ror r13d, 5
add r12d, edx
xor r14d, r8d
add r12d, dword [rbp + rdi*4]
and r15d, eax
mov edx, r9d
ror r14d, 0xb
xor r13d, eax
xor r15d, ecx
xor edx, r10d
xor r14d, r8d
add r12d, r15d
mov r15d, r9d
ror r13d, 6
and edx, r8d
and r15d, r10d
ror r14d, 2
add r12d, r13d
add edx, r15d
add r11d, r12d
add edx, r12d
lea rdi, [rdi + 1]
add edx, r14d
mov r12d, dword [rsi + 0x34]
mov r13d, r11d
mov r14d, edx
bswap r12d
ror r13d, 0xe
mov r15d, eax
mov dword [rsp + 0x34], r12d
ror r14d, 9
xor r13d, r11d
xor r15d, ebx
ror r13d, 5
add r12d, ecx
xor r14d, edx
add r12d, dword [rbp + rdi*4]
and r15d, r11d
mov ecx, r8d
ror r14d, 0xb
xor r13d, r11d
xor r15d, ebx
xor ecx, r9d
xor r14d, edx
add r12d, r15d
mov r15d, r8d
ror r13d, 6
and ecx, edx
and r15d, r9d
ror r14d, 2
add r12d, r13d
add ecx, r15d
add r10d, r12d
add ecx, r12d
lea rdi, [rdi + 1]
add ecx, r14d
mov r12d, dword [rsi + 0x38]
mov r13d, r10d
mov r14d, ecx
bswap r12d
ror r13d, 0xe
mov r15d, r11d
mov dword [rsp + 0x38], r12d
ror r14d, 9
xor r13d, r10d
xor r15d, eax
ror r13d, 5
add r12d, ebx
xor r14d, ecx
add r12d, dword [rbp + rdi*4]
and r15d, r10d
mov ebx, edx
ror r14d, 0xb
xor r13d, r10d
xor r15d, eax
xor ebx, r8d
xor r14d, ecx
add r12d, r15d
mov r15d, edx
ror r13d, 6
and ebx, ecx
and r15d, r8d
ror r14d, 2
add r12d, r13d
add ebx, r15d
add r9d, r12d
add ebx, r12d
lea rdi, [rdi + 1]
add ebx, r14d
mov r12d, dword [rsi + 0x3c]
mov r13d, r9d
mov r14d, ebx
bswap r12d
ror r13d, 0xe
mov r15d, r10d
mov dword [rsp + 0x3c], r12d
ror r14d, 9
xor r13d, r9d
xor r15d, r11d
ror r13d, 5
add r12d, eax
xor r14d, ebx
add r12d, dword [rbp + rdi*4]
and r15d, r9d
mov eax, ecx
ror r14d, 0xb
xor r13d, r9d
xor r15d, r11d
xor eax, edx
xor r14d, ebx
add r12d, r15d
mov r15d, ecx
ror r13d, 6
and eax, ebx
and r15d, edx
ror r14d, 2
add r12d, r13d
add eax, r15d
add r8d, r12d
add eax, r12d
lea rdi, [rdi + 1]
add eax, r14d
jmp 0x648560
mov r13d, dword [rsp + 4]
mov r14d, dword [rsp + 0x38]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 0x24]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp]
mov r13d, r8d
add r12d, r14d
mov r14d, eax
ror r13d, 0xe
mov r15d, r9d
mov dword [rsp], r12d
ror r14d, 9
xor r13d, r8d
xor r15d, r10d
ror r13d, 5
add r12d, r11d
xor r14d, eax
add r12d, dword [rbp + rdi*4]
and r15d, r8d
mov r11d, ebx
ror r14d, 0xb
xor r13d, r8d
xor r15d, r10d
xor r11d, ecx
xor r14d, eax
add r12d, r15d
mov r15d, ebx
ror r13d, 6
and r11d, eax
and r15d, ecx
ror r14d, 2
add r12d, r13d
add r11d, r15d
add edx, r12d
add r11d, r12d
lea rdi, [rdi + 1]
add r11d, r14d
mov r13d, dword [rsp + 8]
mov r14d, dword [rsp + 0x3c]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 0x28]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 4]
mov r13d, edx
add r12d, r14d
mov r14d, r11d
ror r13d, 0xe
mov r15d, r8d
mov dword [rsp + 4], r12d
ror r14d, 9
xor r13d, edx
xor r15d, r9d
ror r13d, 5
add r12d, r10d
xor r14d, r11d
add r12d, dword [rbp + rdi*4]
and r15d, edx
mov r10d, eax
ror r14d, 0xb
xor r13d, edx
xor r15d, r9d
xor r10d, ebx
xor r14d, r11d
add r12d, r15d
mov r15d, eax
ror r13d, 6
and r10d, r11d
and r15d, ebx
ror r14d, 2
add r12d, r13d
add r10d, r15d
add ecx, r12d
add r10d, r12d
lea rdi, [rdi + 1]
add r10d, r14d
mov r13d, dword [rsp + 0xc]
mov r14d, dword [rsp]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 0x2c]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 8]
mov r13d, ecx
add r12d, r14d
mov r14d, r10d
ror r13d, 0xe
mov r15d, edx
mov dword [rsp + 8], r12d
ror r14d, 9
xor r13d, ecx
xor r15d, r8d
ror r13d, 5
add r12d, r9d
xor r14d, r10d
add r12d, dword [rbp + rdi*4]
and r15d, ecx
mov r9d, r11d
ror r14d, 0xb
xor r13d, ecx
xor r15d, r8d
xor r9d, eax
xor r14d, r10d
add r12d, r15d
mov r15d, r11d
ror r13d, 6
and r9d, r10d
and r15d, eax
ror r14d, 2
add r12d, r13d
add r9d, r15d
add ebx, r12d
add r9d, r12d
lea rdi, [rdi + 1]
add r9d, r14d
mov r13d, dword [rsp + 0x10]
mov r14d, dword [rsp + 4]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 0x30]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 0xc]
mov r13d, ebx
add r12d, r14d
mov r14d, r9d
ror r13d, 0xe
mov r15d, ecx
mov dword [rsp + 0xc], r12d
ror r14d, 9
xor r13d, ebx
xor r15d, edx
ror r13d, 5
add r12d, r8d
xor r14d, r9d
add r12d, dword [rbp + rdi*4]
and r15d, ebx
mov r8d, r10d
ror r14d, 0xb
xor r13d, ebx
xor r15d, edx
xor r8d, r11d
xor r14d, r9d
add r12d, r15d
mov r15d, r10d
ror r13d, 6
and r8d, r9d
and r15d, r11d
ror r14d, 2
add r12d, r13d
add r8d, r15d
add eax, r12d
add r8d, r12d
lea rdi, [rdi + 1]
add r8d, r14d
mov r13d, dword [rsp + 0x14]
mov r14d, dword [rsp + 8]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 0x34]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 0x10]
mov r13d, eax
add r12d, r14d
mov r14d, r8d
ror r13d, 0xe
mov r15d, ebx
mov dword [rsp + 0x10], r12d
ror r14d, 9
xor r13d, eax
xor r15d, ecx
ror r13d, 5
add r12d, edx
xor r14d, r8d
add r12d, dword [rbp + rdi*4]
and r15d, eax
mov edx, r9d
ror r14d, 0xb
xor r13d, eax
xor r15d, ecx
xor edx, r10d
xor r14d, r8d
add r12d, r15d
mov r15d, r9d
ror r13d, 6
and edx, r8d
and r15d, r10d
ror r14d, 2
add r12d, r13d
add edx, r15d
add r11d, r12d
add edx, r12d
lea rdi, [rdi + 1]
add edx, r14d
mov r13d, dword [rsp + 0x18]
mov r14d, dword [rsp + 0xc]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 0x38]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 0x14]
mov r13d, r11d
add r12d, r14d
mov r14d, edx
ror r13d, 0xe
mov r15d, eax
mov dword [rsp + 0x14], r12d
ror r14d, 9
xor r13d, r11d
xor r15d, ebx
ror r13d, 5
add r12d, ecx
xor r14d, edx
add r12d, dword [rbp + rdi*4]
and r15d, r11d
mov ecx, r8d
ror r14d, 0xb
xor r13d, r11d
xor r15d, ebx
xor ecx, r9d
xor r14d, edx
add r12d, r15d
mov r15d, r8d
ror r13d, 6
and ecx, edx
and r15d, r9d
ror r14d, 2
add r12d, r13d
add ecx, r15d
add r10d, r12d
add ecx, r12d
lea rdi, [rdi + 1]
add ecx, r14d
mov r13d, dword [rsp + 0x1c]
mov r14d, dword [rsp + 0x10]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 0x3c]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 0x18]
mov r13d, r10d
add r12d, r14d
mov r14d, ecx
ror r13d, 0xe
mov r15d, r11d
mov dword [rsp + 0x18], r12d
ror r14d, 9
xor r13d, r10d
xor r15d, eax
ror r13d, 5
add r12d, ebx
xor r14d, ecx
add r12d, dword [rbp + rdi*4]
and r15d, r10d
mov ebx, edx
ror r14d, 0xb
xor r13d, r10d
xor r15d, eax
xor ebx, r8d
xor r14d, ecx
add r12d, r15d
mov r15d, edx
ror r13d, 6
and ebx, ecx
and r15d, r8d
ror r14d, 2
add r12d, r13d
add ebx, r15d
add r9d, r12d
add ebx, r12d
lea rdi, [rdi + 1]
add ebx, r14d
mov r13d, dword [rsp + 0x20]
mov r14d, dword [rsp + 0x14]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 0x1c]
mov r13d, r9d
add r12d, r14d
mov r14d, ebx
ror r13d, 0xe
mov r15d, r10d
mov dword [rsp + 0x1c], r12d
ror r14d, 9
xor r13d, r9d
xor r15d, r11d
ror r13d, 5
add r12d, eax
xor r14d, ebx
add r12d, dword [rbp + rdi*4]
and r15d, r9d
mov eax, ecx
ror r14d, 0xb
xor r13d, r9d
xor r15d, r11d
xor eax, edx
xor r14d, ebx
add r12d, r15d
mov r15d, ecx
ror r13d, 6
and eax, ebx
and r15d, edx
ror r14d, 2
add r12d, r13d
add eax, r15d
add r8d, r12d
add eax, r12d
lea rdi, [rdi + 1]
add eax, r14d
mov r13d, dword [rsp + 0x24]
mov r14d, dword [rsp + 0x18]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 4]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 0x20]
mov r13d, r8d
add r12d, r14d
mov r14d, eax
ror r13d, 0xe
mov r15d, r9d
mov dword [rsp + 0x20], r12d
ror r14d, 9
xor r13d, r8d
xor r15d, r10d
ror r13d, 5
add r12d, r11d
xor r14d, eax
add r12d, dword [rbp + rdi*4]
and r15d, r8d
mov r11d, ebx
ror r14d, 0xb
xor r13d, r8d
xor r15d, r10d
xor r11d, ecx
xor r14d, eax
add r12d, r15d
mov r15d, ebx
ror r13d, 6
and r11d, eax
and r15d, ecx
ror r14d, 2
add r12d, r13d
add r11d, r15d
add edx, r12d
add r11d, r12d
lea rdi, [rdi + 1]
add r11d, r14d
mov r13d, dword [rsp + 0x28]
mov r14d, dword [rsp + 0x1c]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 8]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 0x24]
mov r13d, edx
add r12d, r14d
mov r14d, r11d
ror r13d, 0xe
mov r15d, r8d
mov dword [rsp + 0x24], r12d
ror r14d, 9
xor r13d, edx
xor r15d, r9d
ror r13d, 5
add r12d, r10d
xor r14d, r11d
add r12d, dword [rbp + rdi*4]
and r15d, edx
mov r10d, eax
ror r14d, 0xb
xor r13d, edx
xor r15d, r9d
xor r10d, ebx
xor r14d, r11d
add r12d, r15d
mov r15d, eax
ror r13d, 6
and r10d, r11d
and r15d, ebx
ror r14d, 2
add r12d, r13d
add r10d, r15d
add ecx, r12d
add r10d, r12d
lea rdi, [rdi + 1]
add r10d, r14d
mov r13d, dword [rsp + 0x2c]
mov r14d, dword [rsp + 0x20]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 0xc]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 0x28]
mov r13d, ecx
add r12d, r14d
mov r14d, r10d
ror r13d, 0xe
mov r15d, edx
mov dword [rsp + 0x28], r12d
ror r14d, 9
xor r13d, ecx
xor r15d, r8d
ror r13d, 5
add r12d, r9d
xor r14d, r10d
add r12d, dword [rbp + rdi*4]
and r15d, ecx
mov r9d, r11d
ror r14d, 0xb
xor r13d, ecx
xor r15d, r8d
xor r9d, eax
xor r14d, r10d
add r12d, r15d
mov r15d, r11d
ror r13d, 6
and r9d, r10d
and r15d, eax
ror r14d, 2
add r12d, r13d
add r9d, r15d
add ebx, r12d
add r9d, r12d
lea rdi, [rdi + 1]
add r9d, r14d
mov r13d, dword [rsp + 0x30]
mov r14d, dword [rsp + 0x24]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 0x10]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 0x2c]
mov r13d, ebx
add r12d, r14d
mov r14d, r9d
ror r13d, 0xe
mov r15d, ecx
mov dword [rsp + 0x2c], r12d
ror r14d, 9
xor r13d, ebx
xor r15d, edx
ror r13d, 5
add r12d, r8d
xor r14d, r9d
add r12d, dword [rbp + rdi*4]
and r15d, ebx
mov r8d, r10d
ror r14d, 0xb
xor r13d, ebx
xor r15d, edx
xor r8d, r11d
xor r14d, r9d
add r12d, r15d
mov r15d, r10d
ror r13d, 6
and r8d, r9d
and r15d, r11d
ror r14d, 2
add r12d, r13d
add r8d, r15d
add eax, r12d
add r8d, r12d
lea rdi, [rdi + 1]
add r8d, r14d
mov r13d, dword [rsp + 0x34]
mov r14d, dword [rsp + 0x28]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 0x14]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 0x30]
mov r13d, eax
add r12d, r14d
mov r14d, r8d
ror r13d, 0xe
mov r15d, ebx
mov dword [rsp + 0x30], r12d
ror r14d, 9
xor r13d, eax
xor r15d, ecx
ror r13d, 5
add r12d, edx
xor r14d, r8d
add r12d, dword [rbp + rdi*4]
and r15d, eax
mov edx, r9d
ror r14d, 0xb
xor r13d, eax
xor r15d, ecx
xor edx, r10d
xor r14d, r8d
add r12d, r15d
mov r15d, r9d
ror r13d, 6
and edx, r8d
and r15d, r10d
ror r14d, 2
add r12d, r13d
add edx, r15d
add r11d, r12d
add edx, r12d
lea rdi, [rdi + 1]
add edx, r14d
mov r13d, dword [rsp + 0x38]
mov r14d, dword [rsp + 0x2c]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 0x18]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 0x34]
mov r13d, r11d
add r12d, r14d
mov r14d, edx
ror r13d, 0xe
mov r15d, eax
mov dword [rsp + 0x34], r12d
ror r14d, 9
xor r13d, r11d
xor r15d, ebx
ror r13d, 5
add r12d, ecx
xor r14d, edx
add r12d, dword [rbp + rdi*4]
and r15d, r11d
mov ecx, r8d
ror r14d, 0xb
xor r13d, r11d
xor r15d, ebx
xor ecx, r9d
xor r14d, edx
add r12d, r15d
mov r15d, r8d
ror r13d, 6
and ecx, edx
and r15d, r9d
ror r14d, 2
add r12d, r13d
add ecx, r15d
add r10d, r12d
add ecx, r12d
lea rdi, [rdi + 1]
add ecx, r14d
mov r13d, dword [rsp + 0x3c]
mov r14d, dword [rsp + 0x30]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 0x1c]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 0x38]
mov r13d, r10d
add r12d, r14d
mov r14d, ecx
ror r13d, 0xe
mov r15d, r11d
mov dword [rsp + 0x38], r12d
ror r14d, 9
xor r13d, r10d
xor r15d, eax
ror r13d, 5
add r12d, ebx
xor r14d, ecx
add r12d, dword [rbp + rdi*4]
and r15d, r10d
mov ebx, edx
ror r14d, 0xb
xor r13d, r10d
xor r15d, eax
xor ebx, r8d
xor r14d, ecx
add r12d, r15d
mov r15d, edx
ror r13d, 6
and ebx, ecx
and r15d, r8d
ror r14d, 2
add r12d, r13d
add ebx, r15d
add r9d, r12d
add ebx, r12d
lea rdi, [rdi + 1]
add ebx, r14d
mov r13d, dword [rsp]
mov r14d, dword [rsp + 0x34]
mov r12d, r13d
mov r15d, r14d
ror r12d, 0xb
xor r12d, r13d
shr r13d, 3
ror r12d, 7
xor r13d, r12d
mov r12d, dword [rsp + 0x20]
ror r15d, 2
xor r15d, r14d
shr r14d, 0xa
ror r15d, 0x11
add r12d, r13d
xor r14d, r15d
add r12d, dword [rsp + 0x3c]
mov r13d, r9d
add r12d, r14d
mov r14d, ebx
ror r13d, 0xe
mov r15d, r10d
mov dword [rsp + 0x3c], r12d
ror r14d, 9
xor r13d, r9d
xor r15d, r11d
ror r13d, 5
add r12d, eax
xor r14d, ebx
add r12d, dword [rbp + rdi*4]
and r15d, r9d
mov eax, ecx
ror r14d, 0xb
xor r13d, r9d
xor r15d, r11d
xor eax, edx
xor r14d, ebx
add r12d, r15d
mov r15d, ecx
ror r13d, 6
and eax, ebx
and r15d, edx
ror r14d, 2
add r12d, r13d
add eax, r15d
add r8d, r12d
add eax, r12d
lea rdi, [rdi + 1]
add eax, r14d
cmp rdi, 0x40
jb 0x648560
mov rdi, qword [rsp + 0x40]
lea rsi, [rsi + 0x40]
add eax, dword [rdi]
add ebx, dword [rdi + 4]
add ecx, dword [rdi + 8]
add edx, dword [rdi + 0xc]
add r8d, dword [rdi + 0x10]
add r9d, dword [rdi + 0x14]
add r10d, dword [rdi + 0x18]
add r11d, dword [rdi + 0x1c]
cmp rsi, qword [rsp + 0x50]
mov dword [rdi], eax
mov dword [rdi + 4], ebx
mov dword [rdi + 8], ecx
mov dword [rdi + 0xc], edx
mov dword [rdi + 0x10], r8d
mov dword [rdi + 0x14], r9d
mov dword [rdi + 0x18], r10d
mov dword [rdi + 0x1c], r11d
jb 0x647e70
mov rsi, qword [rsp + 0x58]
mov r15, qword [rsi]
mov r14, qword [rsi + 8]
mov r13, qword [rsi + 0x10]
mov r12, qword [rsi + 0x18]
mov rbp, qword [rsi + 0x20]
mov rbx, qword [rsi + 0x28]
lea rsp, [rsi + 0x30]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret