Function at 0x140007be0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
cmp rdx, 0
mov qword [rsp + 0x50], rcx
je 0x140007f3b
mov r8, qword [rsp + 0x40]
movabs rcx, 0x78a016872f4fdd4d
movabs rax, 0x875fe978d0b022b2
xor rcx, rax
mov rax, r8
add rax, rcx
mov qword [rsp + 0x38], rax
movabs rdx, 0xe70a1e4e0710ff05
movabs rcx, 0x18f5e1b1f8ef00fa
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov rdx, r8
xor rdx, 0xffffffffffffffff
mov r9, r8
xor r9, 0xffffffffffffffff
and rdx, r9
or rcx, rdx
xor rcx, 0xffffffffffffffff
mov rdx, rax
or rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r8, 0x6aa81fedfc74250f
movabs r9, 0x9557e012038bdaf0
xor r8, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg al
xor al, 0xff
mov cl, 1
xor cl, 0
xor dl, cl
mov cl, 1
xor cl, 1
mov r8b, 1
xor r8b, 0
xor cl, r8b
or al, dl
or cl, 0
xor edx, edx
xor dl, 1
xor al, dl
and al, cl
test al, 1
jne 0x140007ccf
jmp 0x140007cd9
call fcn.140007f57
jmp 0x140007f3b
mov ecx, dword [0x1402005c8]
mov eax, dword [0x1402005cc]
add ecx, 0xed984de3
sub ecx, eax
sub ecx, 0xed984de3
mov eax, ecx
and eax, 0x1edab31d
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x1edab31d
or ecx, edx
and eax, ecx
mov ecx, 0x82202363
xor ecx, 0x7ddfdc9c
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xc366a1ae
add eax, ecx
add eax, 1
or eax, 0x5c38a712
cmp eax, 0x4352ff83
jb 0x140007f45
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
mov eax, dword [0x1402005d0]
xor eax, 0x99f17d99
mov edx, dword [0x1402005d4]
xor edx, 0x789995d4
mov r10d, eax
and r10d, edx
mov ecx, 0x5ec46795
xor ecx, 0x5ec46797
imul ecx, r10d
add eax, edx
sub eax, ecx
mov ecx, 0x813abc9a
xor edx, edx
div ecx
mov ecx, 0xd6d1c3f0
xor edx, edx
div ecx
mov ecx, 0xd2a297c
xor ecx, 0x6fda9b4a
xor eax, ecx
xor ecx, ecx
sub rcx, r8
xor edx, edx
sub rdx, r9
add rcx, rdx
xor edx, edx
sub rdx, rcx
mov qword [rsp + 0x28], rdx
mov rcx, rdx
xor rcx, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0xf5025bc2
jae 0x140007d3c
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140007ddf
jmp 0x140007f1d
mov eax, dword [0x1402005d8]
mov ecx, dword [0x1402005dc]
xor ecx, 0x4661483c
or eax, ecx
mov ecx, 0x9b326fce
xor edx, edx
div ecx
xor eax, 0x3a1c90be
mov ecx, 0x70be0b94
xor ecx, 0xd1ab2a25
or eax, ecx
mov ecx, 0xe039ba9c
xor ecx, 0x645eb9a2
cmp eax, ecx
je 0x140007f4e
mov ecx, dword [0x1402005e0]
mov eax, 0xb10f0e7c
xor eax, 0xee20ca3b
xor ecx, eax
mov edx, dword [0x1402005e4]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor r11d, r11d
sub r11d, eax
mov eax, 0x7d505a16
xor eax, 0x82afa5e9
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x197999a4
mov edx, 0xffffffff
xor edx, 0x5003d45d
mov eax, ecx
and eax, 0x5003d45d
and r11d, edx
mov r9d, r8d
and r9d, 0x5003d45d
mov r10d, edx
and r10d, 0x197999a4
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0xfd9bb8f9
xor r8d, 0x2644706
xor ecx, r8d
or edx, 0x5003d45d
and ecx, edx
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x7bc76a1b
mov r8d, 0xffffffff
xor r8d, 0x7bc76a1b
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x8a1e7a87
xor r8d, 0xf1d9109c
mov edx, eax
and edx, r8d
mov r8d, 0x42f5d2c8
xor r8d, 0x3932b8d3
or eax, r8d
imul eax, edx
add eax, ecx
sub eax, 0xb4046c62
mov dword [rsp + 0x24], eax
call fcn.140007f57
mov eax, dword [rsp + 0x24]
cmp eax, 0xdf3a0ef2
jb 0x140007e21
jmp 0x140007f3b
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
xor rcx, 0xffffffffffffffff
add rcx, 0
add rcx, 1
and rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
add rsp, 0x58
ret
call 0x129eb8894
out dx, al
std
invalid
rcl ebp, 1
mov bl, 0xac
jmp 0x140007e21