Function at 0x1403b8280
Capabilities:
Encode data using xor

Disassembly:
push r12
push r13
push r14
sub rsp, 0x50
mov r12d, r8d
mov r8, rdx
mov r13, rcx
mov rax, qword [0x14194d6d8]
lea r9, [0x140000000]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov al, byte [r8 + 0x295]
and al, 0x20
mov rcx, qword [r13]
mov edx, dword [r13 + 0x10]
shr al, 5
je 0x1403b83af
lea eax, [rdx - 5]
cmp eax, 0xc
ja 0x1403b838a
mov r9d, r12d
shr r9d, 0x1f
add r9d, r12d
sar r9d, 1
test r9d, r9d
jle 0x1403b835f
mov eax, r9d
xor edx, edx
mov r8d, 1
xor r10d, r10d
shr eax, 1
je 0x1403b8336
movsxd r8, r12d
add r8, rcx
mov r11b, byte [r10 + r8 - 1]
mov r13b, byte [rcx + rdx*2]
mov byte [rcx + rdx*2], r11b
xor r13b, r11b
xor byte [r10 + r8 - 1], r13b
mov r14b, byte [r10 + r8 - 2]
mov r11b, byte [rcx + rdx*2 + 1]
mov byte [rcx + rdx*2 + 1], r14b
xor r11b, r14b
inc rdx
xor byte [r10 + r8 - 2], r11b
add r10, 0xfffffffffffffffe
cmp rdx, rax
jb 0x1403b82f9
lea r8d, [rdx + rdx + 1]
lea eax, [r8 - 1]
cmp eax, r9d
jae 0x1403b835f
movsxd r12, r12d
movsxd r8, r8d
add r12, rcx
sub r12, r8
mov dl, byte [r8 + rcx - 1]
mov al, byte [r12]
xor dl, al
mov byte [r8 + rcx - 1], al
xor byte [r12], dl
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x40], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403b85ac
xor eax, eax
add rsp, 0x50
pop r14
pop r13
pop r12
ret
movsx r8d, byte [r8 + 0x280]
lea eax, [rdx - 0x19]
cmp eax, 6
jbe 0x1403b83e9
lea eax, [rdx - 0x32]
cmp eax, 2
jbe 0x1403b83e9
lea eax, [rdx - 0x28]
cmp eax, 8
jbe 0x1403b83e9
jmp 0x1403b8585
movsx r8d, byte [r8 + 0x280]
lea r10d, [rdx - 0x19]
cmp r10d, 6
jbe 0x1403b84b3
lea r10d, [rdx - 0x32]
cmp r10d, 2
jbe 0x1403b84b3
lea r10d, [rdx - 0x28]
cmp r10d, 8
ja 0x1403b8585
test al, al
je 0x1403b84b3
test r8d, r8d
je 0x1403b8409
lea eax, [rdx - 0x32]
test eax, 0xfffffffd
jne 0x1403b84b3
lea eax, [r8 - 3]
cmp eax, 1
ja 0x1403b84b3
mov r10d, r12d
shr r10d, 0x1f
add r10d, r12d
sar r10d, 1
test r10d, r10d
jle 0x1403b84b3
mov r14d, r10d
xor edx, edx
mov r11d, 1
xor eax, eax
shr r14d, 1
je 0x1403b8488
movsxd r11, r12d
add r11, rcx
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x28], rbp
mov bpl, byte [rax + r11 - 1]
mov r15b, byte [rcx + rdx*2]
mov byte [rcx + rdx*2], bpl
xor r15b, bpl
xor byte [rax + r11 - 1], r15b
mov bpl, byte [rax + r11 - 2]
mov r15b, byte [rcx + rdx*2 + 1]
mov byte [rcx + rdx*2 + 1], bpl
xor r15b, bpl
inc rdx
xor byte [rax + r11 - 2], r15b
add rax, 0xfffffffffffffffe
cmp rdx, r14
jb 0x1403b8441
mov r15, qword [rsp + 0x20]
lea r11d, [rdx + rdx + 1]
mov rbp, qword [rsp + 0x28]
lea eax, [r11 - 1]
cmp eax, r10d
jae 0x1403b84af
movsxd r10, r12d
movsxd r11, r11d
add r10, rcx
sub r10, r11
mov dl, byte [r11 + rcx - 1]
mov al, byte [r10]
xor dl, al
mov byte [r11 + rcx - 1], al
xor byte [r10], dl
mov edx, dword [r13 + 0x10]
movsxd rdx, edx
mov eax, dword [r9 + rdx*4 + 0x59d69c]
cmp eax, 0xffffffff
je 0x1403b85b1
lea rdx, [rax*8]
sub rdx, rax
shl rdx, 3
lea r10, [rdx + r8*8]
mov rax, qword [r9 + r10 + 0x59d780]
test rax, rax
je 0x1403b8585
xor edx, edx
lea r8, [rsp + 0x30]
call rax
test eax, eax
jne 0x1403b855b
cmp r12d, 4
jne 0x1403b850a
mov rdx, qword [r13]
mov eax, dword [rsp + 0x30]
mov dword [rdx], eax
jmp 0x1403b8585
cmp r12d, 8
jne 0x1403b8528
mov rdx, qword [r13]
mov eax, dword [rsp + 0x30]
mov dword [rdx], eax
mov r8, qword [r13]
mov ecx, dword [rsp + 0x34]
mov dword [r8 + 4], ecx
jmp 0x1403b8585
mov rdx, qword [r13]
mov eax, dword [rsp + 0x30]
mov dword [rdx], eax
mov r8, qword [r13]
mov ecx, dword [rsp + 0x34]
mov dword [r8 + 4], ecx
mov r10, qword [r13]
mov r9d, dword [rsp + 0x38]
mov dword [r10 + 8], r9d
mov r12, qword [r13]
mov r11d, dword [rsp + 0x3c]
mov dword [r12 + 0xc], r11d
jmp 0x1403b8585
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x40], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403b85ac
mov eax, 0x5f
add rsp, 0x50
pop r14
pop r13
pop r12
ret
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x40], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403b85ac
xor eax, eax
add rsp, 0x50
pop r14
pop r13
pop r12
ret
call fcn.14043dac0
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x40], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403b85ac
jmp 0x1403b8575