Function at 0x14024d9c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp], 0xfffffffffffffffe
mov rdi, rdx
mov rsi, rcx
mov rax, qword [rcx]
mov ecx, dword [0x140694428]
nop dword [rax + rax]
mov ecx, dword [0x140694428]
mov edx, ecx
sub edx, dword [0x140625d10]
imul edx, ecx
test dl, 1
jne 0x14024d9f0
mov ecx, dword [0x14069442c]
cmp ecx, 0x1c
jg 0x14024da40
mov r15, qword [0x140625bd8]
mov ecx, 0x5ab85a18
add ecx, dword [0x140625d10]
lea rdx, [fcn.14024d9c0]
add edx, edx
add edx, 0x2cc0
xor ecx, edx
not ecx
test ecx, edx
je 0x14024da5a
nop word [rax + rax]
mov rcx, qword [0x140625bd8]
mov ecx, dword [0x140694428]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x14024da40
jmp 0x14024da11
movsxd rbx, dword [r15]
mov r14d, dword [0x1405370a8]
cmp rax, 0xffffffffffffffff
je 0x14024dabe
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x14024daa3
mov rax, qword [rsi + 0x10]
mov rax, qword [rax + 0x6e0]
xor ecx, ecx
call qword [0x1405fc400]
cmp eax, 1
sete al
movzx ecx, byte [0x1406943d0]
test cl, al
jne 0x14024da9b
xor cl, al
je 0x14024daa3
mov qword [rsi + 8], 0
mov rcx, qword [rsi]
mov rax, qword [rsi + 0x10]
mov rax, qword [rax + 0x6e8]
call qword [0x1405fc400]
mov qword [rsi], 0xffffffffffffffff
mov rax, qword [rsi + 0x10]
cmp qword [rax + 0x6d0], 0
je 0x14024de33
add rbx, r15
mov rax, qword [rax + 0x698]
mov edx, 1
mov r8d, 0x18
mov rcx, rdi
call qword [0x1405fc400]
mov rcx, rax
mov r8d, 0x5ab85a19
nop word [rax + rax]
mov r9d, dword [0x140625bd4]
mov edx, dword [0x140694428]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x140625d10]
add r10d, r8d
xor edx, edx
div r10d
test edx, edx
jne 0x14024db00
lea eax, [r9 + 1]
mov edx, r9d
not edx
mov r10d, eax
not r10d
and r10d, edx
mov r8d, r9d
xor r8d, eax
or r8d, r10d
not r8d
add r9d, r9d
mov edx, 2
sub edx, r9d
nop
mov dword [0x140625bd4], eax
mov r9d, dword [0x14069442c]
cmp r9d, 0x2a
jl 0x14024dbd8
nop word cs:[rax + rax]
mov r9d, dword [0x140625d10]
mov r10d, r9d
sub r10d, edx
lea r11d, [r10 + 0x5ab85a18]
mov r15d, edx
sub r15d, r11d
imul r15d, r11d
add r10d, r15d
add r10d, 0x5ab85a17
mov r11d, edx
sub r11d, r10d
imul r11d, r10d
neg r11d
mov r15d, r11d
xor r15d, r10d
and r11d, r10d
lea r11d, [r15 + r11*2]
sub r10d, r11d
add r9d, r10d
add r9d, 0x5ab85a17
mov dword [0x140625bd4], r9d
mov r9d, dword [0x14069442c]
cmp r9d, 0x36
jge 0x14024db70
jmp 0x14024db50
test r8d, r8d
je 0x14024dbe2
xor r9d, r9d
jmp 0x14024dc4e
xor eax, eax
mov r9d, 0
test r14d, r14d
jle 0x14024dc4e
mov edx, 0x5ab85a48
xor r9d, r9d
nop word [rax + rax]
mov r10d, dword [0x140694428]
nop word [rax + rax]
mov r10d, dword [0x14069442c]
mov r11d, dword [0x140625d10]
add r11d, edx
cmp r10d, r11d
jge 0x14024dc10
movsxd r10, eax
xor r9w, word [rbx + r10]
mov r10d, dword [0x14069442c]
cmp r10d, 0x3d
mov r10d, dword [0x14069442c]
cmp r10d, 0x28
jge 0x14024dc39
add eax, 2
cmp eax, r14d
jl 0x14024dc00
mov eax, dword [0x140694428]
mov eax, 0x5ab85a2e
nop dword [rax]
mov edx, dword [0x14069442c]
mov r10d, dword [0x140625d10]
add r10d, eax
cmp edx, r10d
jge 0x14024dc60
mov ebx, 1
test rcx, rcx
jne 0x14024dcda
mov rcx, qword [rsi + 0x10]
mov edx, dword [0x140694428]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, 0x5ab85a19
add r10d, dword [0x140625d10]
xor edx, edx
div r10d
test edx, edx
jne 0x14024dcc0
jmp 0x14024dca7
mov eax, dword [0x140694428]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14024dccd
nop dword [rax + rax]
mov eax, dword [0x14069442c]
cmp eax, 0x61
jge 0x14024dcc0
jmp 0x14024dca7
mov eax, dword [0x14069442c]
cmp eax, 0x5d
jg 0x14024dd42
jmp 0x14024dd2a
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x10], 0
movabs rax, 0x8800000038
mov qword [rbp - 0x38], rax
mov qword [rbp - 8], rdi
mov qword [rbp - 0x18], rbx
mov rax, qword [rsi + 0x10]
mov rax, qword [rax + 0x6d0]
lea rcx, [rbp - 0x38]
call qword [0x1405fc400]
mov qword [rsi], rax
mov al, 1
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
xor edx, edx
test r8d, r8d
setne r10b
movzx eax, word [0x1405370a4]
xor r11d, r11d
test r11b, r11b
je 0x14024dd4b
movzx eax, word [0x1405370a4]
jmp 0x14024dd2a
mov dl, r10b
mov r8d, dword [0x140694428]
movzx edx, dx
neg edx
nop word [rax + rax]
mov r8d, dword [0x140625d18]
mov r10d, dword [0x14069442c]
cmp r10d, 0x5e
jg 0x14024dd60
add edx, r8d
add edx, 0x1e3c
movzx r8d, word [0x140625d18]
mov r10d, r8d
xor r10d, 0x1e3d
mov r11d, r8d
and r11d, 0x1e3d
lea r10d, [r10 + r11*2]
sub r10d, r8d
add edx, r10d
add edx, 0xffffe1c4
mov r8d, dword [0x14069442c]
neg edx
sub eax, r9d
mov r8d, eax
not r8d
nop dword [rax + rax]
mov r9d, dword [0x140694428]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x14024ddc0
mov r9d, edx
not r9d
and r8d, r9d
xor r9d, edx
and r9d, eax
xor r8d, edx
xor r8d, r9d
mov eax, 0x1e3b
add eax, dword [0x140625d18]
xor ax, r8w
setne al
or al, byte [0x1406943d0]
and al, 1
mov byte [0x1406943d0], al
mov rax, qword [rcx + 0x698]
mov ebx, 2
mov edx, 2
mov r8d, 0x18
mov rcx, rdi
call qword [0x1405fc400]
test rax, rax
jne 0x14024dcda
xor eax, eax
jmp 0x14024dd1d