Function at 0x140135cf0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xc8
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0xb0], rcx
add rcx, 8
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rdx
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x90], rax
call fcn.1401343e1
mov rcx, qword [rsp + 0x90]
mov rdx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x98], rdx
sub rax, rcx
mov qword [rsp + 0xa0], rax
cmp rax, 1
jl 0x1401360d2
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xb8]
mov rdx, qword [rdx]
mov qword [rsp + 0x70], rdx
movabs rdx, 0xb69d8b39043602b7
movabs r8, 0xb69d8b39043602b4
xor rdx, r8
imul rax, rdx
xor edx, edx
sub rdx, rax
movabs rax, 0x6be7c432fa2aa756
movabs r8, 0x6be7c432fa2aa756
xor rax, r8
movabs r8, 0x48f3ab3a78b2aa51
movabs r9, 0x48f3ab3a78b2aa52
xor r8, r9
sub rax, r8
add rdx, rax
xor eax, eax
sub rax, rdx
mov r8d, 4
cqo
idiv r8
mov rdx, qword [rsp + 0x70]
mov r8, rax
mov rax, qword [rsp + 0xa8]
add r8, rcx
mov rdx, qword [rdx + r8*8 + 8]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
mov ecx, dword [0x140249c88]
mov edx, dword [0x140249c8c]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
sub eax, 0xa32c11a0
mov ecx, 0xf5c4486b
xor ecx, 0xf29ee9ce
xor edx, edx
div ecx
or eax, 0x7b7f2663
mov ecx, 0x9f506c23
xor ecx, 0x4c3c5cd0
cmp eax, ecx
je 0x1401360da
mov eax, dword [0x140249c90]
xor eax, dword [0x140249c94]
or eax, 0xaa9a1682
xor ecx, ecx
sub ecx, 0xce746a79
add eax, ecx
mov ecx, 0x14606428
xor edx, edx
div ecx
cmp eax, 0x50487db1
ja 0x140135e6f
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x58], rax
jmp 0x140135ead
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x50], rcx
cmp rax, rcx
jg 0x140135fd0
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rcx + r8*8 + 8]
mov qword [rsp + 0x40], rcx
cmp qword [rcx + 8], rdx
mov qword [rsp + 0x48], rax
jge 0x140135f20
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x48]
add rcx, 1
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
jmp 0x140135e15
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rcx + rdx*8 + 8]
mov qword [rsp + 0x30], rcx
cmp rax, qword [rcx + 8]
jge 0x140135f56
mov rax, qword [rsp + 0x50]
add rax, 0xffffffffffffffff
mov qword [rsp + 0x58], rax
jmp 0x140135ead
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0x30]
mov qword [r8 + r9*8 + 8], r10
mov rcx, qword [rcx]
mov qword [rcx + rax*8 + 8], rdx
mov rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs rdx, 0x92af5b7979a192cf
movabs r8, 0x92af5b7979a192cf
xor rdx, r8
movabs r8, 0xd9731b8aa28709d9
movabs r9, 0xd9731b8aa28709d8
xor r8, r9
sub rdx, r8
sub rcx, rdx
sub rax, rcx
mov qword [rsp + 0x48], rax
jmp 0x140135efd
mov eax, dword [0x140249c98]
mov edx, dword [0x140249c9c]
xor edx, 0x4f9ab8c8
mov ecx, eax
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
sub ecx, 0xdb91b5ea
mov edx, 0xffffffff
xor edx, 0xeb84666b
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x4b1755bd
xor ecx, 0x5b772435
or eax, ecx
cmp eax, 0x72166268
jb 0x1401360e3
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xb0]
mov eax, dword [0x140249ca0]
mov edx, 0xf16ba05f
xor edx, 0xa481549b
xor eax, edx
mov edx, dword [0x140249ca4]
xor edx, 0xb3d60d87
sub eax, edx
imul eax, eax, 0x1e9b148a
imul eax, eax, 0x2fd2aac1
mov r9d, 0x89df3d6f
xor edx, edx
div r9d
mov rdx, qword [rsp + 0x90]
mov dword [rsp + 0x28], eax
mov eax, 0xb20eaed6
xor eax, 0x37fc3a73
mov dword [rsp + 0x24], eax
call fcn.140135cf0
mov rdx, qword [rsp + 0x98]
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x28]
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0x2f], dl
cmp eax, ecx
je 0x1401360e3
mov rax, qword [rsp + 0x68]
mov cl, byte [rsp + 0x2f]
test cl, 1
mov qword [rsp + 0xc0], rax
jne 0x140135d1b
jmp 0x1401360d2
add rsp, 0xc8
ret
rcl dword [rbp - 0x73162406], 0xfd
invalid
shr byte [rbp + 0x7f], cl
test ecx, ebp
invalid