Function at 0x1403328f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
lea rbp, [rsp + 0x30]
mov r8, rdx
mov rdx, rcx
mov r12, r9
mov edi, 0x7fffffff
xor r15d, r15d
mov rax, qword [rdx + 0x60]
mov rcx, qword [rdx + 0x30]
mov r9, qword [rdx + 0x48]
test rax, rax
jle 0x140332e27
mov r14, qword [rdx]
xor esi, esi
mov r10, qword [rdx + 0x68]
mov r13, r10
mov r11, qword [rdx + 0x50]
mov rdx, r14
sub rdx, r10
sub r13, r11
add r13, rdx
mov qword [rbp + 0x28], rdx
add r13, r11
mov qword [rbp + 8], r8
mov qword [rbp], r12
xor ebx, ebx
xor r8d, r8d
test r9, r9
jle 0x140332dd4
mov qword [rbp + 0x38], r13
lea r12, [r13 + rsi]
mov qword [rbp + 0x20], r10
lea rdx, [r14 + rsi]
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], rax
test rcx, rcx
jle 0x140332a7e
cmp rcx, 4
jl 0x140332dcc
lea rax, [r12 + r8]
and rax, 0xf
je 0x1403329b8
test rax, 3
jne 0x140332dcc
neg rax
add rax, 0x10
shr rax, 2
lea r10, [rax + 4]
cmp rcx, r10
jl 0x140332dcc
mov r10, rcx
xor r13d, r13d
sub r10, rax
lea r14, [rdx + r8]
and r10, 3
neg r10
add r10, rcx
test rax, rax
jbe 0x1403329f4
mov r15d, dword [r14 + r13*4]
cmp r15d, edi
cmovl edi, r15d
inc r13
cmp r13, rax
jb 0x1403329e1
movd xmm0, edi
pshufd xmm0, xmm0, 0
movdqu xmm1, xmmword [r14 + rax*4]
add rax, 4
movdqa xmm2, xmm1
pcmpgtd xmm2, xmm0
pxor xmm0, xmm1
pand xmm2, xmm0
movdqa xmm0, xmm1
pxor xmm0, xmm2
cmp rax, r10
jb 0x1403329fd
movdqa xmm1, xmm0
movdqa xmm2, xmm0
psrldq xmm1, 8
pcmpgtd xmm2, xmm1
pxor xmm1, xmm0
pand xmm2, xmm1
pxor xmm2, xmm0
movdqa xmm0, xmm2
movdqa xmm3, xmm2
psrldq xmm0, 4
pcmpgtd xmm3, xmm0
pxor xmm0, xmm2
pand xmm3, xmm0
pxor xmm3, xmm2
movd edi, xmm3
cmp r10, rcx
jae 0x140332a7e
lea rax, [rdx + r8]
mov r13d, dword [rax + r10*4]
cmp r13d, edi
cmovl edi, r13d
inc r10
cmp r10, rcx
jb 0x140332a6b
inc rbx
add r8, r11
cmp rbx, r9
jb 0x140332984
mov r15, qword [rbp + 0x10]
inc r15
mov r10, qword [rbp + 0x20]
add rsi, r10
mov rax, qword [rbp + 0x18]
mov r13, qword [rbp + 0x38]
mov r14, qword [rbp + 0x30]
cmp r15, rax
jb 0x140332959
mov rdx, qword [rbp + 0x28]
mov r13, rdx
xor r14d, r14d
mov esi, 0x80000000
mov dword [rbp + 0x10], edi
sub r13, r11
mov qword [rbp + 0x18], rax
inc r14
mov rdi, r10
imul rdi, r14
xor r8d, r8d
lea r12, [r11 + rdi]
mov qword [rbp + 0x30], r13
xor ebx, ebx
mov qword [rbp + 0x28], rdx
add r12, r13
mov qword [rbp + 0x20], r10
add rdi, rdx
test rcx, rcx
jle 0x140332be6
cmp rcx, 4
jl 0x140332dc5
lea rax, [r12 + rbx]
and rax, 0xf
je 0x140332b22
test rax, 3
jne 0x140332dc5
neg rax
add rax, 0x10
shr rax, 2
lea rdx, [rax + 4]
cmp rcx, rdx
jl 0x140332dc5
mov rdx, rcx
xor r10d, r10d
sub rdx, rax
lea r13, [rdi + rbx]
and rdx, 3
neg rdx
add rdx, rcx
test rax, rax
jbe 0x140332b5f
mov r15d, dword [r13 + r10*4]
cmp r15d, esi
cmovg esi, r15d
inc r10
cmp r10, rax
jb 0x140332b4b
movd xmm0, esi
pshufd xmm0, xmm0, 0
movdqu xmm1, xmmword [r13 + rax*4]
add rax, 4
movdqa xmm2, xmm1
pxor xmm1, xmm0
pcmpgtd xmm2, xmm0
pand xmm2, xmm1
pxor xmm0, xmm2
cmp rax, rdx
jb 0x140332b68
movdqa xmm1, xmm0
movdqa xmm2, xmm0
psrldq xmm1, 8
pcmpgtd xmm2, xmm1
pxor xmm0, xmm1
pand xmm2, xmm0
pxor xmm2, xmm1
movdqa xmm0, xmm2
movdqa xmm3, xmm2
psrldq xmm0, 4
pcmpgtd xmm3, xmm0
pxor xmm2, xmm0
pand xmm3, xmm2
pxor xmm3, xmm0
movd esi, xmm3
cmp rdx, rcx
jae 0x140332be6
lea rax, [rdi + rbx]
mov r10d, dword [rax + rdx*4]
cmp r10d, esi
cmovg esi, r10d
inc rdx
cmp rdx, rcx
jb 0x140332bd3
inc r8
add rbx, r11
cmp r8, r9
jb 0x140332aee
mov r13, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x28]
mov r10, qword [rbp + 0x20]
mov rax, qword [rbp + 0x18]
cmp r14, rax
jae 0x140332c1c
test r9, r9
jle 0x140332e1f
mov qword [rbp + 0x18], rax
jmp 0x140332ac9
mov edi, dword [rbp + 0x10]
mov r8, qword [rbp + 8]
mov r12, qword [rbp]
mov rdx, qword [rbp + 0xe0]
cmp edi, esi
jne 0x140332cc6
mov rax, rdx
mov rsi, rsp
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.14043da60
sub rsp, rax
lea rax, [rsp + 0x30]
mov r13, rax
mov rcx, r13
mov r9d, edx
call fcn.140349590
mov qword [rbp + 0x38], r13
mov r13, rsp
movabs r8, 0x801208384ff00
lea rcx, [rbp]
lea r9, [0x140590f64]
lea r10, [rbp + 0x30]
movsxd rax, eax
lea r11, [0x140590f00]
mov edx, dword [r12]
mov qword [rcx], 0
mov qword [r10], rax
mov qword [r13 + 0x20], r10
mov qword [r13 + 0x28], r11
call fcn.140353740
lea rdx, [0x140590f6c]
lea rcx, [rbp]
mov dword [rbp + 0x40], edi
lea r8, [rbp + 0x40]
call fcn.140356950
mov rax, rsi
mov rsp, rax
jmp 0x140332db4
mov rax, rdx
mov r13, rsp
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.14043da60
sub rsp, rax
lea rax, [rsp + 0x30]
mov r14, rax
mov rcx, r14
mov r9d, edx
call fcn.140349590
mov qword [rbp + 0x38], r14
mov r14, rsp
movabs r8, 0x801208384ff00
lea rcx, [rbp]
lea r9, [0x140590f74]
lea r10, [rbp + 0x30]
movsxd rax, eax
lea r11, [0x140590f2c]
mov edx, dword [r12]
mov qword [rcx], 0
mov qword [r10], rax
mov qword [r14 + 0x20], r10
mov qword [r14 + 0x28], r11
call fcn.140353740
lea rdx, [0x140590f7c]
lea rcx, [rbp]
lea r9, str.__variable_3D_integer_array_ranging_from
lea r8, [rbp + 0x40]
mov qword [r8], 0x2a
mov qword [rbp + 0x48], r9
call fcn.140356950
lea rdx, [0x140590f84]
lea rcx, [rbp]
mov dword [rbp + 0x60], edi
lea r8, [rbp + 0x60]
call fcn.140356950
lea rdx, [0x140590f8c]
lea rcx, [rbp]
lea rdi, [0x1405912a8]
lea r8, [rbp + 0x50]
mov qword [r8], 4
mov qword [rbp + 0x58], rdi
call fcn.140356950
lea rdx, [0x140590f94]
lea rcx, [rbp]
mov dword [rbp + 0x68], esi
lea r8, [rbp + 0x68]
call fcn.140356950
mov rax, r13
mov rsp, rax
lea rsp, [rbp + 0x78]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor edx, edx
jmp 0x140332bca
xor r10d, r10d
jmp 0x140332a62
inc r15
add rsi, r10
cmp r15, rax
jb 0x140332959
mov rdx, qword [rbp + 0x28]
mov esi, 0x80000000
mov r8, qword [rbp + 8]
mov r12, qword [rbp]
cmp rax, 1
jbe 0x140332c27
mov r14d, 2
cmp rax, 2
jbe 0x140332c27
mov r13, rdx
mov dword [rbp + 0x10], edi
sub r13, r11
mov qword [rbp + 8], r8
mov qword [rbp], r12
inc r14
jmp 0x140332c05
mov esi, 0x80000000
jmp 0x140332c27