Function at 0x14003f680
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
add rsp, 0xffffffffffffff80
mov rbx, rdx
mov rdi, rcx
mov edx, r8d
lea rcx, [rbp - 0x20]
call fcn.14007ab38
mov rdx, rbx
lea rcx, [rbp - 0x20]
call 0x14007b1a0
test al, al
je 0x14003f8fd
mov r8d, 0x61587b83
xor r8d, 0x191aa2c8
sub r8d, 0x7842d92b
mov byte [rbp - 0x60], 0x53
sub byte [rbp - 0x60], 0x51
add byte [rbp - 0x60], 0x70
sub byte [rbp - 0x60], 0x72
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.14007bf7c
test al, al
je 0x14003f8fd
cmp dword [rbp - 0x40], 0x32484346
pushf
mov r15d, 0x3d4161f9
xor r15d, 0x2566d023
sub r15d, 0x1827b1d9
popf
jne 0x14003f768
cmp dword [rbp - 0x3c], 0x20
jne 0x14003f768
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.14003f234
test al, al
je 0x14003f8fd
mov eax, dword [rbp - 0x2c]
test eax, eax
jle 0x14003f8fd
mov ecx, dword [rbp - 0x30]
mov byte [rbp - 0x60], r15b
jmp 0x14003f7d3
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.14007c224
and dword [rbp - 0x50], 0
lea rdx, [rbp - 0x50]
and dword [rbp - 0x4c], 0
lea rcx, [rbp - 0x20]
mov r8d, 0x42389407
add r8d, 0x39aece32
sub r8d, 0x495b526b
sub r8d, 0x328c0fbe
call fcn.14007bf7c
test al, al
je 0x14003f8fd
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.14003f234
test al, al
je 0x14003f8fd
mov eax, dword [rbp - 0x44]
test eax, eax
jle 0x14003f8fd
mov ecx, dword [rbp - 0x48]
mov ebx, dword [rbp - 0x4c]
mov esi, dword [rbp - 0x50]
mov r14d, 0x4f418793
add r14d, 0x12868a29
xor r14d, 0x5f80017b
mov edx, 0x2bce3ef4
add edx, 0x4f2b1675
sub edx, 0x7af95281
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
neg r13
add r13, 0xffffffffffff0001
neg r13
mov r12, r13
shl r12, 4
cmp qword [rdi + 0x300], 0
jne 0x14003f89a
mov edx, 0x5882e3ca
xor edx, 0x27994e0b
sub edx, 0x7f1badb1
mov rcx, r12
call fcn.140092000
mov rcx, rax
mov rdx, r13
movaps xmm0, xmmword [0x1400f0460]
movups xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
sub rdx, r15
jne 0x14003f87c
mov qword [rdi + 0x300], rax
mov edx, 0x34240bd2
add edx, 0x2669cdf9
sub edx, 0x5a8dd9bb
mov rcx, r12
call fcn.140092000
mov rbx, rax
test rax, rax
je 0x14003f8fd
cmp byte [rbp - 0x60], 0
je 0x14003fa12
movsxd rcx, dword [rbp - 0x28]
call fcn.140091f90
mov r8d, dword [rbp - 0x28]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rsi, rax
call fcn.14007bf7c
test al, al
jne 0x14003f92d
mov rcx, rbx
call fcn.140091fb0
mov rcx, rsi
call fcn.140091fa0
xor r15b, r15b
lea rcx, [rbp - 0x20]
call fcn.14007ac14
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
sub r9d, 0x66010580
add r9d, 0x66110570
call fcn.14008dca0
movsxd rcx, eax
cmp rcx, r12
jne 0x14003f8ed
mov rcx, rsi
call fcn.140091fa0
xor ecx, ecx
movups xmm0, xmmword [rcx + rbx]
mov rax, qword [rdi + 0x300]
xorps xmm0, xmmword [0x1400f0460]
movups xmmword [rcx + rax], xmm0
lea rcx, [rcx + 0x10]
sub r13, r15
jne 0x14003f96d
mov rcx, rbx
call fcn.140091fb0
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.140091f90
mov rbx, rax
test rax, rax
je 0x14003f8fd
cmp byte [rbp - 0x60], r13b
je 0x14003fa81
movsxd rcx, dword [rbp - 0x24]
call fcn.140091f90
mov r8d, dword [rbp - 0x24]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rdi, rax
call fcn.14007bf7c
mov rcx, rdi
test al, al
jne 0x14003fa4c
call fcn.140091fa0
mov rcx, rbx
jmp 0x14003f8f8
neg esi
lea rcx, [rbp - 0x20]
mov rdx, rbx
sbb r8d, r8d
and r8d, 0xfff01000
neg r8d
add r8d, 0xfff00010
neg r8d
call fcn.14007bf7c
test al, al
jne 0x14003f96b
mov rcx, rbx
call fcn.140091fb0
jmp 0x14003f8fd
mov r8d, dword [rbp - 0x24]
lea r9d, [rsi*4]
mov rdx, rbx
call fcn.14008dca0
movsxd rcx, eax
lea rax, [r14*4]
cmp rcx, rax
mov rcx, rdi
jne 0x14003fa05
call fcn.140091fa0
jmp 0x14003fa9d
lea r8d, [rsi*4]
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14007bf7c
test al, al
je 0x14003fa0a
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
jmp 0x14003f900