Function at 0x1400faf70
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
mov rax, qword [rdx]
mov qword [rsp + 0x80], rax
cmp rax, 0
jle 0x1400fb3b6
mov rdx, qword [rsp + 0x80]
mov rax, rdx
and rax, 1
mov rcx, rdx
or rcx, 1
add rax, rcx
mov qword [rsp + 0x68], rax
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r9, 0xd4a664057ebc70f3
movabs r8, 0x2b599bfa81438f0c
xor r9, r8
mov r8, rdx
xor r8, r9
or rcx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0xa716be5ff20788c8
movabs r9, 0x58e941a00df87737
xor r8, r9
movabs r9, 0x8db11eb82fc96e52
movabs r10, 0x724ee147d03691ad
xor r9, r10
xor r8, r9
or rcx, r8
mov r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1400fb12d
mov ecx, dword [0x1402070f0]
mov eax, dword [0x1402070f4]
xor eax, 0x6074482e
imul ecx, eax
and ecx, 0xe7fbe10
mov edx, 0x80876d4a
xor edx, 0x7f7892b5
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x79d6731b
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x79d6731b
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
add eax, 0xfd31168f
mov ecx, 0x46662dad
xor ecx, 0x6f925238
sub eax, ecx
sub eax, 0xfd31168f
mov ecx, 0x76372477
xor ecx, 0x5a23ef3a
cmp eax, ecx
jbe 0x1400fb556
mov eax, dword [str._f_sP]
imul eax, dword [0x1402070fc]
mov ecx, 0xc9bc27f
xor ecx, 0xe9416bcd
mov edx, 0x3672cb
xor edx, 0xffc98d34
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xcd784671
mov edx, 0x22605f48
xor edx, 0xdd9fa0b7
xor ecx, edx
and ecx, 0xcd784671
shl ecx, 1
sub ecx, 0xcd784671
sub eax, ecx
imul eax, eax, 0x781edaf0
mov dword [rsp + 0x64], eax
call fcn.140007f57
mov eax, dword [rsp + 0x64]
cmp eax, 0xfb447105
ja 0x1400fb556
jmp 0x1400fb3b6
mov rax, qword [rsp + 0x68]
cmp rax, 0
jge 0x1400fb159
mov rcx, qword [rsp + 0x68]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000dc65
jmp 0x1400fb3b6
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rdx + 8]
add rcx, 8
add rcx, qword [rdx]
mov qword [rsp + 0x48], rcx
mov rax, qword [rax + 8]
add rax, 8
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
mov eax, dword [0x140207100]
mov ecx, dword [0x140207104]
sub eax, 0x6b78f16
sub eax, ecx
add eax, 0x6b78f16
mov ecx, 0x76d9959f
xor edx, edx
div ecx
sub eax, 0x47b0f727
mov ecx, 0x21a1f0c1
xor ecx, 0x45f58f46
sub eax, ecx
mov ecx, 0x7de441fe
xor ecx, 0x289ecf55
cmp eax, ecx
je 0x1400fb55f
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x68]
mov eax, dword [0x140207108]
mov r10d, dword [0x14020710c]
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, r10d
and r9d, r8d
mov r11d, r10d
xor r11d, 0xffffffff
mov r8d, eax
and r8d, r11d
imul r8d, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, r8d
and eax, 0xea727a1b
mov r8d, 0xb6ba28e9
xor r8d, 0xb6ba28e9
mov r9d, 0x8056d791
xor r9d, 0x4a8166f6
sub r8d, r9d
sub eax, r8d
add eax, 0xf8903928
cmp rcx, rdx
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x35d8d0c3
jbe 0x1400fb55f
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x1400fb28f
jmp 0x1400fb26c
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov dl, byte [rdx + rax]
mov byte [rcx + rax], dl
add rax, 1
mov qword [rsp + 0x58], rax
jmp 0x1400fb187
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov r9, qword [rcx]
mov rdx, qword [rax]
mov rcx, rdx
and rcx, r9
mov rax, rdx
or rax, r9
add rcx, rax
mov qword [rsp + 0x30], rcx
mov rax, rcx
and rax, r9
movabs r8, 0x9dc6a1422f1183d4
movabs r10, 0x9dc6a1422f1183d6
xor r8, r10
imul r8, rax
mov rax, rcx
add rax, r9
sub rax, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xb1653292895b598a
movabs rdx, 0xb1653292895b598a
xor rcx, rdx
cmp rax, rcx
jge 0x1400fb3a9
mov eax, dword [0x140207110]
mov r8d, dword [0x140207114]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
xor eax, 0x5b3a9c46
mov ecx, 0xc4e08b21
xor ecx, 0x6438efef
xor eax, ecx
and eax, 0xbe00afff
cmp eax, 0xa68109a3
ja 0x1400fb568
mov eax, dword [0x140207118]
mov ecx, 0xe8ffce03
xor ecx, 0x45bc419b
xor eax, ecx
xor edx, edx
div dword [0x14020711c]
sub eax, 0xf714164a
add eax, 0x4bbf2034
add eax, 0xf714164a
mov ecx, 0xc16d0d30
xor edx, edx
div ecx
add eax, 0x8c0e8319
mov dword [rsp + 0x2c], eax
mov eax, 0x84ad5ece
xor eax, 0x26f9cc4
mov dword [rsp + 0x28], eax
call fcn.140007f57
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x2c]
cmp eax, ecx
je 0x1400fb345
jmp 0x1400fb3b6
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
mov ecx, dword [0x140207120]
mov eax, dword [0x140207124]
xor eax, 0xffffffff
add ecx, eax
add ecx, 1
mov edx, 0xc736cc1d
xor edx, 0x38c933e2
mov eax, ecx
xor eax, edx
and eax, 0x4b740f2f
mov edx, 0x491088bc
xor edx, 0x2648793
mov r8d, 0x129f4c6e
xor r8d, 0xed60b391
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0xb0589537
xor ecx, 0x507367f5
xor edx, edx
div ecx
mov r8d, 0x650f5b91
xor r8d, 0x98cedf04
mov ecx, 0xe37ed476
xor ecx, 0x1c812b89
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x972c04a
xor r8d, 0xf68d3fb5
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xfdc18495
or eax, 0xfdc18495
imul eax, edx
add eax, ecx
cmp eax, 0xa6aabdcf
ja 0x1400fb571
mov eax, dword [0x140207128]
mov ecx, dword [0x14020712c]
xor ecx, 0xffffffff
mov edx, 0x8c652691
xor edx, 0x8c652691
mov r8d, 0xa5ba66e4
xor r8d, 0xa5ba66e5
sub edx, r8d
sub ecx, edx
sub eax, ecx
mov r8d, eax
xor r8d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x785fd43b
and r8d, ecx
mov ecx, 0x767bde96
xor ecx, 0xe240aad
or eax, ecx
xor eax, 0xffffffff
xor r8d, 0xffffffff
xor eax, 0xffffffff
and r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0x7b9c46e7
xor eax, 0xbd8b426b
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0xc617048c
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0x79eb5b2
and ecx, 0xc617048c
mov edx, 0xce3fba23
xor edx, 0xc9a10f91
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov r8d, 0x71bec170
xor r8d, 0xd85d139a
mov ecx, 0x1b4a6132
xor ecx, 0xe4b59ecd
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa9e3d2ea
or eax, 0xa9e3d2ea
imul eax, edx
add eax, ecx
cmp eax, 0x148099ad
jb 0x1400fb461
add rsp, 0x88
ret
cmp al, 0xf7
test eax, 0xfb57e9ef
invalid
invalid
mul dword [rbp + 0x3c]
xchg edx, eax
jmp 0x1400fb345
clc
test al, 0x45
psubsw mm4, mm7
invalid