Function at 0x1400ca420
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x60
lea rbp, [rsp + 0x60]
mov dword [rbp - 0x14], r8d
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rcx
mov eax, dword [0x140110d90]
xor edx, edx
div dword [0x140110d94]
sub eax, 0x725aead9
sub eax, 0xbcbd012b
sub eax, 0x41d37da7
cmp eax, 0xbf1b51fa
jae 0x1400ca703
mov r9d, dword [rbp - 0x14]
mov r11, qword [rbp - 0x10]
mov rdi, qword [rbp - 8]
mov eax, dword [0x140110d98]
mov ecx, dword [0x140110d9c]
imul eax, ecx
imul eax, eax, 0x6b19d91a
mov ecx, 0x81c36751
imul rax, rcx
shr rax, 0x3d
and eax, 0xfffffffd
mov dword [rbp - 0x24], eax
mov eax, 0x10
mov qword [rbp - 0x38], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rsi, rsp
mov qword [rbp - 0x50], rsi
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov r10, rsp
mov qword [rbp - 0x48], r10
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov r8, rsp
mov qword [rbp - 0x40], r8
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rdx, rsp
mov qword [rbp - 0x30], rdx
call fcn.1400ec140
sub rsp, rax
mov eax, dword [rbp - 0x24]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
mov qword [rsi], rdi
mov qword [r10], r11
mov dword [r8], r9d
mov dword [rdx], 0
mov dword [rcx], 0
cmp eax, 0xd0345c01
jae 0x1400ca703
jmp 0x1400ca520
mov eax, dword [0x140110da0]
and eax, dword [0x140110da4]
mov ecx, 0xb686108
xor edx, edx
div ecx
add eax, 0xc9902ae2
xor eax, 0x6309e8ee
cmp eax, 0x37360489
jbe 0x1400ca779
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x140110da8]
and eax, dword [0x140110dac]
xor eax, 0x1da0976c
mov r8d, 0x48e058ca
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x40]
or eax, 0x976c76cf
mov ecx, dword [rcx]
cmp ecx, dword [rdx]
setb cl
mov byte [rbp - 0x51], cl
cmp eax, 0x35b1d13b
jbe 0x1400ca54a
mov al, byte [rbp - 0x51]
test al, 1
jne 0x1400ca598
jmp 0x1400ca6a9
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x50]
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x48]
mov r9, qword [rdx]
mov r10d, dword [r8]
mov r9d, dword [r9 + r10*4]
and r9d, 0xff
mov r11b, r9b
mov r9, qword [rax]
mov r10d, dword [rcx]
mov byte [r9 + r10], r11b
mov r9, qword [rdx]
mov r10d, dword [r8]
mov r9d, dword [r9 + r10*4]
shr r9d, 8
and r9d, 0xff
mov r11b, r9b
mov r9, qword [rax]
mov r10d, dword [rcx]
add r10d, 1
mov r10d, r10d
mov byte [r9 + r10], r11b
mov r9, qword [rdx]
mov r10d, dword [r8]
mov r9d, dword [r9 + r10*4]
shr r9d, 0x10
and r9d, 0xff
mov r11b, r9b
mov r9, qword [rax]
mov r10d, dword [rcx]
add r10d, 2
mov r10d, r10d
mov byte [r9 + r10], r11b
mov rdx, qword [rdx]
mov r8d, dword [r8]
mov edx, dword [rdx + r8*4]
shr edx, 0x18
and edx, 0xff
mov rax, qword [rax]
mov ecx, dword [rcx]
add ecx, 3
mov ecx, ecx
mov byte [rax + rcx], dl
mov eax, dword [0x140110db0]
imul eax, dword [0x140110db4]
xor eax, 0x6e28c512
and eax, 0xe4fba76e
and eax, 0xcdb0543b
cmp eax, 0x32e640c7
jb 0x1400ca77e
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x140110db8]
xor eax, dword [0x140110dbc]
or eax, 0xc70b2a64
mov r8d, 0x1e620abc
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x30]
xor eax, 0xa5f12868
mov r8d, dword [rdx]
add r8d, 1
mov dword [rdx], r8d
mov edx, dword [rcx]
add edx, 4
mov dword [rcx], edx
cmp eax, 0x7002dc1
jb 0x1400ca77e
jmp 0x1400ca520
mov eax, dword [0x140110dc0]
xor edx, edx
div dword [0x140110dc4]
or eax, 0x566e91f2
imul eax, eax, 0xe8689a3b
xor eax, 0xe8bc7b08
cmp eax, 0xb054e6d6
jb 0x1400ca799
mov eax, dword [0x140110dc8]
add eax, dword [0x140110dcc]
or eax, 0xda697436
mov ecx, 0x82b71da3
xor edx, edx
div ecx
add eax, 0xb0955695
cmp eax, 0x9c088b96
jb 0x1400ca799
mov rsp, rbp
pop rdi
pop rsi
pop rbp
ret
mov r8d, dword [rbp - 0x14]
mov r10, qword [rbp - 0x10]
mov rsi, qword [rbp - 8]
mov eax, 0x10
mov qword [rbp - 0x60], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x60]
mov r11, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x60]
mov r9, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x60]
mov rdx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x60]
mov rcx, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [r11], rsi
mov qword [r9], r10
mov dword [rdx], r8d
mov dword [rcx], 0
mov dword [rax], 0
jmp 0x1400ca460
jmp 0x1400ca54a
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x30]
mov edx, dword [rcx]
add edx, 1
mov dword [rcx], edx
mov ecx, dword [rax]
add ecx, 4
mov dword [rax], ecx
jmp 0x1400ca65f
jmp 0x1400ca6d2