Function at 0x1400f3b60
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
xor edx, edx
mov rsi, rcx
lea rcx, [rbp - 0x30]
lea r8d, [rdx + 0x20]
call sub.msvcrt.dll_memset
mov edi, dword [rsi + 0x30]
xor r12d, r12d
cmp dword [rsi + 8], r12d
je 0x1400f3ba5
mov eax, dword [rsi + 0x18]
jmp 0x1400f3ba8
mov eax, dword [rsi + 0x28]
mov ecx, 0x80070103
mov r15d, 0x80070216
mov r13d, 0x8007000d
cmp edi, eax
jne 0x1400f3bca
mov ebx, ecx
call fcn.14007ab24
mov r13, qword [rbp + 0x48]
jmp 0x1400f3c36
xor ecx, ecx
call fcn.14007ab44
lea r14d, [rdi + 0x10]
cmp r14d, edi
jae 0x1400f3be5
mov ecx, r15d
call fcn.14007ab24
cmp r14d, edi
sbb ebx, ebx
and ebx, r15d
mov r15d, r14d
cmp r14d, edi
mov ecx, ebx
cmovb r15d, edi
call fcn.14007ab44
cmp r14d, edi
jae 0x1400f3c04
mov ecx, ebx
jmp 0x1400f3bbf
mov ecx, dword [rsi + 8]
test ecx, ecx
je 0x1400f3c10
mov eax, dword [rsi + 0x18]
jmp 0x1400f3c13
mov eax, dword [rsi + 0x28]
cmp r15d, eax
jbe 0x1400f3c20
mov ebx, r13d
mov ecx, r13d
jmp 0x1400f3bbf
test ecx, ecx
je 0x1400f3c2a
mov rax, qword [rsi + 0x10]
jmp 0x1400f3c2e
mov rax, qword [rsi + 0x20]
lea r13, [rax + rdi]
mov dword [rbp + 0x48], r15d
mov qword [rbp - 0x38], r13
mov ecx, ebx
call fcn.14007ab44
test ebx, ebx
jns 0x1400f3c51
mov ecx, ebx
call fcn.14007ab24
jmp 0x1400f412f
mov eax, dword [r13 + 4]
lea rdx, [rbp - 0x3c]
or r10d, 0xffffffff
mov dword [rbp - 0x28], eax
mov r14d, 4
mov dword [rbp - 0x3c], r12d
mov edi, r10d
lea r11, [0x1403c8b40]
mov r8d, r14d
movzx eax, byte [rdx]
mov ecx, edi
shr rcx, 0x18
inc rdx
xor rcx, rax
mov eax, edi
shl eax, 8
movzx ecx, cl
mov edi, dword [r11 + rcx*4]
xor edi, eax
add r8d, r10d
jne 0x1400f3c77
lea rdx, [r13 + 4]
mov r8d, SafeArrayGetDim
movzx eax, byte [rdx]
mov ecx, edi
shr rcx, 0x18
inc rdx
xor rcx, rax
mov eax, edi
shl eax, 8
movzx ecx, cl
mov edi, dword [r11 + rcx*4]
xor edi, eax
add r8d, r10d
jne 0x1400f3ca3
mov eax, dword [rbp + 0x48]
not edi
mov r13d, dword [r13 + 8]
mov dword [rbp - 0x3c], eax
xor ecx, ecx
call fcn.14007ab44
xor ecx, ecx
call fcn.14007ab44
lea r15d, [r13 + 7]
cmp r15d, r13d
jae 0x1400f3cf8
mov ecx, 0x80070216
call fcn.14007ab24
mov r12d, dword [rbp + 0x48]
jmp 0x1400f3cff
mov r12d, r15d
and r12d, 0xfffffff8
cmp r15d, r13d
sbb ebx, ebx
and ebx, 0x80070216
mov ecx, ebx
call fcn.14007ab44
cmp r15d, r13d
jb 0x1400f3c45
mov edx, dword [rbp + 0x48]
lea rax, [rbp + 0x48]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov r8d, r12d
mov rcx, rsi
call fcn.1400fcc48
mov ebx, eax
test eax, eax
jns 0x1400f3d42
mov ecx, eax
jmp 0x1400f3c47
mov r13d, dword [rbp + 0x48]
mov edx, 0x20
mov eax, r13d
mov dword [rbp - 0x48], edx
sub eax, dword [rbp - 0x3c]
mov dword [rbp - 0x3c], eax
lea r15d, [rax + 0x20]
cmp r15d, edx
jb 0x1400f3d68
mov edx, r15d
mov dword [rbp - 0x48], edx
jmp 0x1400f3d72
mov ecx, 0x80070216
call fcn.14007ab24
cmp r15d, 0x20
mov dword [rbp - 0x44], edx
sbb ebx, ebx
and ebx, 0x80070216
mov ecx, ebx
call fcn.14007ab44
cmp r15d, 0x20
jb 0x1400f3c45
mov r9, qword [rbp - 0x38]
xor r10d, r10d
cmp dword [rbp - 0x3c], r10d
jbe 0x1400f3dfe
mov edx, dword [r9 + 8]
cmp edx, 2
jb 0x1400f3df2
test dl, 1
jne 0x1400f3df2
mov r8, qword [rbp - 0x30]
mov eax, edx
shr rax, 1
cmp word [r8 + rax*2 - 2], r10w
jne 0x1400f3df2
not edi
test edx, edx
je 0x1400f3dee
lea r11, [0x1403c8b40]
movzx eax, byte [r8]
mov ecx, edi
shr rcx, 0x18
inc r8
xor rcx, rax
mov eax, edi
shl eax, 8
movzx ecx, cl
mov edi, dword [r11 + rcx*4]
xor edi, eax
add edx, 0xffffffff
jne 0x1400f3dcb
not edi
jmp 0x1400f3e02
mov ecx, 0x8007000d
mov ebx, ecx
jmp 0x1400f3c47
mov qword [rbp - 0x30], r10
mov ecx, dword [r9 + 4]
mov edx, 0xfffffffd
lea eax, [rcx + 0x7ffffffe]
test edx, eax
je 0x1400f3e21
cmp ecx, 1
je 0x1400f3e44
lea eax, [rcx - 2]
test edx, eax
jne 0x1400f3df2
mov r14d, dword [r9 + 0xc]
mov edx, dword [rbp - 0x48]
mov dword [rbp - 0x18], r14d
lea r15d, [r14 + rdx]
cmp r15d, edx
jb 0x1400f3f38
mov edx, r15d
mov dword [rbp - 0x48], edx
jmp 0x1400f3f42
cmp dword [r9 + 0xc], r14d
jne 0x1400f3df2
cmp dword [rsi + 8], r10d
je 0x1400f3e55
mov eax, dword [rsi + 0x18]
jmp 0x1400f3e58
mov eax, dword [rsi + 0x28]
cmp r13d, eax
jne 0x1400f3e6b
mov ecx, 0x80070103
mov ebx, ecx
call fcn.14007ab24
jmp 0x1400f3ee6
xor ecx, ecx
call fcn.14007ab44
lea r15d, [r13 + 4]
cmp r15d, r13d
jae 0x1400f3e88
mov ecx, 0x80070216
call fcn.14007ab24
cmp r15d, r13d
sbb ebx, ebx
mov eax, r15d
and ebx, 0x80070216
cmp r15d, r13d
mov ecx, ebx
cmovb eax, r13d
mov dword [rbp - 0x40], eax
call fcn.14007ab44
cmp r15d, r13d
jae 0x1400f3ead
mov ecx, ebx
jmp 0x1400f3e64
mov ecx, dword [rsi + 8]
test ecx, ecx
je 0x1400f3eb9
mov eax, dword [rsi + 0x18]
jmp 0x1400f3ebc
mov eax, dword [rsi + 0x28]
mov edx, dword [rbp - 0x40]
cmp edx, eax
jbe 0x1400f3eca
mov ecx, 0x8007000d
jmp 0x1400f3e62
test ecx, ecx
je 0x1400f3ed4
mov rcx, qword [rsi + 0x10]
jmp 0x1400f3ed8
mov rcx, qword [rsi + 0x20]
lea rax, [rcx + r13]
mov dword [rbp + 0x48], edx
mov qword [rbp - 0x20], rax
mov r13d, edx
mov ecx, ebx
call fcn.14007ab44
test ebx, ebx
js 0x1400f3c45
mov rax, qword [rbp - 0x20]
lea rdx, [rbp - 0x20]
not edi
lea r9, [0x1403c8b40]
mov r8d, r14d
mov ecx, dword [rax]
mov dword [rbp - 0x20], ecx
movzx eax, byte [rdx]
mov ecx, edi
shr rcx, 0x18
inc rdx
xor rcx, rax
mov eax, edi
shl eax, 8
movzx ecx, cl
mov edi, dword [r9 + rcx*4]
xor edi, eax
add r8d, 0xffffffff
jne 0x1400f3f0e
not edi
jmp 0x1400f4078
mov ecx, 0x80070216
call fcn.14007ab24
cmp r15d, dword [rbp - 0x44]
mov dword [rbp - 0x40], edx
sbb ebx, ebx
and ebx, 0x80070216
mov ecx, ebx
call fcn.14007ab44
cmp r15d, dword [rbp - 0x44]
jb 0x1400f3c45
xor r15d, r15d
test r14d, r14d
je 0x1400f3fd7
lea rax, [rbp + 0x48]
mov r8d, r14d
lea r9, [rbp - 0x20]
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, rsi
call fcn.1400fcc48
mov ebx, eax
test eax, eax
js 0x1400f3d3b
mov r14d, dword [rbp - 0x18]
not edi
mov rdx, qword [rbp - 0x20]
mov r8d, r14d
mov r9, rdx
test r14d, r14d
je 0x1400f3fcf
lea r10, [0x1403c8b40]
movzx eax, byte [r9]
mov ecx, edi
shr rcx, 0x18
inc r9
xor rcx, rax
mov eax, edi
shl eax, 8
movzx ecx, cl
mov edi, dword [r10 + rcx*4]
xor edi, eax
add r8d, 0xffffffff
jne 0x1400f3fab
mov r13d, dword [rbp + 0x48]
not edi
jmp 0x1400f3fde
mov rdx, r15
mov qword [rbp - 0x20], rdx
test byte [rbp - 0x28], 2
je 0x1400f3ffb
test r14d, r14d
je 0x1400f3ffb
mov eax, r14d
shr rax, 1
cmp word [rdx + rax*2 - 2], r15w
jne 0x1400f3df2
xor ecx, ecx
call fcn.14007ab44
xor ecx, ecx
call fcn.14007ab44
lea eax, [r14 + 7]
mov ebx, r15d
cmp eax, r14d
jae 0x1400f4025
mov eax, 0x80070216
mov ecx, eax
mov ebx, eax
call fcn.14007ab24
jmp 0x1400f402c
mov r12d, eax
and r12d, 0xfffffff8
mov ecx, ebx
call fcn.14007ab44
test ebx, ebx
js 0x1400f3c45
mov r15d, dword [rbp - 0x48]
sub r15d, r14d
add r15d, r12d
cmp r15d, dword [rbp - 0x48]
jb 0x1400f4051
mov dword [rbp - 0x48], r15d
jmp 0x1400f405b
mov ecx, 0x80070216
call fcn.14007ab24
cmp r15d, dword [rbp - 0x40]
sbb ebx, ebx
and ebx, 0x80070216
mov ecx, ebx
call fcn.14007ab44
cmp r15d, dword [rbp - 0x40]
jb 0x1400f3c45
xor ecx, ecx
call fcn.14007ab44
xor ecx, ecx
call fcn.14007ab44
lea r15d, [r14 + 7]
cmp r15d, r14d
jae 0x1400f409b
mov ecx, 0x80070216
call fcn.14007ab24
jmp 0x1400f40a2
mov r12d, r15d
and r12d, 0xfffffff8
cmp r15d, r14d
sbb ebx, ebx
and ebx, 0x80070216
mov ecx, ebx
call fcn.14007ab44
cmp r15d, r14d
jb 0x1400f3c45
sub r12d, r14d
je 0x1400f40ea
lea rax, [rbp + 0x48]
xor r9d, r9d
mov r8d, r12d
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, rsi
call fcn.1400fcc48
mov ebx, eax
test eax, eax
js 0x1400f3d3b
mov r13d, dword [rbp + 0x48]
mov rax, qword [rbp - 0x38]
cmp edi, dword [rax]
je 0x1400f40fc
mov ebx, 0x80070017
jmp 0x1400f3c45
mov rax, qword [rbp + 0x50]
movups xmm0, xmmword [rbp - 0x30]
mov rcx, qword [rbp + 0x58]
mov dword [rsi + 0x30], r13d
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
test rcx, rcx
je 0x1400f4121
mov eax, dword [rbp - 0x3c]
mov dword [rcx], eax
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x1400f412f
mov eax, dword [rbp - 0x48]
mov dword [rcx], eax
mov ecx, ebx
call fcn.14007ab44
mov eax, ebx
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret