Function at 0x140077960
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rcx
call fcn.14006611a
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
mov qword [rcx], 0
mov qword [rcx + 8], 0
mov ecx, 8
call fcn.140066202
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rsp + 0x67], al
jne 0x140077c3d
mov eax, dword [0x1401cb938]
mov r8d, dword [0x1401cb93c]
xor r8d, 0xe2766f81
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x5ee9a7ea
xor ecx, 0xbf953f84
imul eax, ecx
or eax, 0xd7fb22c4
mov ecx, 0x7cead3ed
xor ecx, 0x83152c12
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0x4645a736
mov ecx, 0x2f972898
xor ecx, 0x5b22091a
mov r8d, 0x8bce24aa
xor r8d, 0x7431db55
xor ecx, r8d
or eax, edx
or ecx, 0x74b52182
mov edx, 0x40501858
xor edx, 0xbfafe7a7
xor eax, edx
and eax, ecx
cmp eax, 0x7b9d28d
jbe 0x140077c80
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1401cb940]
xor edx, edx
div dword [0x1401cb944]
mov rdx, qword [rsp + 0x38]
mov r8d, eax
mov r9d, 0xffffffff
xor r9d, 0x3741d421
mov eax, r8d
xor eax, r9d
and eax, r8d
sub eax, 0xcbcdf50c
sub eax, 0x73494d89
mov dword [rsp + 0x30], eax
call fcn.14007792d
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x30]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0xb75f5eda
jbe 0x140077c80
mov cl, byte [rsp + 0x37]
mov al, 1
test cl, 1
mov byte [rsp + 0x67], al
jne 0x140077ad0
jmp 0x140077c3d
mov eax, dword [0x1401cb948]
mov r8d, dword [0x1401cb94c]
mov ecx, 0x48f633e
xor ecx, 0x2a3cce8
xor r8d, ecx
mov ecx, 0x54af975e
xor ecx, 0xab5068a1
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x12c427c
xor ecx, 0xffffffff
or eax, 0x12c427c
and eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0x236f6dbc
xor edx, 0xcb4153c7
or eax, edx
add eax, ecx
mov ecx, 0xc1010ca8
xor edx, edx
div ecx
cmp eax, 0x5beb40c8
ja 0x140077c89
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1401cb950]
xor eax, 0x77439c94
sub eax, dword [0x1401cb954]
mov r8d, 0xc8ebcd35
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x58]
xor edx, 0x657aaf4e
mov r8d, 0xd8baf784
xor r8d, 0x2745087b
mov r9d, edx
xor r9d, r8d
and r9d, 0xe04a0e3
mov r10d, 0xce4a99c4
xor r10d, 0xc04e3927
mov r8d, 0x380052bc
xor r8d, 0xc7ffad43
xor r10d, r8d
mov r8d, edx
and r8d, r10d
imul r8d, r9d
mov r9d, edx
and r9d, 0xe04a0e3
mov r10d, 0xabf279bf
xor r10d, 0xa5f6d95c
or edx, r10d
imul edx, r9d
add edx, r8d
mov dword [rsp + 0x28], edx
mov edx, 0x1762e6d1
xor edx, 0x5bd07d08
mov dword [rsp + 0x24], edx
mov rdx, qword [rax + 0x58]
mov qword [rsp + 0x68], rdx
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0x68]
call fcn.140018d5d
mov rdx, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x28]
mov dl, byte [rdx]
mov byte [rsp + 0x2f], dl
cmp eax, ecx
je 0x140077b56
mov al, byte [rsp + 0x2f]
mov byte [rsp + 0x67], al
jmp 0x140077c3d
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov dl, byte [rsp + 0x67]
mov byte [rsp + 0x23], dl
mov byte [rax], 0
call fcn.140065cc0
mov rax, qword [rsp + 0x50]
mov al, byte [rax]
mov cl, 0x2f
xor cl, 0x2f
cmp al, cl
jne 0x140077c76
mov rax, qword [rsp + 0x50]
mov cl, byte [rsp + 0x23]
mov byte [rax], cl
mov rax, qword [rsp + 0x40]
add rsp, 0x78
ret
in al, dx
int 0xe9
int 0xfd
invalid
mul byte [rdi]
sbb al, 0x2b
jmp 0x140077b56