Function at 0x201def60
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
movdqa xmmword [rsp + 0xb0], xmm8
movdqa xmmword [rsp + 0xa0], xmm7
movdqa xmmword [rsp + 0x90], xmm6
mov r13, rcx
xorps xmm0, xmm0
mov qword [rsp + 0x40], rdx
movups xmmword [rdx + 0x10], xmm0
mov rbx, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 8
jb 0x201defad
mov r13, qword [r13]
movabs rsi, 0xbf4a555f9d61ed2a
cmp rbx, 8
jae 0x201defe4
movups xmm0, xmmword [r13]
mov rdi, qword [rsp + 0x40]
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 7
test rbx, rbx
jne 0x201df266
jmp 0x201dfdad
mov rax, rbx
not rax
mov rcx, rbx
xor rcx, 7
mov rdx, rax
and rdx, 0xfffffffffffffff8
or rdx, rcx
not rdx
and eax, 7
mov r14, rbx
and r14, 0xfffffffffffffff8
or r14, rax
or r14, rdx
movabs rax, 0x7ffffffffffffffe
cmp r14, rax
cmovae r14, rax
lea r15, [r14 + r14]
cmp r14, 0x7fe
jbe 0x201df087
mov edi, 0x35b1
lea r12, [rsp + 0x30]
mov bpl, 1
nop dword [rax]
mov eax, dword [0x20464ea4]
add eax, edi
cdqe
add rax, qword [0x20464f30]
mov rcx, r14
mov rdx, r12
mov r8d, 0xd83c990d
call qword [case.0x200fc05d.0]
test bpl, bpl
jne 0x201df181
nop dword [rax]
mov eax, dword [0x204a2cc0]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x201df070
jmp 0x201df040
mov qword [rsp + 0x48], r13
mov ebp, 0x35b1
lea r12, [rsp + 0x30]
lea r13, [r15*8 - 0x10]
add r15, 2
mov dil, 1
nop word cs:[rax + rax]
mov eax, dword [0x20464ebc]
add eax, ebp
cdqe
add rax, qword [0x20464f18]
mov ecx, 0x2749162a
call qword [case.0x200fc05d.0]
test al, 1
je 0x201df113
mov eax, dword [0x20464e64]
mov ecx, dword [0x20465910]
add eax, ecx
add eax, 0xcb51d48b
cdqe
add rax, qword [0x20464f08]
mov rcx, r15
mov rdx, r12
mov r8d, 0x10555a81
call qword [case.0x200fc05d.0]
mov rax, qword [0x20465918]
add rax, rsi
cmp qword [rsp + 0x40], rax
jne 0x201df226
mov cl, 2
sub cl, r13b
mov rax, r13
shl rax, cl
mov rdx, r13
mov ecx, eax
shl rdx, cl
mov rax, r13
sub rax, rdx
imul rax, rdx
sub rax, rdx
imul rax, rdx
mov ecx, edx
shl rax, cl
mov r8, rax
shl r8, cl
add r8, rax
mov eax, dword [0x20464eb8]
sub eax, dword [0x20465910]
add eax, 0x34ae96d7
cdqe
add rax, qword [0x20464f98]
mov rcx, r8
mov edx, 0x2aa58e
mov r8d, 0x96ab64e0
call qword [case.0x200fc05d.0]
test dil, dil
je 0x201df0b0
jmp 0x201df0d0
test byte [rsp + 0x30], 1
je 0x201df281
mov eax, 0x35b1
add eax, dword [0x20464eb8]
add r15, 0x29
cdqe
add rax, qword [0x20464f98]
mov rcx, r15
mov edx, 0x2aa58e
mov r8d, 0x96ab64e0
call qword [case.0x200fc05d.0]
mov rcx, qword [0x20465918]
movabs rdx, 0xbf4a555f9d61ed51
xor rdx, rcx
movabs r8, 0x3f4a555f9d61ed51
and r8, rcx
lea rcx, [rdx + r8*2]
mov rdx, rax
xor rdx, rcx
and rcx, rax
lea r15, [rdx + rcx*2]
and r15, 0xffffffffffffffe0
lea rdx, [r15 - 8]
mov ecx, dword [0x20464e5c]
mov r8d, dword [0x20465910]
add ecx, r8d
add ecx, 0xcb51d48b
movsxd r9, ecx
add r9, qword [0x20464fa0]
mov rcx, rax
mov r8d, 0x93a568f8
mov rax, r9
call qword [case.0x200fc05d.0]
jmp 0x201df230
mov r15, qword [rsp + 0x30]
mov r13, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
mov qword [rdi], r15
lea rax, [rbx + rbx]
add rax, qword [0x20465918]
movabs r8, 0xbf4a555f9d61ed2c
add r8, rax
mov rcx, r15
mov rdx, r13
call fcn.20353d70
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], r14
mov rdi, qword [rdi]
lea rax, [fcn.201def60]
add eax, eax
add eax, 0x22a0
mov ecx, eax
not ecx
test ecx, eax
je 0x201df29b
jmp 0x201df30c
mov eax, 0x35b1
add eax, dword [0x20464e8c]
cdqe
add rax, qword [0x20464fb0]
call qword [case.0x200fc05d.0]
mov eax, 0x35b1
add eax, dword [0x20464ec4]
cdqe
add rax, qword [0x20464f58]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x28], 0xd394c879
lea r8, [rsp + 0x68]
lea r9, [rsp + 0x38]
mov rcx, rdi
mov rdx, rbx
call qword [case.0x200fc05d.0]
mov r9, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
mov edx, dword [0x204a2cc0]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, 0xcb519edc
add r8d, dword [0x20465910]
xor edx, edx
div r8d
test edx, edx
je 0x201df403
movabs r13, 0x3f4a555f9d61ed29
lea r14, [rsp + 0x38]
lea r15, [rsp + 0x30]
mov ebp, 0x35b1
nop word cs:[rax + rax]
mov rdx, qword [0x20465918]
mov rax, rbx
sub rax, rdx
mov rcx, rsi
sub rcx, rax
add rdx, r13
imul rdx, rcx
add rax, rdx
mov rcx, r13
sub rcx, rax
mov eax, dword [0x20464e9c]
mov r8d, dword [0x20465910]
add eax, r8d
add eax, 0xcb51d48b
cdqe
add rax, qword [0x20464f50]
mov dword [rsp + 0x20], 0x5fb57fbe
mov r8, r14
mov r9, r15
call qword [case.0x200fc05d.0]
mov rdx, qword [rsp + 0x38]
movzx ecx, byte [rsp + 0x30]
mov r12, rdx
shl r12, cl
mov eax, dword [0x20464e84]
add eax, ebp
cdqe
add rax, qword [0x20464f90]
mov rcx, rdx
mov rdx, r12
mov r8, r15
mov r9d, 0x4a9b1b3b
call qword [case.0x200fc05d.0]
mov rax, qword [rsp + 0x30]
mov rdx, rax
mov ecx, r12d
shl rdx, cl
mov rcx, rdx
sub rcx, rax
mov eax, dword [0x20464e78]
add eax, ebp
cdqe
add rax, qword [0x20464f28]
mov r8, r15
mov r9d, 0xcdae4de4
call qword [case.0x200fc05d.0]
mov eax, dword [0x204a2cc4]
cmp eax, 0x3e
jge 0x201df330
jmp 0x201df29b
cmp rcx, 0xf
jb 0x201dfde5
mov qword [rsp + 0x60], r9
mov rax, r10
xor rax, 0xf
mov qword [rsp + 0x50], r10
and rax, r10
mov qword [rsp + 0x48], rax
lea rax, [rdi + rax*2]
mov qword [rsp + 0x58], rax
xor r15d, r15d
movdqa xmm6, xmmword [0x2037bee0]
mov r14d, 0x35b1
lea rbx, [rsp + 0x30]
movabs rsi, 0xc4d60e6c73a8cd7c
movabs r12, 0x3b29f1938c573285
xor r13d, r13d
jmp 0x201df46f
add r13, 0x10
cmp r13, qword [rsp + 0x48]
je 0x201dfd97
xor eax, eax
sub eax, dword [0x20465918]
mov ecx, eax
xor ecx, 0xd5
and eax, 0x55
lea ecx, [rcx + rax*2]
neg cl
mov rdx, r13
shl rdx, cl
movdqu xmm8, xmmword [rdi + rdx]
movdqu xmm7, xmmword [rdi + rdx + 0x10]
pcmpeqw xmm8, xmm6
movd ebp, xmm8
test bpl, 1
je 0x201df4cc
add rdx, rdi
mov eax, dword [0x20464e54]
add eax, r14d
cdqe
add rax, qword [0x20464ed8]
mov rcx, rdx
mov edx, 0x5f4d39ba
call qword [case.0x200fc05d.0]
shr ebp, 0x10
test bpl, 1
je 0x201df4f7
movzx ecx, byte [0x20465918]
add cl, 0x2b
mov rax, r13
shl rax, cl
mov ecx, eax
and ecx, 2
xor rcx, rax
xor rcx, 2
mov word [rdi + rcx], 0x2f
pextrw eax, xmm8, 2
test al, 1
je 0x201df54c
mov rcx, r13
add rcx, r13
mov eax, dword [0x20464ea8]
mov edx, dword [0x20465910]
mov r8d, edx
xor r8d, 0xcb516929
and edx, 0x4b516929
lea edx, [r8 + rdx*2]
sub eax, edx
cdqe
add rax, qword [0x20464f70]
mov rdx, rbx
mov r8d, 0x348fdc6c
call qword [case.0x200fc05d.0]
mov rax, qword [rsp + 0x30]
mov word [rdi + rax], 0x2f
pextrw eax, xmm8, 3
test al, 1
je 0x201df571
mov rax, r13
add rax, r13
or rax, 6
mov ecx, dword [0x20465924]
mov edx, 0x2592
add ecx, edx
mov word [rdi + rax], cx
pextrw eax, xmm8, 4
test al, 1
je 0x201df5d7
test r15b, r15b
jne 0x201df6f0
nop word cs:[rax + rax]
movzx ecx, byte [0x20465918]
add cl, 0x2b
mov rax, r13
shl rax, cl
or rax, 8
mov word [rdi + rax], 0x2f
mov eax, dword [0x20464e90]
add eax, r14d
cdqe
add rax, qword [0x20464fa8]
mov ecx, dword [0x20465910]
mov edx, 0x976bf23d
add ecx, edx
call qword [case.0x200fc05d.0]
test al, 1
je 0x201df6f0
pextrw eax, xmm8, 5
test al, 1
je 0x201df614
mov eax, dword [0x20464ec0]
add eax, r14d
cdqe
add rax, qword [0x20464ef8]
mov rcx, r13
mov rdx, rbx
mov r8d, 0x8fccce9b
call qword [case.0x200fc05d.0]
mov rax, qword [rsp + 0x30]
or rax, 0xa
mov word [rdi + rax], 0x2f
mov eax, dword [0x204a2cc0]
mov ecx, dword [0x20465910]
not ecx
add ecx, eax
imul ecx, eax
test cl, 1
mov eax, dword [0x20464eb4]
mov ecx, dword [0x20465910]
mov edx, ecx
xor edx, 0xcb519eda
and ecx, 0x4b519eda
lea ecx, [rdx + rcx*2]
add eax, ecx
add eax, 0x35b1
cdqe
add rax, qword [0x20464f68]
mov ecx, 0xb78376b
call qword [case.0x200fc05d.0]
test al, 1
je 0x201df62a
pextrw eax, xmm8, 6
test al, 1
je 0x201df68d
mov rax, r13
add rax, r13
mov rcx, rax
xor rcx, 0xfffffffffffffff2
and rcx, rax
xor rax, 0xc
or rax, rcx
mov word [rdi + rax], 0x2f
pextrw eax, xmm8, 7
test al, 1
je 0x201df6bc
movzx ecx, byte [0x20465918]
add cl, 0x2b
mov rax, r13
shl rax, cl
or rax, 0xe
mov ecx, dword [0x20465924]
mov edx, 0x2592
add ecx, edx
mov word [rdi + rax], cx
mov eax, dword [0x20465910]
add eax, 0xcb519edb
lea rcx, [fcn.201def60]
add ecx, ecx
add ecx, 0x4be0
xor eax, ecx
not eax
test eax, ecx
jne 0x201df7b0
jmp 0x201df750
mov eax, dword [0x20464e88]
mov ecx, dword [0x20465910]
add eax, ecx
add eax, 0xcb51d48b
cdqe
add rax, qword [0x20464f10]
mov rcx, r13
lea rdx, [rsp + 0x38]
mov r8, rbx
mov r9d, 0xc5649b65
call qword [case.0x200fc05d.0]
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
sub ecx, eax
shl rax, cl
mov rcx, rax
shl rcx, 8
sub rcx, rax
mov word [rdi + rcx], 0x2f
jmp 0x201df590
mov eax, dword [0x204a2cc4]
cmp eax, 0x1e
jge 0x201df7b0
pcmpeqw xmm7, xmm6
movd eax, xmm7
test al, 1
je 0x201df777
mov rcx, r13
add rcx, r13
or rcx, 0x10
mov word [rdi + rcx], 0x2f
shr eax, 0x10
test al, 1
je 0x201df910
lea rdx, [fcn.201def60]
lea eax, [rdx + rdx]
add eax, 0x31e0
mov ecx, eax
not ecx
and eax, ecx
add edx, edx
add edx, 0x31e1
and ecx, 0xfffffffe
xor ecx, edx
or ecx, eax
cmp ecx, 0xffffffff
jne 0x201df820
jmp 0x201df7d0
mov eax, dword [0x204a2cc0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x201df7b0
jmp 0x201df750
mov rax, r13
add rax, r13
or rax, 0x12
movzx ecx, word [0x20465924]
mov edx, ecx
xor edx, 0x2592
and ecx, 0x2592
lea ecx, [rdx + rcx*2]
mov word [rdi + rax], cx
mov eax, dword [0x204a2cc0]
mov ecx, dword [0x20465910]
add ecx, eax
mov edx, 0x6b9775f5
sub edx, ecx
imul edx, eax
test dl, 1
je 0x201df910
nop word [rax + rax]
mov rax, rsi
sub rax, r13
mov rcx, rax
xor rcx, 1
and eax, 1
lea rdx, [rcx + rax*2]
add rdx, r12
mov rbp, rdx
not rbp
add rbp, r13
imul rbp, rdx
mov rcx, rbp
neg rcx
mov eax, dword [0x20464eac]
add eax, r14d
cdqe
add rax, qword [0x20464f00]
mov r8, rbx
mov r9d, 0xe011cdd3
call qword [case.0x200fc05d.0]
mov r15, qword [rsp + 0x30]
mov ecx, r15d
shl rbp, cl
mov eax, dword [0x20464e74]
sub eax, dword [0x20465910]
add eax, 0x34ae96d7
cdqe
add rax, qword [0x20464f78]
mov rcx, rbp
mov rdx, r15
mov r8, rbx
mov r9d, 0x828c6d77
call qword [case.0x200fc05d.0]
mov rax, qword [rsp + 0x30]
mov rcx, rax
sub rcx, r15
imul rcx, r15
mov rdx, rax
sub rdx, rcx
imul rdx, rcx
mov rcx, rax
sub rcx, rdx
lea rdx, [rax + rcx]
neg rcx
imul rcx, rdx
shl rax, cl
sub rax, rcx
imul rax, rcx
shl rax, cl
mov ecx, 0x12
sub rcx, rax
or rcx, 0x12
mov word [rdi + rcx], 0x2f
mov eax, dword [0x204a2cc4]
cmp eax, 0x49
jge 0x201df820
jmp 0x201df7d0
mov eax, dword [0x20464e7c]
add eax, r14d
cdqe
add rax, qword [0x20464ed0]
movdqa xmmword [rsp + 0x80], xmm7
lea rcx, [rsp + 0x80]
mov edx, 0x9793f58e
call qword [case.0x200fc05d.0]
test al, 1
je 0x201df952
mov rax, r13
add rax, r13
or rax, 0x14
mov word [rdi + rax], 0x2f
pextrw eax, xmm7, 3
test al, 1
mov r15d, 0
je 0x201dfa70
mov ebp, dword [0x204a2cc0]
mov eax, dword [0x20464e80]
sub eax, dword [0x20465910]
add eax, 0x34ae96d7
cdqe
add rax, qword [0x20464ef0]
mov ecx, ebp
mov rdx, rbx
mov r8d, 0x2575bbad
call qword [case.0x200fc05d.0]
imul ebp, dword [rsp + 0x30]
mov eax, dword [0x20464e50]
add eax, r14d
cdqe
add rax, qword [0x20464f38]
mov ecx, ebp
mov rdx, rbx
mov r8d, 0x8822c656
call qword [case.0x200fc05d.0]
cmp dword [rsp + 0x30], 0
jne 0x201dfa13
nop word cs:[rax + rax]
mov rax, r13
add rax, r13
mov rcx, rax
not rcx
xor rax, 0x16
and rcx, 0xffffffffffffffe9
or rcx, rax
not rcx
or rcx, rax
mov word [rdi + rcx], 0x2f
mov eax, dword [0x20465910]
mov ecx, 0xcb519edb
add eax, ecx
lea rcx, [fcn.201def60]
add ecx, ecx
add ecx, 0x3600
test ecx, eax
je 0x201dfa70
lea eax, [r13 - 1]
mov ecx, dword [0x20465918]
mov edx, 0x9d61ed2b
add ecx, edx
imul ecx, eax
mov rax, r13
shl rax, cl
mov rdx, r13
sub rdx, rax
imul rdx, rax
mov ecx, eax
shl rdx, cl
lea rax, [rdx + rdx*4]
lea rax, [rdx + rax*4]
lea rcx, [rdx + rax]
add rcx, 0xfffffffffffffe1c
shl rdx, cl
sub ecx, edx
mov rax, rdx
shl rax, cl
or rax, rdx
mov word [rdi + rax], 0x2f
jmp 0x201df9d0
lea rbp, [rsp + 0x70]
test r15b, r15b
je 0x201dfada
nop word [rax + rax]
mov eax, dword [0x20464e58]
mov ecx, dword [0x20465910]
mov edx, ecx
xor edx, 0xcb516929
mov r8d, ecx
and r8d, 0x4b516929
lea edx, [rdx + r8*2]
sub eax, edx
mov edx, ecx
xor edx, 0xcb519eda
and ecx, 0x4b519eda
lea ecx, [rdx + rcx*2]
add ecx, eax
movsxd rax, ecx
add rax, qword [0x20464ee8]
movdqa xmmword [rsp + 0x70], xmm7
mov rcx, rbp
mov edx, 0x7972d3ff
call qword [case.0x200fc05d.0]
test r15b, r15b
jne 0x201dfa80
pextrw eax, xmm7, 4
test al, 1
je 0x201dfc40
nop word [rax + rax]
mov eax, dword [0x204a2cc4]
cmp eax, 0x47
jg 0x201dfb36
movzx ecx, byte [0x20465918]
add cl, 0x2b
mov rax, r13
shl rax, cl
mov ecx, eax
and ecx, 0x18
mov edx, eax
not edx
and edx, 0x18
and rax, 0xffffffffffffffe7
or rax, rdx
xor rax, rcx
mov word [rdi + rax], 0x2f
mov eax, dword [0x204a2cc4]
cmp eax, 0x51
jle 0x201dfc40
mov rbp, r13
add rbp, r13
lea rcx, [r13 - 1]
add rcx, r13
mov eax, dword [0x20464e60]
add eax, r14d
cdqe
add rax, qword [0x20464ee0]
mov rdx, rbp
mov r8, rbx
mov r9d, 0x5680e989
call qword [case.0x200fc05d.0]
mov rcx, qword [rsp + 0x30]
shl rbp, cl
sub rbp, rcx
imul rbp, rcx
sub rbp, rcx
imul rbp, rcx
shl rbp, cl
shl rbp, cl
mov ecx, 0x18
sub rcx, rbp
mov rdx, rcx
sub rdx, rbp
mov rbp, rdx
shl rbp, cl
sub rdx, rbp
imul rdx, rbp
mov eax, dword [0x20464e68]
mov ecx, dword [0x20465910]
add eax, ecx
add eax, 0xcb51d48b
cdqe
add rax, qword [0x20464f80]
mov rcx, rdx
mov rdx, rbp
mov r8, rbx
mov r9d, 0x9fd3746e
call qword [case.0x200fc05d.0]
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x20464eb0]
add eax, r14d
cdqe
add rax, qword [0x20464f20]
mov dword [rsp + 0x20], 0x435e1ccf
mov rdx, rbp
lea r8, [rsp + 0x38]
mov r9, rbx
call qword [case.0x200fc05d.0]
mov rax, qword [rsp + 0x38]
add rbp, qword [rsp + 0x30]
mov ecx, ebp
shl rax, cl
shl rax, cl
or rax, rbp
mov word [rdi + rax], 0x2f
mov eax, dword [0x204a2cc0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x201dfaf0
jmp 0x201dfafb
pextrw eax, xmm7, 5
test al, 1
je 0x201dfc64
mov rax, r13
add rax, r13
or rax, 0x1a
mov ecx, dword [0x20465924]
mov edx, 0x2592
add ecx, edx
mov word [rdi + rax], cx
pextrw eax, xmm7, 6
test al, 1
je 0x201dfd35
mov eax, dword [0x20464e70]
add eax, r14d
cdqe
add rax, qword [0x20464f40]
mov rcx, rbx
mov edx, 0xd71c2412
call qword [case.0x200fc05d.0]
cmp dword [rsp + 0x30], 0x19
jle 0x201dfcc0
mov eax, dword [0x20464e98]
sub eax, dword [0x20465910]
add eax, 0x34ae96d7
cdqe
add rax, qword [0x20464f60]
mov rcx, rdi
mov edx, 0x602cea35
call qword [case.0x200fc05d.0]
mov eax, dword [0x20464e6c]
add eax, r14d
cdqe
add rax, qword [0x20464f88]
mov rcx, r13
mov rdx, rbx
mov r8d, 0x176500a5
call qword [case.0x200fc05d.0]
mov rax, qword [0x20465918]
movabs rcx, 0xbf4a555f9d61ed46
add rax, rcx
or rax, qword [rsp + 0x30]
mov ecx, dword [0x20465924]
mov edx, 0x2592
add ecx, edx
mov word [rdi + rax], cx
mov eax, dword [0x20464ea0]
mov ecx, dword [0x20465910]
add eax, ecx
add eax, 0xcb51d48b
cdqe
add rax, qword [0x20464fb8]
mov ecx, 0x1a12e3d
call qword [case.0x200fc05d.0]
pextrw eax, xmm7, 7
test al, 1
je 0x201df460
mov eax, dword [0x20464e94]
add eax, r14d
cdqe
add rax, qword [0x20464f48]
mov r9d, dword [0x20465910]
mov ecx, 0x1e012773
add r9d, ecx
mov rcx, r13
mov rdx, rdi
mov r8, rbx
call qword [case.0x200fc05d.0]
mov rax, qword [rsp + 0x30]
movzx ecx, word [0x20465924]
mov edx, ecx
xor edx, 0x2592
and ecx, 0x2592
lea ecx, [rdx + rcx*2]
mov word [rax], cx
jmp 0x201df460
mov rax, qword [rsp + 0x48]
cmp qword [rsp + 0x50], rax
mov r9, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
jne 0x201dfde5
mov rax, qword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp rdi, r9
je 0x201dfdad
add rdi, 2
cmp word [rdi - 2], 0x5c
jne 0x201dfde0
mov word [rdi - 2], 0x2f
jmp 0x201dfde0