Function at 0x1400876a0
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.14006d36b
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
mov qword [rcx], 0
mov qword [rcx + 8], 0
mov ecx, 8
call fcn.14006d7d0
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rsp + 0x67], al
jne 0x1400877fc
mov eax, dword [0x140254248]
xor eax, 0x38ac6868
xor eax, dword [0x14025424c]
xor eax, 0xcc8bea15
mov ecx, 0x28eb97e2
xor ecx, 0x91e9f7f5
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x23e7377b
add eax, ecx
add eax, 1
cmp eax, 0xbce2d50d
je 0x140087969
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x140254250]
mov r8d, dword [0x140254254]
xor r8d, 0xb3b4e11d
sub eax, 0x8353a5ad
sub eax, r8d
add eax, 0x8353a5ad
mov r8d, 0x2b8e3a08
xor r8d, 0x456a72db
xor eax, r8d
sub eax, 0xc8b600c2
mov r8d, 0x3f336415
xor r8d, 0xea4287d6
add eax, r8d
add eax, 0xc8b600c2
add eax, 0x90bdbac2
mov dword [rsp + 0x30], eax
call fcn.14008766f
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x30]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0xb8ad250c
ja 0x140087732
mov cl, byte [rsp + 0x37]
mov al, 1
test cl, 1
mov byte [rsp + 0x67], al
jne 0x1400877cb
jmp 0x1400877fc
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x58]
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.140019410
mov rax, qword [rsp + 0x50]
mov al, byte [rax]
mov byte [rsp + 0x67], al
mov al, byte [rsp + 0x67]
mov byte [rsp + 0x2f], al
mov ecx, dword [0x140254258]
mov edx, dword [0x14025425c]
mov eax, ecx
and eax, edx
shl eax, 1
xor ecx, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x57803bb0
xor ecx, 0x57803bb0
mov edx, 0x25f0bc40
xor edx, 0xf382f193
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov edx, 0xa188f473
xor edx, 0x5e770b8c
mov eax, ecx
xor eax, edx
and eax, 0x2273b9b8
mov edx, 0xa5022364
xor edx, 0x87719adc
mov r8d, 0x82d29477
xor r8d, 0x7d2d6b88
xor edx, r8d
and ecx, edx
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x7e1ddaf2
mov r8d, 0xffffffff
xor r8d, 0x7e1ddaf2
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x7e1ddaf2
or eax, 0x7e1ddaf2
imul eax, edx
add eax, ecx
cmp eax, 0x649f89b0
jae 0x140087972
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov edx, dword [0x140254260]
mov r9d, dword [0x140254264]
xor r9d, 0xf591b150
mov r8d, 0xf2aded7f
xor r8d, 0xf2aded7f
sub r8d, r9d
add edx, r8d
xor r8d, r8d
sub r8d, edx
mov edx, 0x5941f4df
xor edx, 0x5941f4df
mov r9d, 0x793efca
xor r9d, 0x94a86049
sub edx, r9d
add r8d, edx
xor edx, edx
sub edx, r8d
xor edx, 0x16c6fb46
sub edx, 0x13a1f695
mov dword [rsp + 0x28], edx
mov byte [rax], 0
call fcn.14006d09c
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x28]
mov cl, byte [rcx]
mov dl, 0xe4
xor dl, 0xe4
cmp cl, dl
sete cl
mov byte [rsp + 0x2e], cl
cmp eax, 0x5952df95
jbe 0x140087972
mov al, byte [rsp + 0x2e]
test al, 1
jne 0x140087954
jmp 0x14008795f
mov rax, qword [rsp + 0x50]
mov cl, byte [rsp + 0x2f]
mov byte [rax], cl
mov rax, qword [rsp + 0x40]
add rsp, 0x78
ret
loopne 0x140087973
sub dword [rdx - 0x23f17], edx
push qword [rax - 0x16ec9f94]
xor bh, bh
invalid
mov al, 0x6c
insb byte [rdi], dx
invalid