Function at 0x14001c040
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r13d, dword [r8]
mov rdi, rcx
mov r12d, dword [rdx]
mov esi, r13d
cmp r12d, r13d
mov dword [rsp + 0x50], r13d
mov ebx, r13d
mov r14, r8
cmova esi, r12d
mov r15, rdx
sub ebx, esi
add ebx, r12d
lea ecx, [rsi - 1]
call fcn.140019cc0
mov ecx, eax
mov ebp, 1
shl ebp, cl
cmp ebp, dword [rdi + 4]
jbe 0x14001c0b8
mov rcx, qword [rdi + 8]
mov edx, ebp
shl rdx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x14001c322
mov qword [rdi + 8], rax
mov dword [rdi + 4], ebp
xor eax, eax
mov dword [rdi], esi
mov r9d, eax
test ebx, ebx
je 0x14001c205
cmp ebx, 0x10
jb 0x14001c1c0
mov rdx, qword [rdi + 8]
lea eax, [rbx - 1]
mov r10, qword [r14 + 8]
lea rbp, [rax*4]
lea r13, [r14 + 8]
lea rcx, [rdx + rbp]
lea rax, [r10 + rbp]
cmp rdx, rax
ja 0x14001c0fd
cmp rcx, r10
jae 0x14001c1bb
mov r8, qword [r15 + 8]
lea r11, [r15 + 8]
lea rax, [r8 + rbp]
cmp rdx, rax
ja 0x14001c117
cmp rcx, r8
jae 0x14001c1bb
cmp rdx, r13
ja 0x14001c125
cmp rcx, r13
jae 0x14001c1bb
cmp rdx, r11
ja 0x14001c133
cmp rcx, r11
jae 0x14001c1bb
lea rax, [rdi + 8]
cmp rdx, rax
ja 0x14001c141
cmp rcx, rax
jae 0x14001c1bb
mov r11d, ebx
and r11d, 0xfffffff0
mov ebp, 8
nop dword [rax]
mov eax, r9d
add r9d, 0x10
movdqu xmm0, xmmword [r10 + rax*4]
movdqu xmm1, xmmword [r8 + rax*4]
pxor xmm1, xmm0
movdqu xmmword [rdx + rax*4], xmm1
lea eax, [rbp - 4]
movdqu xmm0, xmmword [r10 + rax*4]
movdqu xmm1, xmmword [r8 + rax*4]
pxor xmm1, xmm0
movdqu xmmword [rdx + rax*4], xmm1
mov eax, ebp
movdqu xmm0, xmmword [r10 + rax*4]
movdqu xmm1, xmmword [r8 + rax*4]
pxor xmm1, xmm0
movdqu xmmword [rdx + rax*4], xmm1
lea eax, [rbp + 4]
add ebp, 0x10
movdqu xmm1, xmmword [r8 + rax*4]
movdqu xmm0, xmmword [r10 + rax*4]
pxor xmm1, xmm0
movdqu xmmword [rdx + rax*4], xmm1
cmp r9d, r11d
jb 0x14001c150
mov r13d, dword [rsp + 0x50]
cmp r9d, ebx
jae 0x14001c205
mov eax, r9d
lea r8, [rax*4]
mov eax, ebx
sub eax, r9d
mov r9d, eax
nop dword [rax + rax]
mov rax, qword [r14 + 8]
lea r8, [r8 + 4]
mov rcx, qword [r15 + 8]
mov edx, dword [r8 + rcx - 4]
xor edx, dword [r8 + rax - 4]
mov rax, qword [rdi + 8]
mov dword [r8 + rax - 4], edx
sub r9, 1
jne 0x14001c1e0
cmp r12d, r13d
je 0x14001c43d
mov edx, esi
sub edx, ebx
cmp ebx, r12d
jae 0x14001c32c
mov eax, dword [r14 + 0x10]
neg eax
sbb r10d, r10d
movd xmm1, r10d
pshufd xmm1, xmm1, 0
cmp ebx, esi
jae 0x14001c43d
cmp edx, 0x10
jb 0x14001c2e4
mov r9, qword [rdi + 8]
lea rcx, [rbx*4]
mov r8, qword [r15 + 8]
lea eax, [rsi - 1]
lea r12, [rdi + 8]
lea rbp, [r15 + 8]
lea r13, [rcx + r9]
add rcx, r8
lea r11, [r9 + rax*4]
lea rax, [r8 + rax*4]
cmp r13, rax
ja 0x14001c273
cmp r11, rcx
jae 0x14001c2e4
cmp r13, rbp
ja 0x14001c27d
cmp r11, rbp
jae 0x14001c2e4
cmp r13, r12
ja 0x14001c287
cmp r11, r12
jae 0x14001c2e4
and edx, 0xf
mov r11d, esi
sub r11d, edx
lea edx, [rbx + 8]
movdqu xmm0, xmmword [r8 + rbx*4]
lea eax, [rdx - 4]
pxor xmm0, xmm1
movdqu xmmword [r9 + rbx*4], xmm0
add ebx, 0x10
movdqu xmm0, xmmword [r8 + rax*4]
pxor xmm0, xmm1
movdqu xmmword [r9 + rax*4], xmm0
lea eax, [rdx + 4]
movdqu xmm0, xmmword [r8 + rdx*4]
pxor xmm0, xmm1
movdqu xmmword [r9 + rdx*4], xmm0
lea edx, [rdx + 0x10]
movdqu xmm0, xmmword [r8 + rax*4]
pxor xmm0, xmm1
movdqu xmmword [r9 + rax*4], xmm0
cmp ebx, r11d
jb 0x14001c293
cmp ebx, esi
jae 0x14001c43d
sub esi, ebx
lea rdx, [rbx*4]
mov r8d, esi
nop dword [rax]
mov rax, qword [r15 + 8]
lea rdx, [rdx + 4]
mov ecx, dword [rdx + rax - 4]
mov rax, qword [rdi + 8]
xor ecx, r10d
mov dword [rdx + rax - 4], ecx
sub r8, 1
jne 0x14001c300
jmp 0x14001c43d
mov eax, 0xffffffff
jmp 0x14001c456
mov eax, dword [r15 + 0x10]
neg eax
sbb r10d, r10d
movd xmm1, r10d
pshufd xmm1, xmm1, 0
cmp ebx, esi
jae 0x14001c43d
cmp edx, 0x10
jb 0x14001c401
mov r9, qword [rdi + 8]
lea rcx, [rbx*4]
mov r8, qword [r14 + 8]
lea eax, [rsi - 1]
lea r12, [rdi + 8]
lea rbp, [r14 + 8]
lea r13, [rcx + r9]
add rcx, r8
lea r11, [r9 + rax*4]
lea rax, [r8 + rax*4]
cmp r13, rax
ja 0x14001c384
cmp r11, rcx
jae 0x14001c401
cmp r13, rbp
ja 0x14001c38e
cmp r11, rbp
jae 0x14001c401
cmp r13, r12
ja 0x14001c398
cmp r11, r12
jae 0x14001c401
and edx, 0xf
mov r11d, esi
sub r11d, edx
lea edx, [rbx + 8]
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [r8 + rbx*4]
lea eax, [rdx - 4]
pxor xmm0, xmm1
movdqu xmmword [r9 + rbx*4], xmm0
add ebx, 0x10
movdqu xmm0, xmmword [r8 + rax*4]
pxor xmm0, xmm1
movdqu xmmword [r9 + rax*4], xmm0
lea eax, [rdx + 4]
movdqu xmm0, xmmword [r8 + rdx*4]
pxor xmm0, xmm1
movdqu xmmword [r9 + rdx*4], xmm0
lea edx, [rdx + 0x10]
movdqu xmm0, xmmword [r8 + rax*4]
pxor xmm0, xmm1
movdqu xmmword [r9 + rax*4], xmm0
cmp ebx, r11d
jb 0x14001c3b0
cmp ebx, esi
jae 0x14001c43d
sub esi, ebx
lea rdx, [rbx*4]
mov r8d, esi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r14 + 8]
lea rdx, [rdx + 4]
mov ecx, dword [rdx + rax - 4]
mov rax, qword [rdi + 8]
xor ecx, r10d
mov dword [rdx + rax - 4], ecx
sub r8, 1
jne 0x14001c420
xor ecx, ecx
cmp dword [r15 + 0x10], ecx
mov eax, ecx
sete al
cmp dword [r14 + 0x10], ecx
sete cl
xor eax, ecx
mov dword [rdi + 0x10], eax
xor eax, eax
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret