Function at 0x140002290
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rbp
push rsi
sub rsp, 0x20
movsxd rbp, r8d
mov rsi, rdx
mov rbx, rcx
cmp ebp, 0x38
jg 0x140002751
mov qword [rsp + 0x30], rdi
mov rcx, rbp
mov rdi, rbp
call fcn.1400c7268
mov r10, rax
test ebp, ebp
jle 0x1400022e0
mov rdx, rax
sub rsi, rax
nop
movzx ecx, byte [rsi + rdx]
mov byte [rdx], cl
lea rdx, [rdx + 1]
sub rdi, 1
jne 0x1400022d0
xor edi, edi
lea r11, [0x140120138]
mov r9d, edi
lea rsi, [0x140120180]
nop dword [rax]
nop word [rax + rax]
mov eax, r9d
cdq
idiv ebp
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv ebp
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv ebp
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv ebp
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 ebp
mov r9d, edx
mov eax, edx
cdq
idiv ebp
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv ebp
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv ebp
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv ebp
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 ebp
mov r9d, edx
mov eax, edx
cdq
idiv ebp
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv ebp
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv ebp
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
add r8d, ecx
shl r8d, 8
lea eax, [r9 + 3]
cdq
idiv ebp
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 4]
cdq
add r8d, ecx
idiv ebp
xor dword [r11], r8d
mov r9d, edx
mov eax, edx
cdq
idiv ebp
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv ebp
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv ebp
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv ebp
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 ebp
mov r9d, edx
mov eax, edx
cdq
idiv ebp
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv ebp
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv ebp
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv ebp
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 ebp
mov eax, edx
mov r9d, edx
cdq
idiv ebp
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
shl r8d, 8
cdq
idiv ebp
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv ebp
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv ebp
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 ebp
mov r9d, edx
mov eax, edx
cdq
idiv ebp
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv ebp
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv ebp
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv ebp
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 ebp
mov r9d, edx
mov eax, edx
cdq
idiv ebp
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv ebp
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv ebp
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv ebp
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 ebp
mov r9d, edx
mov eax, edx
cdq
idiv ebp
movsxd rax, edx
movzx r8d, byte [rax + r10]
lea eax, [r9 + 1]
cdq
shl r8d, 8
idiv ebp
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 2]
cdq
add r8d, ecx
idiv ebp
shl r8d, 8
movsxd rax, edx
movzx ecx, byte [rax + r10]
lea eax, [r9 + 3]
cdq
add r8d, ecx
idiv ebp
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 ebp
mov r9d, edx
cmp r11, rsi
jl 0x140002300
mov qword [rbx + 4], rdi
lea rsi, [0x140120178]
lea rdi, [0x140120130]
mov rcx, rbx
call fcn.140002770
mov eax, dword [rbx + 4]
mov dword [rdi], eax
mov eax, dword [rbx + 8]
mov dword [rdi + 4], eax
add rdi, 8
cmp rdi, rsi
jl 0x140002664
lea rdi, [0x140120560]
lea rsi, [0x140120960]
nop
mov rcx, rbx
call fcn.140002770
mov eax, dword [rbx + 4]
mov dword [rdi], eax
mov eax, dword [rbx + 8]
mov dword [rdi + 4], eax
add rdi, 8
cmp rdi, rsi
jl 0x140002690
lea rdi, [0x140120960]
lea rsi, [0x140120d60]
nop word [rax + rax]
mov rcx, rbx
call fcn.140002770
mov eax, dword [rbx + 4]
mov dword [rdi], eax
mov eax, dword [rbx + 8]
mov dword [rdi + 4], eax
add rdi, 8
cmp rdi, rsi
jl 0x1400026c0
lea rdi, [0x140121160]
lea rsi, [0x140121560]
nop word [rax + rax]
mov rcx, rbx
call fcn.140002770
mov eax, dword [rbx + 4]
mov dword [rdi], eax
mov eax, dword [rbx + 8]
mov dword [rdi + 4], eax
add rdi, 8
cmp rdi, rsi
jl 0x1400026f0
lea rdi, [0x140120d60]
lea rsi, [0x140121160]
nop word [rax + rax]
mov rcx, rbx
call fcn.140002770
mov eax, dword [rbx + 4]
mov dword [rdi], eax
mov eax, dword [rbx + 8]
mov dword [rdi + 4], eax
add rdi, 8
cmp rdi, rsi
jl 0x140002720
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x48]
add rsp, 0x20
pop rsi
ret
lea rdx, [0x14011bc48]
mov dword [rsp + 0x40], Ordinal_60
lea rcx, [rsp + 0x40]
call sub.VCRUNTIME140.dll__CxxThrowException
int3