Function at 0x1400f2c40
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r9
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
neg rsp
sub rsp, 0xffffffffffffff80
neg rsp
mov rbx, rdx
mov rdi, rcx
mov edx, r8d
lea rcx, [rbp - 0x20]
call fcn.14007e3cc
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14007e9f0
test al, al
je 0x1400f2edd
mov r8d, 0x1380d1ef
xor r8d, 0x2db05afa
sub r8d, 0x3e308af5
mov byte [rbp - 0x60], 0x31
xor byte [rbp - 0x60], 0x23
add byte [rbp - 0x60], 0x1d
sub byte [rbp - 0x60], 0x2f
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.14007f830
test al, al
je 0x1400f2edd
cmp dword [rbp - 0x40], 0x32484346
pushf
mov r15d, 0x3772653e
add r15d, 0x16bb2e04
add r15d, 0x2884e878
sub r15d, 0x76b27bb9
popf
jne 0x1400f2d35
cmp dword [rbp - 0x3c], 0x20
jne 0x1400f2d35
mov esi, dword [rbp - 0x38]
lea rdx, [rbp - 0x58]
mov ebx, dword [rbp - 0x34]
mov rcx, rdi
mov dword [rbp - 0x58], esi
mov dword [rbp - 0x54], ebx
call fcn.1400f2804
test al, al
je 0x1400f2edd
mov eax, dword [rbp - 0x2c]
test eax, eax
jle 0x1400f2edd
mov ecx, dword [rbp - 0x30]
mov byte [rbp - 0x60], r15b
jmp 0x1400f2da0
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.14007fab4
and dword [rbp - 0x50], 0
lea rdx, [rbp - 0x50]
and dword [rbp - 0x4c], 0
lea rcx, [rbp - 0x20]
mov r8d, 0x776a354d
xor r8d, 0x2aa0da98
xor r8d, 0x17e21820
sub r8d, 0x4a28f7e5
call fcn.14007f830
test al, al
je 0x1400f2edd
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.1400f2804
test al, al
je 0x1400f2edd
mov eax, dword [rbp - 0x44]
test eax, eax
jle 0x1400f2edd
mov ecx, dword [rbp - 0x48]
mov ebx, dword [rbp - 0x4c]
mov esi, dword [rbp - 0x50]
mov r14d, 0x47034563
sub r14d, 0x251e3791
add r14d, 0x1cb30ddc
sub r14d, 0x28d748
mov edx, 0x2f76894f
add edx, 0x3e629595
xor edx, 0x5b68feec
sub edx, 0x36b1dd20
xor esi, r14d
mov qword [rbp - 0x50], rdx
xor eax, r14d
xor ebx, r14d
xor ecx, r14d
mov r8, rdi
mov dword [rdx + rdi], esi
mov dword [rdx + rdi + 4], ebx
mov dword [rdi + 0x2f4], ecx
mov dword [rdi + 0x30c], eax
mov esi, dword [rdi + 0x2d8]
and esi, 0x2000
mov eax, esi
mov dword [rbp - 0x58], esi
neg eax
sbb r13, r13
and r13, 0xffffffffffff0100
sub r13, 0xffffffffffff0001
mov r12, r13
shl r12, 4
cmp qword [rdi + 0x300], 0
jne 0x1400f2e74
mov edx, 0x6f6c8ff2
xor edx, 0xfc8888f
xor edx, 0x23765d6b
sub edx, 0x43d25a06
mov rcx, r12
call fcn.140098680
mov rcx, rax
mov rdx, r13
movaps xmm0, xmmword [0x140146620]
movups xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
sub rdx, r15
jne 0x1400f2e56
mov qword [rdi + 0x300], rax
mov edx, 0x2cc4a0ce
add edx, 0x1bed8d75
sub edx, 0xd7e33ad
xor edx, 0x3b33fa86
mov rcx, r12
call fcn.140098680
mov rbx, rax
test rax, rax
je 0x1400f2edd
cmp byte [rbp - 0x60], 0
je 0x1400f2ff1
movsxd rcx, dword [rbp - 0x28]
call fcn.140098610
mov r8d, dword [rbp - 0x28]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rsi, rax
call fcn.14007f830
test al, al
jne 0x1400f2f0d
mov rcx, rbx
call fcn.140098630
mov rcx, rsi
call fcn.140098620
xor r15b, r15b
lea rcx, [rbp - 0x20]
call fcn.14007e494
lea r11, [rsp + 0x80]
mov al, r15b
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
neg dword [rbp - 0x58]
mov rdx, rbx
mov r8d, dword [rbp - 0x28]
mov rcx, rsi
sbb r9d, r9d
and r9d, 0xfff01000
neg r9d
add r9d, 0xfff00010
neg r9d
call fcn.140096cc0
movsxd rcx, eax
cmp rcx, r12
jne 0x1400f2ecd
mov rcx, rsi
call fcn.140098620
xor ecx, ecx
movups xmm0, xmmword [rcx + rbx]
mov rax, qword [rdi + 0x300]
xorps xmm0, xmmword [0x140146620]
movups xmmword [rcx + rax], xmm0
lea rcx, [rcx + 0x10]
sub r13, r15
jne 0x1400f2f4c
mov rcx, rbx
call fcn.140098630
mov rax, qword [rbp - 0x50]
lea rcx, [r13 - 1]
mov esi, dword [rdi + 0x2ec]
xor esi, r14d
mov eax, dword [rax + rdi]
xor eax, r14d
imul esi, eax
lea eax, [r13 + 4]
movsxd r14, esi
mul r14
cmovo rax, rcx
mov rcx, rax
call fcn.140098610
mov rbx, rax
test rax, rax
je 0x1400f2edd
cmp byte [rbp - 0x60], r13b
je 0x1400f3061
movsxd rcx, dword [rbp - 0x24]
call fcn.140098610
mov r8d, dword [rbp - 0x24]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rdi, rax
call fcn.14007f830
mov rcx, rdi
test al, al
jne 0x1400f302c
call fcn.140098620
mov rcx, rbx
jmp 0x1400f2ed8
neg esi
lea rcx, [rbp - 0x20]
mov rdx, rbx
sbb r8d, r8d
and r8d, 0xfff01000
add r8d, 0x4ca5ed7e
sub r8d, 0x4c95ed8e
call fcn.14007f830
test al, al
jne 0x1400f2f4a
mov rcx, rbx
call fcn.140098630
jmp 0x1400f2edd
mov r8d, dword [rbp - 0x24]
lea r9d, [rsi*4]
mov rdx, rbx
call fcn.140096cc0
movsxd rcx, eax
lea rax, [r14*4]
cmp rcx, rax
mov rcx, rdi
jne 0x1400f2fe4
call fcn.140098620
jmp 0x1400f307d
lea r8d, [rsi*4]
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14007f830
test al, al
je 0x1400f2fe9
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
jmp 0x1400f2ee0