Function at 0x7ff668bf3360
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
movsxd rsi, r8d
mov rdi, rdx
cmp esi, 0x38
jg 0x7ff668bf381f
mov qword [rsp + 0x30], rbx
mov rcx, rsi
mov rbx, rsi
call fcn.7ff668cb8f4c
mov r10, rax
test esi, esi
jle 0x7ff668bf33b0
mov rdx, rax
sub rdi, rax
nop word [rax + rax]
movzx ecx, byte [rdi + rdx]
mov byte [rdx], cl
lea rdx, [rdx + 1]
sub rbx, 1
jne 0x7ff668bf33a0
xor ebx, ebx
lea r11, [0x7ff668ceef68]
mov r9d, ebx
lea rdi, [0x7ff668ceefb0]
nop dword [rax]
nop word [rax + rax]
mov eax, r9d
cdq
idiv esi
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv esi
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 4]
cdq
add r8d, ecx
xor dword [r11 - 8], r8d
idiv esi
mov r9d, edx
mov eax, edx
cdq
idiv esi
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv esi
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 4]
cdq
add r8d, ecx
xor dword [r11 - 4], r8d
idiv esi
mov r9d, edx
mov eax, edx
cdq
idiv esi
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv esi
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
add r8d, ecx
shl r8d, 8
lea eax, [r9 + 3]
cdq
idiv esi
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 4]
cdq
add r8d, ecx
idiv esi
xor dword [r11], r8d
mov r9d, edx
mov eax, edx
cdq
idiv esi
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv esi
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 4]
cdq
add r8d, ecx
xor dword [r11 + 4], r8d
idiv esi
mov r9d, edx
mov eax, edx
cdq
idiv esi
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv esi
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 4]
cdq
add r8d, ecx
xor dword [r11 + 8], r8d
idiv esi
mov eax, edx
mov r9d, edx
cdq
idiv esi
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
shl r8d, 8
cdq
idiv esi
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 4]
cdq
add r8d, ecx
xor dword [r11 + 0xc], r8d
idiv esi
mov r9d, edx
mov eax, edx
cdq
idiv esi
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv esi
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 4]
cdq
add r8d, ecx
xor dword [r11 + 0x10], r8d
idiv esi
mov r9d, edx
mov eax, edx
cdq
idiv esi
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv esi
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
add r8d, ecx
xor dword [r11 + 0x14], r8d
lea eax, [r9 + 4]
cdq
idiv esi
mov r9d, edx
mov eax, edx
cdq
idiv esi
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv esi
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv esi
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 4]
cdq
add r8d, ecx
xor dword [r11 + 0x18], r8d
add r11, 0x24
idiv esi
mov r9d, edx
cmp r11, rdi
jl 0x7ff668bf33d0
mov qword [0x7ff668cf552c], rbx
lea rdi, [0x7ff668ceefa8]
lea rbx, [0x7ff668ceef60]
call fcn.7ff668bf3840
mov eax, dword [0x7ff668cf552c]
mov dword [rbx], eax
mov eax, dword [0x7ff668cf5530]
mov dword [rbx + 4], eax
add rbx, 8
cmp rbx, rdi
jl 0x7ff668bf3737
lea rbx, [0x7ff668ceeb60]
lea rdi, [0x7ff668ceef60]
call fcn.7ff668bf3840
mov eax, dword [0x7ff668cf552c]
mov dword [rbx], eax
mov eax, dword [0x7ff668cf5530]
mov dword [rbx + 4], eax
add rbx, 8
cmp rbx, rdi
jl 0x7ff668bf3764
lea rbx, [0x7ff668cef390]
lea rdi, [0x7ff668cef790]
call fcn.7ff668bf3840
mov eax, dword [0x7ff668cf552c]
mov dword [rbx], eax
mov eax, dword [0x7ff668cf5530]
mov dword [rbx + 4], eax
add rbx, 8
cmp rbx, rdi
jl 0x7ff668bf3791
lea rbx, [0x7ff668cef790]
lea rdi, [0x7ff668cefb90]
nop
call fcn.7ff668bf3840
mov eax, dword [0x7ff668cf552c]
mov dword [rbx], eax
mov eax, dword [0x7ff668cf5530]
mov dword [rbx + 4], eax
add rbx, 8
cmp rbx, rdi
jl 0x7ff668bf37c0
lea rbx, [0x7ff668cee760]
lea rdi, [0x7ff668ceeb60]
nop dword [rax]
call fcn.7ff668bf3840
mov eax, dword [0x7ff668cf552c]
mov dword [rbx], eax
mov eax, dword [0x7ff668cf5530]
mov dword [rbx + 4], eax
add rbx, 8
cmp rbx, rdi
jl 0x7ff668bf37f0
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
lea rdx, [0x7ff668ce9168]
mov dword [rsp + 0x40], 0x38
lea rcx, [rsp + 0x40]
call sub.vcruntime140.dll__CxxThrowException
int3