Function at 0x14002a7f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x140051ad0]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rax, qword [rdx]
lea r11, [0x1400416d0]
mov edi, dword [rcx + 4]
mov r15d, dword [rcx + 8]
mov r12d, dword [rcx + 0xc]
mov r13d, dword [rcx + 0x10]
mov ebx, dword [rcx + 0x18]
mov r10d, dword [rcx + 0x1c]
bswap rax
ror rax, 0x20
mov qword [rbp - 0x50], rax
mov rax, qword [rdx + 8]
bswap rax
ror rax, 0x20
mov qword [rbp - 0x48], rax
mov rax, qword [rdx + 0x10]
bswap rax
ror rax, 0x20
mov qword [rbp - 0x40], rax
mov rax, qword [rdx + 0x18]
bswap rax
ror rax, 0x20
mov qword [rbp - 0x38], rax
mov rax, qword [rdx + 0x20]
bswap rax
ror rax, 0x20
mov qword [rbp - 0x30], rax
mov rax, qword [rdx + 0x28]
bswap rax
ror rax, 0x20
mov qword [rbp - 0x28], rax
mov rax, qword [rdx + 0x30]
bswap rax
ror rax, 0x20
mov qword [rbp - 0x20], rax
mov rax, qword [rdx + 0x38]
bswap rax
ror rax, 0x20
mov qword [rbp - 0x18], rax
xor r14d, r14d
mov eax, dword [rcx]
mov esi, eax
mov dword [rbp - 0x68], eax
mov eax, dword [rcx + 0x14]
mov qword [rbp - 0x60], rcx
nop word [rax + rax]
lea r8, [r14*4]
mov ecx, r13d
ror ecx, 0xb
inc r14d
mov r9d, r13d
mov edx, r13d
ror r9d, 0x19
not edx
xor r9d, ecx
and edx, ebx
mov ecx, r13d
ror ecx, 6
xor r9d, ecx
mov ecx, eax
and ecx, r13d
xor edx, ecx
mov ecx, esi
add r9d, edx
ror ecx, 0xd
add r9d, dword [r8 + r11]
mov edx, esi
add r9d, dword [rbp + r8 - 0x50]
mov r11d, edi
add r9d, r10d
ror edx, 0x16
xor edx, ecx
add r12d, r9d
and r11d, esi
mov ecx, esi
ror ecx, 2
mov r10d, edi
xor ecx, edx
xor r10d, esi
add ecx, r9d
mov r8d, r10d
and r8d, r15d
mov r9d, r12d
ror r9d, 0x19
xor r8d, r11d
add r8d, ecx
mov edx, r12d
not edx
mov dword [rbp - 0x80], r8d
and edx, eax
lea r8, [r14*4]
mov ecx, r12d
inc r14d
ror ecx, 0xb
xor r9d, ecx
mov ecx, r12d
ror ecx, 6
xor r9d, ecx
mov ecx, r13d
and ecx, r12d
xor edx, ecx
lea rcx, [0x1400416d0]
add r9d, edx
add r9d, dword [r8 + rcx]
add r9d, dword [rbp + r8 - 0x50]
mov r8d, dword [rbp - 0x80]
add r9d, ebx
add r15d, r9d
mov edx, r8d
mov ecx, r8d
ror edx, 0x16
ror ecx, 0xd
mov ebx, r10d
xor edx, ecx
and ebx, r8d
mov ecx, r8d
xor ebx, r11d
ror ecx, 2
mov r10d, r8d
xor ecx, edx
lea r8, [r14*4]
add ecx, r9d
mov r9d, r15d
add ebx, ecx
ror r9d, 0x19
mov ecx, r15d
ror ecx, 0xb
xor r9d, ecx
lea r11, [0x1400416d0]
inc r14d
mov ecx, r15d
ror ecx, 6
mov edx, r15d
xor r9d, ecx
not edx
and edx, r13d
mov ecx, r12d
and ecx, r15d
xor edx, ecx
mov ecx, ebx
add r9d, edx
and ecx, esi
add r9d, dword [r8 + r11]
mov edx, ebx
add r9d, dword [rbp + r8 - 0x50]
lea r8, [r14*4]
add r9d, eax
ror edx, 0x16
add edi, r9d
mov eax, ebx
ror eax, 0xd
inc r14d
xor edx, eax
mov eax, ebx
ror eax, 2
xor edx, eax
mov eax, ebx
xor eax, esi
and eax, r10d
xor eax, ecx
lea ecx, [r9 + rdx]
mov r9d, edi
add eax, ecx
ror r9d, 0x19
mov ecx, edi
mov edx, edi
ror ecx, 0xb
not edx
xor r9d, ecx
and edx, r12d
mov ecx, edi
ror ecx, 6
xor r9d, ecx
mov ecx, r15d
and ecx, edi
xor edx, ecx
mov ecx, eax
add r9d, edx
ror ecx, 0xd
add r9d, dword [r8 + r11]
mov edx, eax
add r9d, dword [rbp + r8 - 0x50]
lea r8, [r14*4]
add r9d, r13d
ror edx, 0x16
xor edx, ecx
add esi, r9d
mov ecx, eax
mov r13d, ebx
ror ecx, 2
xor r13d, eax
xor edx, ecx
and r13d, r10d
mov ecx, ebx
and ecx, eax
xor r13d, ecx
lea ecx, [r9 + rdx]
mov r9d, esi
add r13d, ecx
ror r9d, 0x19
mov ecx, esi
mov edx, esi
ror ecx, 0xb
not edx
xor r9d, ecx
mov ecx, esi
ror ecx, 6
xor r9d, ecx
and edx, r15d
inc r14d
mov ecx, edi
and ecx, esi
xor edx, ecx
mov ecx, r13d
add r9d, edx
ror ecx, 0xd
add r9d, dword [r8 + r11]
mov edx, r13d
add r9d, dword [rbp + r8 - 0x50]
lea r8, [r14*4]
add r9d, r12d
ror edx, 0x16
xor edx, ecx
add r10d, r9d
mov ecx, r13d
mov dword [rbp - 0x80], r10d
ror ecx, 2
mov r12d, eax
xor edx, ecx
xor r12d, r13d
and r12d, ebx
mov ecx, eax
and ecx, r13d
inc r14d
xor r12d, ecx
lea ecx, [r9 + rdx]
mov r9d, r10d
add r12d, ecx
ror r9d, 0x19
mov ecx, r10d
mov edx, r10d
ror ecx, 0xb
not edx
xor r9d, ecx
and edx, edi
mov ecx, r10d
ror ecx, 6
xor r9d, ecx
mov ecx, r10d
and ecx, esi
xor edx, ecx
mov ecx, r12d
add r9d, edx
ror ecx, 0xd
add r9d, dword [r8 + r11]
mov edx, r12d
add r9d, dword [rbp + r8 - 0x50]
lea r8, [r14*4]
add r9d, r15d
ror edx, 0x16
xor edx, ecx
add ebx, r9d
mov ecx, r12d
mov r15d, r13d
ror ecx, 2
xor r15d, r12d
xor edx, ecx
and r15d, eax
mov ecx, r13d
and ecx, r12d
xor r15d, ecx
lea ecx, [r9 + rdx]
mov r9d, ebx
add r15d, ecx
ror r9d, 0x19
mov ecx, ebx
mov edx, ebx
ror ecx, 0xb
not edx
xor r9d, ecx
and edx, esi
mov ecx, ebx
ror ecx, 6
xor r9d, ecx
mov ecx, r10d
and ecx, ebx
xor edx, ecx
add r9d, edx
add r9d, dword [r8 + r11]
add r9d, dword [rbp + r8 - 0x50]
inc r14d
add r9d, edi
mov edx, r15d
add eax, r9d
ror edx, 0x16
mov ecx, r15d
mov edi, r12d
ror ecx, 0xd
lea r8, [r14*4]
xor edx, ecx
xor edi, r15d
and edi, r13d
mov ecx, r15d
ror ecx, 2
inc r14d
xor edx, ecx
mov ecx, r12d
and ecx, r15d
xor edi, ecx
lea ecx, [r9 + rdx]
mov r9d, eax
add edi, ecx
ror r9d, 0x19
mov ecx, eax
mov edx, eax
ror ecx, 0xb
not edx
xor r9d, ecx
and edx, r10d
mov ecx, eax
ror ecx, 6
xor r9d, ecx
mov ecx, ebx
and ecx, eax
xor edx, ecx
mov ecx, edi
add r9d, edx
ror ecx, 0xd
add r9d, dword [r8 + r11]
mov edx, edi
add r9d, dword [rbp + r8 - 0x50]
add r9d, esi
ror edx, 0x16
xor edx, ecx
mov esi, r15d
xor esi, edi
mov ecx, edi
ror ecx, 2
and esi, r12d
xor edx, ecx
add r13d, r9d
mov ecx, r15d
and ecx, edi
xor esi, ecx
lea ecx, [r9 + rdx]
add esi, ecx
cmp r14d, 0x10
jb 0x14002a8d0
mov qword [rbp - 0x70], r14
mov dword [rbp - 0x7c], ebx
mov dword [rbp - 0x78], edi
mov dword [rbp - 0x74], esi
cmp r14d, 0x40
jae 0x14002b304
nop word [rax + rax]
mov r8, qword [rbp - 0x70]
lea r10, [rbp - 0x50]
mov r11d, r8d
inc r14d
mov ecx, r14d
and ecx, 0xf
lea rdi, [rcx*4]
mov r9d, dword [rbp + rdi - 0x50]
lea ecx, [r8 - 2]
and ecx, 0xf
mov edx, dword [rbp + rcx*4 - 0x50]
mov ecx, r8d
mov r8d, edx
and ecx, 0xf
ror r8d, 0x13
lea r10, [r10 + rcx*4]
mov ecx, edx
ror ecx, 0x11
xor r8d, ecx
shr edx, 0xa
xor r8d, edx
mov ecx, r9d
ror ecx, 7
mov edx, r9d
ror edx, 0x12
xor edx, ecx
shr r9d, 3
mov rcx, qword [rbp - 0x70]
xor edx, r9d
add r8d, edx
add ecx, 0xfffffff9
and ecx, 0xf
mov edx, r13d
not edx
and edx, ebx
mov ebx, dword [rbp - 0x78]
add r8d, dword [rbp + rcx*4 - 0x50]
mov ecx, r13d
add dword [r10], r8d
mov r8d, r13d
ror ecx, 0xb
ror r8d, 0x19
xor r8d, ecx
mov ecx, r13d
ror ecx, 6
xor r8d, ecx
mov ecx, eax
and ecx, r13d
xor edx, ecx
lea rcx, [0x1400416d0]
add r8d, edx
mov edx, esi
add r8d, dword [rcx + r11*4]
mov r11d, ebx
add r8d, dword [r10]
mov ecx, esi
add r8d, dword [rbp - 0x80]
xor r11d, esi
ror ecx, 0xd
and ebx, esi
ror edx, 0x16
add r12d, r8d
xor edx, ecx
mov r9d, r11d
and r9d, r15d
mov ecx, esi
ror ecx, 2
lea esi, [r14 + 1]
xor ecx, edx
xor r9d, ebx
add ecx, r8d
mov r10d, esi
add r9d, ecx
and r10d, 0xf
lea ecx, [r14 - 2]
mov dword [rbp - 0x80], r9d
and ecx, 0xf
mov r8d, dword [rbp + r10*4 - 0x50]
mov edx, dword [rbp + rcx*4 - 0x50]
mov r9d, edx
ror r9d, 0x13
mov ecx, edx
shr edx, 0xa
ror ecx, 0x11
xor r9d, ecx
mov ecx, r8d
xor r9d, edx
ror ecx, 7
mov edx, r8d
shr r8d, 3
ror edx, 0x12
xor edx, ecx
lea ecx, [r14 - 7]
and ecx, 0xf
xor r8d, edx
add r8d, r9d
mov edx, r12d
not edx
mov r9d, r12d
ror r9d, 0x19
and edx, eax
add r8d, dword [rbp + rcx*4 - 0x50]
mov ecx, r12d
add r8d, dword [rbp + rdi - 0x50]
ror ecx, 0xb
xor r9d, ecx
mov dword [rbp + rdi - 0x50], r8d
mov edi, dword [rbp - 0x80]
mov ecx, r12d
ror ecx, 6
and r11d, edi
xor r9d, ecx
xor r11d, ebx
mov ecx, r13d
lea ebx, [rsi + 1]
and ecx, r12d
xor edx, ecx
mov ecx, r14d
add r9d, edx
lea r14, [0x1400416d0]
mov edx, edi
ror edx, 0x16
add r9d, dword [r14 + rcx*4]
mov ecx, edi
ror ecx, 0xd
add r9d, r8d
add r9d, dword [rbp - 0x7c]
xor edx, ecx
add r15d, r9d
mov ecx, edi
ror ecx, 2
xor ecx, edx
add ecx, r9d
add r11d, ecx
mov ecx, ebx
and ecx, 0xf
mov dword [rbp - 0x7c], r11d
mov r8d, dword [rbp + rcx*4 - 0x50]
lea ecx, [rsi - 2]
and ecx, 0xf
mov edx, dword [rbp + rcx*4 - 0x50]
mov ecx, edx
ror ecx, 0x11
mov r9d, edx
shr edx, 0xa
ror r9d, 0x13
xor r9d, ecx
mov ecx, r8d
xor r9d, edx
ror ecx, 7
mov edx, r8d
shr r8d, 3
ror edx, 0x12
xor edx, ecx
lea ecx, [rsi - 7]
xor edx, r8d
and ecx, 0xf
add r9d, edx
mov r8d, r15d
add r9d, dword [rbp + rcx*4 - 0x50]
add dword [rbp + r10*4 - 0x50], r9d
ror r8d, 0x19
mov ecx, r15d
mov edx, r15d
ror ecx, 0xb
not edx
xor r8d, ecx
and edx, r13d
mov ecx, r15d
ror ecx, 6
xor r8d, ecx
mov ecx, r12d
and ecx, r15d
xor edx, ecx
mov ecx, r11d
add r8d, edx
mov edx, r11d
add r8d, dword [r14 + rsi*4]
add r8d, dword [rbp + r10*4 - 0x50]
lea r10, [rbp - 0x50]
mov esi, dword [rbp - 0x74]
add r8d, eax
mov r14d, dword [rbp - 0x78]
and ecx, esi
add r14d, r8d
ror edx, 0x16
mov eax, r11d
ror eax, 0xd
xor edx, eax
mov eax, r11d
ror eax, 2
xor edx, eax
mov eax, r11d
xor eax, esi
and eax, edi
lea edi, [rbx + 1]
xor eax, ecx
lea ecx, [r8 + rdx]
add eax, ecx
mov ecx, edi
and ecx, 0xf
mov r9d, dword [rbp + rcx*4 - 0x50]
lea ecx, [rbx - 2]
and ecx, 0xf
mov edx, dword [rbp + rcx*4 - 0x50]
mov r8d, edx
ror r8d, 0x13
mov ecx, ebx
and ecx, 0xf
lea r10, [r10 + rcx*4]
mov ecx, edx
ror ecx, 0x11
xor r8d, ecx
shr edx, 0xa
xor r8d, edx
mov ecx, r9d
ror ecx, 7
mov edx, r9d
ror edx, 0x12
xor edx, ecx
shr r9d, 3
xor edx, r9d
lea ecx, [rbx - 7]
add r8d, edx
and ecx, 0xf
mov edx, r14d
not edx
and edx, r12d
add r8d, dword [rbp + rcx*4 - 0x50]
mov ecx, r14d
add dword [r10], r8d
mov r8d, r14d
ror ecx, 0xb
ror r8d, 0x19
xor r8d, ecx
mov ecx, r14d
ror ecx, 6
xor r8d, ecx
mov ecx, r15d
and ecx, r14d
xor edx, ecx
lea rcx, [0x1400416d0]
add r8d, edx
add r8d, dword [rcx + rbx*4]
mov edx, eax
add r8d, dword [r10]
lea ebx, [rdi + 1]
add r8d, r13d
ror edx, 0x16
add esi, r8d
lea r10, [rbp - 0x50]
mov ecx, eax
ror ecx, 0xd
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
mov ecx, r11d
mov r13d, ecx
and ecx, eax
xor r13d, eax
and r13d, dword [rbp - 0x80]
xor r13d, ecx
lea ecx, [r8 + rdx]
add r13d, ecx
mov ecx, ebx
and ecx, 0xf
mov r9d, dword [rbp + rcx*4 - 0x50]
lea ecx, [rdi - 2]
and ecx, 0xf
mov edx, dword [rbp + rcx*4 - 0x50]
mov r8d, edx
ror r8d, 0x13
mov ecx, edi
and ecx, 0xf
lea r10, [r10 + rcx*4]
mov ecx, edx
ror ecx, 0x11
xor r8d, ecx
shr edx, 0xa
xor r8d, edx
mov ecx, r9d
ror ecx, 7
mov edx, r9d
ror edx, 0x12
xor edx, ecx
shr r9d, 3
xor edx, r9d
lea ecx, [rdi - 7]
add r8d, edx
and ecx, 0xf
mov edx, esi
not edx
and edx, r15d
add r8d, dword [rbp + rcx*4 - 0x50]
mov ecx, esi
add dword [r10], r8d
mov r8d, esi
ror ecx, 0xb
ror r8d, 0x19
xor r8d, ecx
mov ecx, esi
ror ecx, 6
xor r8d, ecx
mov ecx, r14d
and ecx, esi
xor edx, ecx
lea rcx, [0x1400416d0]
add r8d, edx
mov edx, r13d
add r8d, dword [rcx + rdi*4]
mov ecx, r13d
add r8d, dword [r10]
ror ecx, 0xd
add r8d, r12d
add dword [rbp - 0x80], r8d
mov r12d, eax
ror edx, 0x16
xor r12d, r13d
xor edx, ecx
mov ecx, r13d
ror ecx, 2
xor edx, ecx
and r12d, r11d
lea edi, [rbx + 1]
mov ecx, eax
and ecx, r13d
lea r10, [rbp - 0x50]
xor r12d, ecx
lea ecx, [r8 + rdx]
add r12d, ecx
mov ecx, edi
and ecx, 0xf
mov r9d, dword [rbp + rcx*4 - 0x50]
lea ecx, [rbx - 2]
and ecx, 0xf
mov edx, dword [rbp + rcx*4 - 0x50]
mov r8d, edx
ror r8d, 0x13
mov ecx, ebx
and ecx, 0xf
lea r10, [r10 + rcx*4]
mov ecx, edx
ror ecx, 0x11
xor r8d, ecx
shr edx, 0xa
xor r8d, edx
mov ecx, r9d
ror ecx, 7
mov edx, r9d
ror edx, 0x12
xor edx, ecx
shr r9d, 3
xor edx, r9d
lea ecx, [rbx - 7]
mov r9d, dword [rbp - 0x80]
and ecx, 0xf
add r8d, edx
mov edx, r9d
not edx
and edx, r14d
add r8d, dword [rbp + rcx*4 - 0x50]
mov ecx, r9d
add dword [r10], r8d
mov r8d, r9d
ror ecx, 0xb
ror r8d, 0x19
xor r8d, ecx
mov ecx, r9d
ror ecx, 6
xor r8d, ecx
mov ecx, r9d
and ecx, esi
xor edx, ecx
lea rcx, [0x1400416d0]
add r8d, edx
mov edx, r12d
add r8d, dword [rcx + rbx*4]
mov ecx, r12d
add r8d, dword [r10]
lea ebx, [rdi + 1]
ror ecx, 0xd
add r8d, r15d
add dword [rbp - 0x7c], r8d
mov r15d, r13d
ror edx, 0x16
xor r15d, r12d
xor edx, ecx
and r15d, eax
mov ecx, r12d
ror ecx, 2
xor edx, ecx
mov ecx, r13d
and ecx, r12d
xor r15d, ecx
lea ecx, [r8 + rdx]
add r15d, ecx
mov ecx, ebx
and ecx, 0xf
mov r9d, dword [rbp + rcx*4 - 0x50]
lea ecx, [rdi - 2]
and ecx, 0xf
mov edx, dword [rbp + rcx*4 - 0x50]
mov ecx, edi
and ecx, 0xf
mov r8d, edx
mov r11d, ebx
ror r8d, 0x13
lea r10, [rbp - 0x50]
lea r10, [r10 + rcx*4]
mov ecx, edx
ror ecx, 0x11
xor r8d, ecx
shr edx, 0xa
xor r8d, edx
mov ecx, r9d
ror ecx, 7
mov edx, r9d
ror edx, 0x12
xor edx, ecx
shr r9d, 3
xor edx, r9d
lea ecx, [rdi - 7]
mov r9d, dword [rbp - 0x7c]
add r8d, edx
and ecx, 0xf
mov edx, r9d
not edx
and edx, esi
add r8d, dword [rbp + rcx*4 - 0x50]
mov ecx, r9d
add dword [r10], r8d
mov r8d, r9d
ror ecx, 0xb
ror r8d, 0x19
xor r8d, ecx
mov ecx, r9d
ror ecx, 6
xor r8d, ecx
mov ecx, dword [rbp - 0x80]
and ecx, r9d
xor edx, ecx
lea rcx, [0x1400416d0]
add r8d, edx
mov edx, r15d
add r8d, dword [rcx + rdi*4]
mov ecx, r15d
add r8d, dword [r10]
mov edi, r12d
ror ecx, 0xd
lea r10, [rbp - 0x50]
add r8d, r14d
ror edx, 0x16
xor edx, ecx
lea r14d, [rbx + 1]
add eax, r8d
mov qword [rbp - 0x70], r14
xor edi, r15d
mov ecx, r15d
ror ecx, 2
and edi, r13d
xor edx, ecx
mov ecx, r12d
and ecx, r15d
xor edi, ecx
lea ecx, [r8 + rdx]
add edi, ecx
mov ecx, r14d
and ecx, 0xf
mov dword [rbp - 0x78], edi
mov r9d, dword [rbp + rcx*4 - 0x50]
lea ecx, [rbx - 2]
and ecx, 0xf
mov edx, dword [rbp + rcx*4 - 0x50]
mov r8d, edx
ror r8d, 0x13
mov ecx, ebx
and ecx, 0xf
lea r10, [r10 + rcx*4]
mov ecx, edx
shr edx, 0xa
ror ecx, 0x11
xor r8d, ecx
xor r8d, edx
mov edx, r9d
ror edx, 0x12
mov ecx, r9d
shr r9d, 3
ror ecx, 7
xor edx, ecx
lea ecx, [rbx - 7]
mov ebx, dword [rbp - 0x7c]
and ecx, 0xf
xor edx, r9d
add r8d, edx
mov edx, eax
not edx
add r8d, dword [rbp + rcx*4 - 0x50]
mov ecx, eax
add dword [r10], r8d
mov r8d, eax
and edx, dword [rbp - 0x80]
ror ecx, 0xb
ror r8d, 0x19
xor r8d, ecx
mov ecx, eax
ror ecx, 6
xor r8d, ecx
mov ecx, ebx
and ecx, eax
xor edx, ecx
lea rcx, [0x1400416d0]
add r8d, edx
mov edx, edi
add r8d, dword [rcx + r11*4]
mov ecx, edi
add r8d, dword [r10]
add r8d, esi
ror ecx, 0xd
ror edx, 0x16
mov esi, r15d
xor edx, ecx
xor esi, edi
and esi, r12d
mov ecx, edi
ror ecx, 2
add r13d, r8d
xor edx, ecx
mov ecx, r15d
and ecx, edi
xor esi, ecx
lea ecx, [r8 + rdx]
add esi, ecx
mov dword [rbp - 0x74], esi
cmp r14d, 0x40
jb 0x14002ac80
mov r10d, dword [rbp - 0x80]
mov rdx, qword [rbp - 0x60]
mov ecx, dword [rbp - 0x68]
add ecx, esi
add dword [rdx + 4], edi
add dword [rdx + 8], r15d
add dword [rdx + 0xc], r12d
add dword [rdx + 0x10], r13d
add dword [rdx + 0x14], eax
add dword [rdx + 0x18], ebx
add dword [rdx + 0x1c], r10d
mov dword [rdx], ecx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.14002d710
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret