Function at 0x14003b8b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rax, qword [rcx]
mov rbp, r9
mov rbx, r8
mov rdi, rdx
mov r14, rcx
call qword [rax + 0x20]
test al, al
jne 0x14003b783
mov rcx, r14
call fcn.14000dd30
mov ecx, 1
call fcn.140029470
test al, al
je 0x14003b7d2
cmp rbp, 8
jb 0x14003b7d2
mov qword [rsp + 0x30], rsi
mov rsi, rbp
shr rsi, 3
imul rax, rsi, 0xfffffffffffffff8
add rbp, rax
nop word [rax + rax]
mov r8, qword [r14 + 0x20]
mov rdx, rbx
mov rcx, rdi
call fcn.140086970
add rdi, 0x40
add rbx, 0x40
sub rsi, 1
jne 0x14003b7b0
mov rsi, qword [rsp + 0x30]
mov r9, qword [r14 + 0x20]
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
jmp 0x14003b8b0
test r8, r8
je 0x14003bd86
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
push rbp
sub rsp, 0x40
mov qword [rax + 8], rbx
mov rbp, r9
mov qword [rax - 0x10], rsi
mov r9, rdx
mov qword [rax - 0x18], rdi
sub r9, rcx
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r13
lea rdx, [rbp + 4]
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
lea r15, [rcx + 4]
mov qword [rsp + 8], r15
mov qword [rsp + 0x58], r9
movzx r12d, word [r15 - 4]
movzx r14d, word [r15 - 2]
movzx eax, word [r15]
movzx r13d, word [r15 + 2]
mov r15, rdx
ror r12w, 8
ror r14w, 8
ror ax, 8
ror r13w, 8
mov qword [rsp], 4
nop dword [rax]
nop word [rax + rax]
movzx r10d, word [r15 - 4]
xor r9d, r9d
movzx r11d, word [r15 + 4]
mov r8d, r10d
movzx ecx, r12w
imul r8d, ecx
movzx ecx, r8w
mov edx, r8d
shr edx, 0x10
cmp ecx, edx
lea esi, [r8 - 1]
not r8d
setb r9b
add r14w, word [r15 - 2]
add ax, word [r15]
sub r9w, dx
add r9w, cx
shr r8d, 0x1f
shr esi, 0x1f
mov ecx, 1
sub cx, r10w
and si, r8w
movzx r10d, word [r15 + 2]
sub cx, r12w
xor cx, r9w
mov r8d, r10d
neg si
and si, cx
movzx ecx, r13w
imul r8d, ecx
xor si, r9w
xor r9d, r9d
movzx ecx, r8w
mov edx, r8d
shr edx, 0x10
cmp ecx, edx
lea ebp, [r8 - 1]
not r8d
setb r9b
shr r8d, 0x1f
sub r9w, dx
shr ebp, 0x1f
add r9w, cx
and bp, r8w
neg bp
mov ecx, 1
sub cx, r10w
movzx r10d, si
sub cx, r13w
xor r10w, ax
xor cx, r9w
movzx r8d, r10w
imul r8d, r11d
and bp, cx
xor bp, r9w
xor r9d, r9d
movzx ecx, r8w
mov edx, r8d
shr edx, 0x10
cmp ecx, edx
lea edi, [r8 - 1]
not r8d
setb r9b
shr edi, 0x1f
shr r8d, 0x1f
sub r9w, dx
add r9w, cx
and di, r8w
neg di
mov ecx, 1
sub cx, r10w
movzx r10d, r14w
sub cx, r11w
xor r10w, bp
movzx r11d, word [r15 + 6]
xor cx, r9w
and di, cx
xor di, r9w
add r10w, di
movzx r8d, r10w
imul r8d, r11d
xor r9d, r9d
movzx ecx, r8w
mov edx, r8d
lea ebx, [r8 - 1]
shr edx, 0x10
not r8d
cmp ecx, edx
setb r9b
shr r8d, 0x1f
sub r9w, dx
shr ebx, 0x1f
add r9w, cx
and bx, r8w
neg bx
mov ecx, 1
sub cx, r10w
movzx r10d, word [r15 + 8]
sub cx, r11w
xor cx, r9w
and bx, cx
xor bx, r9w
xor r9d, r9d
xor si, bx
add di, bx
xor bp, di
movzx r8d, si
imul r8d, r10d
movzx ecx, r8w
mov edx, r8d
shr edx, 0x10
cmp ecx, edx
lea r12d, [r8 - 1]
not r8d
setb r9b
xor ax, bx
add ax, word [r15 + 0xa]
sub r9w, dx
add r9w, cx
shr r8d, 0x1f
shr r12d, 0x1f
xor r14w, di
add r14w, word [r15 + 0xc]
and r12w, r8w
xor r8d, r8d
neg r12w
mov ecx, 1
movzx ebx, r14w
sub cx, si
movzx esi, ax
sub cx, r10w
movzx eax, bp
movzx r10d, word [r15 + 0x10]
xor cx, r9w
and r12w, cx
xor r12w, r9w
movzx r9d, word [r15 + 0xe]
mov edx, r9d
imul edx, eax
movzx eax, dx
mov ecx, edx
shr ecx, 0x10
cmp eax, ecx
lea r13d, [rdx - 1]
not edx
setb r8b
shr r13d, 0x1f
shr edx, 0x1f
sub r8w, cx
add r8w, ax
and r13w, dx
neg r13w
mov eax, 1
sub ax, r9w
movzx r9d, r12w
sub ax, bp
xor r9w, r14w
xor ax, r8w
movzx edx, r9w
and r13w, ax
xor r13w, r8w
imul edx, r10d
movzx r11d, word [r15 + 0x12]
lea r15, [r15 + 0x18]
xor r8d, r8d
movzx eax, dx
mov ecx, edx
shr ecx, 0x10
cmp eax, ecx
setb r8b
sub r8w, cx
mov ecx, 1
add r8w, ax
sub cx, r9w
sub cx, r10w
lea eax, [rdx - 1]
xor cx, r8w
shr eax, 0x1f
xor r9d, r9d
not edx
shr edx, 0x1f
movzx r10d, si
and ax, dx
xor r10w, r13w
neg ax
and ax, cx
xor ax, r8w
add r10w, ax
movzx r8d, r10w
imul r8d, r11d
movzx ecx, r8w
mov edx, r8d
shr edx, 0x10
cmp ecx, edx
lea r14d, [r8 - 1]
not r8d
setb r9b
shr r14d, 0x1f
sub r9w, dx
shr r8d, 0x1f
add r9w, cx
and r14w, r8w
neg r14w
mov ecx, 1
sub cx, r10w
sub cx, r11w
xor cx, r9w
and r14w, cx
xor r14w, r9w
add ax, r14w
xor r12w, r14w
xor r13w, ax
xor r14w, bx
xor ax, si
sub qword [rsp], 1
jne 0x14003b940
mov rbp, qword [rsp + 0x68]
xor edi, edi
mov r15, qword [rsp + 8]
movzx ecx, r12w
movzx esi, word [rbp + 0x60]
movzx r10d, word [rbp + 0x66]
mov ebx, esi
imul ebx, ecx
mov r8d, r10d
movzx ecx, bx
mov edx, ebx
shr edx, 0x10
cmp ecx, edx
setb dil
xor r9d, r9d
sub di, dx
add di, cx
movzx ecx, r13w
imul r8d, ecx
movzx ecx, r8w
mov edx, r8d
shr edx, 0x10
cmp ecx, edx
lea r11d, [r8 - 1]
not r8d
setb r9b
add ax, word [rbp + 0x62]
add r14w, word [rbp + 0x64]
sub r9w, dx
add r9w, cx
shr r11d, 0x1f
lea edx, [rbx - 1]
shr r8d, 0x1f
shr edx, 0x1f
and r11w, r8w
neg r11w
ror ax, 8
mov ecx, 1
ror r14w, 8
sub cx, r10w
not ebx
sub cx, r13w
shr ebx, 0x1f
xor cx, r9w
and dx, bx
and r11w, cx
neg dx
xor r11w, r9w
mov ecx, 1
mov r9, qword [rsp + 0x58]
sub cx, si
sub cx, r12w
ror r11w, 8
xor cx, di
and dx, cx
xor dx, di
ror dx, 8
mov word [r15 + r9 - 4], dx
lea rdx, [rbp + 4]
mov word [r15 + r9 - 2], ax
mov word [r15 + r9], r14w
mov word [r15 + r9 + 2], r11w
add r15, 8
sub qword [rsp + 0x60], 1
mov qword [rsp + 8], r15
jne 0x14003b900
mov r15, qword [rsp + 0x10]
mov r14, qword [rsp + 0x18]
mov r13, qword [rsp + 0x20]
mov r12, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rbp
ret