Function at 0x1401040c0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x70
mov qword [rsp + 0x60], rcx
call fcn.14010442e
mov rcx, qword [rsp + 0x60]
xor eax, eax
cmp rcx, 0
mov byte [rsp + 0x6f], al
je 0x140104408
mov eax, dword [0x1401cecf0]
add eax, dword [0x1401cecf4]
xor eax, 0x82bcde90
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x69d699bc
xor edx, 0xa182842d
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xc8541d91
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc8541d91
mov r8d, 0x994f0f3c
xor r8d, 0x511b12ad
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x7e92e046
mov edx, 0xffffffff
xor edx, 0x7e92e046
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x9a4196f7
je 0x14010441c
mov rcx, qword [rsp + 0x60]
mov eax, dword [0x1401cecf8]
imul eax, dword [0x1401cecfc]
mov edx, 0x9049c880
xor edx, 0x9fb1b18d
and eax, edx
mov r8d, 0x92bd6c69
xor edx, edx
div r8d
imul eax, eax, 0xf6eacf6d
mov rdx, rcx
add rdx, 0xfffffffffffffff0
mov qword [rsp + 0x48], rdx
mov rcx, qword [rcx - 0x10]
mov qword [rsp + 0x50], rcx
cmp rcx, 0x10
setb cl
mov byte [rsp + 0x5f], cl
cmp eax, 0x7e243f25
je 0x14010415e
mov cl, byte [rsp + 0x5f]
mov al, 1
test cl, 1
mov byte [rsp + 0x47], al
jne 0x1401042f8
jmp 0x1401041d1
mov r8, qword [rsp + 0x50]
movabs rcx, 0x5cd1b375ea211db2
movabs rax, 0xa32e4c8a15dee242
xor rcx, rax
mov rax, r8
add rax, rcx
mov qword [rsp + 0x38], rax
movabs rdx, 0x337794647a7d66ad
movabs rcx, 0xcc886b9b85829952
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xc0f15d7b4f4dd5a8
and rcx, rdx
movabs r10, 0x8f735fabdfa2b94f
movabs rdx, 0x4f8202d090ef6ce7
xor r10, rdx
movabs rdx, 0x5ed065215478cf2
movabs r9, 0xfa12f9adeab8730d
xor rdx, r9
xor r10, rdx
mov r9, rax
and r9, r10
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r11, 0x1f125f41384e8e81
movabs rsi, 0xdfe3023a77035b29
xor r11, rsi
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
cmp rcx, 0
setl dl
movabs rcx, 0x9cd29567afd65850
movabs r8, 0x632d6a985029a7af
xor rcx, r8
cmp rax, rcx
setg al
or al, al
xor al, 0xff
mov cl, dl
xor cl, 0xff
xor r8d, r8d
xor r8b, 1
xor dl, r8b
and cl, dl
or al, cl
mov cl, 1
xor cl, 0
xor al, cl
test al, 1
jne 0x1401042d5
jmp 0x1401042e5
call fcn.140008024
xor eax, eax
mov byte [rsp + 0x6f], al
jmp 0x140104408
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov qword [rax], rcx
xor eax, eax
mov byte [rsp + 0x47], al
mov al, byte [rsp + 0x47]
mov byte [rsp + 0x37], al
mov eax, dword [0x1401ced00]
mov r8d, dword [0x1401ced04]
mov ecx, 0xfa04efd2
xor ecx, 0x5fb102d
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
or eax, 0xcf53bfdb
sub eax, 0x2906867d
sub eax, 0xa0ab5a
cmp eax, 0x1a265c39
jbe 0x140104425
mov cl, byte [rsp + 0x5f]
mov eax, dword [0x1401ced08]
add eax, dword [0x1401ced0c]
mov r8d, 0xda886348
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x48]
mov r8d, eax
mov rax, qword [rsp + 0x60]
mov r11d, 0xffffffff
xor r11d, 0x23949aa7
mov r10d, r8d
and r10d, r11d
mov r9d, r8d
or r9d, r11d
mov r11d, 0xcddfb05e
xor r11d, 0x32204fa1
xor r9d, r11d
imul r9d, r10d
mov r10d, r8d
and r10d, 0x23949aa7
or r8d, 0x23949aa7
imul r8d, r10d
add r8d, r9d
imul r8d, r8d, 0x770f42c3
mov dword [rsp + 0x30], r8d
mov r8d, 0x5c56783b
xor r8d, 0xd5a553fe
mov dword [rsp + 0x2c], r8d
mov r8, qword [rax]
and cl, 1
call fcn.14000f62a
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x30]
cmp eax, ecx
je 0x140104425
mov al, byte [rsp + 0x37]
mov byte [rsp + 0x6f], al
jmp 0x140104408
mov al, byte [rsp + 0x6f]
cmp al, 0
setne al
and al, 1
movzx eax, al
add rsp, 0x70
pop rsi
ret
lodsb al, byte [rsi]
frstor dword [rbp - 0x2c6169a]
invalid
mov ch, ch
std
jmp 0x140104355