Function at 0x1400f6df0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x1401a4028]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov r12, rdx
mov rsi, rcx
mov qword [rbp - 0x60], rdx
mov r14, qword [rdx]
mov r13, qword [rdx + 8]
cmp r14, r13
je 0x1400f7411
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov qword [rbp - 0x70], rdi
xor ebx, ebx
mov r15d, 0x54c
mov rcx, r14
call fcn.140103ec0
test eax, eax
jne 0x1400f6e90
lea rax, [0x1401a82b0]
cmp r14, rax
je 0x1400f6e90
mov rdx, rax
cmp qword [0x1401a82c8], 0x10
cmovae rdx, qword [0x1401a82b0]
mov r8, qword [0x1401a82c0]
mov rcx, r14
call fcn.1400d9ac0
mov rdx, r14
lea rcx, [rsp + 0x68]
call fcn.1400d92a0
mov rdx, rax
mov r8d, ebx
mov r9, rbx
cmp qword [rax + 0x10], 0
jbe 0x1400f6edf
nop dword [rax]
mov rcx, qword [0x1401a82a8]
movzx r10d, word [rcx + 0x80]
mov rcx, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x1400f6ecc
mov rcx, qword [rdx]
xor byte [r9 + rcx], r10b
inc r8d
inc r9
movsxd rax, r8d
cmp rax, qword [rdx + 0x10]
jb 0x1400f6eb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbx
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rdx + 0x10], rbx
mov eax, 0xf
mov qword [rdx + 0x18], rax
mov byte [rdx], 0
mov rcx, rdx
call fcn.1400d96a0
nop
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rcx, qword [rsp + 0x40]
xor r9d, r9d
lea r8d, [r9 + 6]
lea rdx, [rbp - 0x78]
call fcn.1400cd200
nop
lea rcx, [rsp + 0x40]
call fcn.1400d96a0
movdqa xmm0, xmmword [0x140184cd0]
movdqa xmm1, xmmword [0x140184cb0]
movdqa xmm2, xmmword [0x140184cc0]
mov dword [rbp + 0x20], 0xe2cbd4b0
mov dword [rbp + 0x24], 0x7d45ae36
mov eax, dword [r15 + rdi]
mov ebx, 0x730
add rbx, rdi
test al, 1
jne 0x1400f6fd7
or eax, 1
mov dword [r15 + rdi], eax
mov byte [rbx + 0x38], 1
lea rax, [rbx + 0x37]
lea rcx, [rbp + 0x27]
cmp rbx, rcx
ja 0x1400f6fb5
lea rcx, [rbp - 0x10]
cmp rax, rcx
jb 0x1400f6fb5
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 0x20], xmm2
movsd xmm0, qword [rbp + 0x20]
movsd qword [rbx + 0x30], xmm0
jmp 0x1400f6fca
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 0x20], xmm2
movsd xmm0, qword [rbp + 0x20]
movsd qword [rbx + 0x30], xmm0
lea rcx, [0x14015f030]
call fcn.140106ffc
nop
mov rcx, rbx
call fcn.1400f7e30
xor ecx, ecx
mov qword [rsp + 0x30], rcx
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor r9d, r9d
lea r8d, [rcx - 1]
mov rdx, rbx
mov r15, qword [rbp - 0x78]
mov rcx, r15
call fcn.14008ae80
test eax, eax
jne 0x1400f73f5
mov rcx, qword [rbp - 0x68]
call fcn.140039550
cmp eax, 0x64
jne 0x1400f73ec
xor edi, edi
nop word [rax + rax]
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rdi
mov eax, 0xf
mov qword [rbp - 0x38], rax
mov byte [rbp - 0x50], 0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], rax
mov byte [rbp - 0x30], 0
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1400f709c
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400f7073
call qword [0x1401a50e0]
mov rcx, qword [rbx + 0xa0]
test rcx, rcx
je 0x1400f7088
cmp di, word [rbx + 0xc0]
jb 0x1400f70a3
mov rcx, qword [rbx]
mov dword [rcx + 0x50], 0x19
mov edx, 0x19
call fcn.14000a0f0
lea rcx, [0x14017dc28]
movzx edx, word [rcx + 0x14]
movzx eax, dx
mov r8d, 0x202
and ax, r8w
cmp ax, r8w
jne 0x1400f70c6
cmp byte [rcx + 0x16], 1
jne 0x1400f70c6
mov rax, qword [rcx + 8]
jmp 0x1400f70d7
test dl, 1
je 0x1400f70d0
mov rax, rdi
jmp 0x1400f70d7
mov dl, 1
call fcn.1400328a0
mov rdi, rax
test rbx, rbx
je 0x1400f7115
mov edx, dword [rbx + 0x34]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x1400f70f5
test edx, edx
jne 0x1400f70f5
xor ecx, ecx
mov eax, ecx
jmp 0x1400f70fa
call fcn.140006dc0
mov dword [rbx + 0x34], eax
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
mov rax, rdi
test rcx, rcx
je 0x1400f7115
call qword [0x1401a50f0]
mov rax, rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xor edi, edi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rdi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], dil
jne 0x1400f7130
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400d9d80
mov r8d, edi
mov r9, rdi
cmp qword [rsp + 0x50], rdi
jbe 0x1400f7194
nop dword [rax]
nop word [rax + rax]
mov rax, qword [0x1401a82a8]
movzx edx, word [rax + 0x80]
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rcx, qword [rsp + 0x40]
xor byte [r9 + rcx], dl
inc r8d
lea r9, [r9 + 1]
movsxd rax, r8d
cmp rax, qword [rsp + 0x50]
jb 0x1400f7160
movups xmm6, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x68], xmm6
movups xmm7, xmmword [rsp + 0x50]
movups xmmword [rsp + 0x78], xmm7
mov qword [rsp + 0x50], rdi
mov ebx, 0xf
mov qword [rsp + 0x58], rbx
mov byte [rsp + 0x40], dil
lea rcx, [rsp + 0x40]
call fcn.1400d96a0
movaps xmmword [rbp - 0x50], xmm6
movaps xmmword [rbp - 0x40], xmm7
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rbx
mov byte [rsp + 0x68], dil
lea rcx, [rsp + 0x68]
call fcn.1400d96a0
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1400f7237
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400f7201
call qword [0x1401a50e0]
mov rcx, qword [rbx + 0xa0]
test rcx, rcx
je 0x1400f7223
mov eax, 1
cmp ax, word [rbx + 0xc0]
jae 0x1400f7223
add rcx, 0x38
jne 0x1400f723e
jmp 0x1400f7275
mov rcx, qword [rbx]
mov dword [rcx + 0x50], 0x19
mov edx, 0x19
call fcn.14000a0f0
lea rcx, [0x14017dc28]
movzx edx, word [rcx + 0x14]
movzx eax, dx
mov r8d, 0x202
and ax, r8w
cmp ax, r8w
jne 0x1400f7261
cmp byte [rcx + 0x16], 1
jne 0x1400f7261
mov rdi, qword [rcx + 8]
jmp 0x1400f7270
test dl, 1
jne 0x1400f7270
mov dl, 1
call fcn.1400328a0
mov rdi, rax
test rbx, rbx
je 0x1400f72a5
mov edx, dword [rbx + 0x34]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x1400f728b
test edx, edx
jne 0x1400f728b
xor ecx, ecx
mov eax, ecx
jmp 0x1400f7290
call fcn.140006dc0
mov dword [rbx + 0x34], eax
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1400f72a5
call qword [0x1401a50f0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], al
jne 0x1400f72c0
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.1400d9d80
xor edi, edi
mov r8d, edi
mov r9d, edi
cmp qword [rsp + 0x50], rdi
jbe 0x1400f7324
nop word [rax + rax]
mov rax, qword [0x1401a82a8]
movzx edx, word [rax + 0x80]
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rcx, qword [rsp + 0x40]
xor byte [r9 + rcx], dl
inc r8d
lea r9, [r9 + 1]
movsxd rax, r8d
cmp rax, qword [rsp + 0x50]
jb 0x1400f72f0
movups xmm7, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x68], xmm7
movups xmm6, xmmword [rsp + 0x50]
movups xmmword [rsp + 0x78], xmm6
mov qword [rsp + 0x50], rdi
mov ebx, 0xf
mov qword [rsp + 0x58], rbx
mov byte [rsp + 0x40], dil
lea rcx, [rsp + 0x40]
call fcn.1400d96a0
movaps xmmword [rbp - 0x30], xmm7
movaps xmmword [rbp - 0x20], xmm6
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rbx
mov byte [rsp + 0x68], dil
lea rcx, [rsp + 0x68]
call fcn.1400d96a0
lea rcx, [rsi + 0xc8]
mov rbx, qword [rsi + 0xd0]
cmp rbx, qword [rsi + 0xd8]
je 0x1400f73b7
mov qword [rsp + 0x60], rbx
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.1400d92a0
nop
lea rcx, [rbx + 0x20]
lea rdx, [rbp - 0x30]
call fcn.1400d92a0
nop
add qword [rsi + 0xd0], 0x40
jmp 0x1400f73c4
lea r8, [rbp - 0x50]
mov rdx, rbx
call fcn.1400ec870
nop
lea rcx, [rbp - 0x30]
call fcn.1400d96a0
lea rcx, [rbp - 0x50]
call fcn.1400d96a0
mov rcx, qword [rbp - 0x68]
call fcn.140039550
cmp eax, 0x64
je 0x1400f7030
mov rdi, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x68]
call fcn.140038580
call fcn.140104300
xor edx, edx
mov rcx, r15
call fcn.1400ca670
add r14, 0x20
cmp r14, r13
jne 0x1400f6e4e
mov rcx, r12
call fcn.1400e5240
xor eax, eax
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.140106970
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret