Function at 0x140145b20
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
mov rax, qword [rdx]
mov qword [rsp + 0x70], rax
cmp rax, 0
jle 0x140146080
mov rdx, qword [rsp + 0x70]
mov rax, rdx
add rax, 1
mov qword [rsp + 0x58], rax
mov r8, rdx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
movabs rcx, 0xf5bf29f14b095770
movabs r9, 0xf5bf29f14b095772
xor rcx, r9
imul rcx, r8
sub rcx, 0xffffffffffffffff
sub rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140145cb5
mov ecx, dword [0x1402b04d8]
mov edx, dword [0x1402b04dc]
mov eax, 0xc1aed957
xor eax, 0x1bbb6a4a
xor edx, eax
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0x4869a863
xor ecx, 0x2c53383d
xor edx, edx
div ecx
mov edx, 0xac18618
xor edx, 0xf53e79e7
mov ecx, eax
xor ecx, edx
xor eax, 0xffffffff
and ecx, eax
mov eax, 0x723669f3
or eax, 0x723669f3
mov edx, 0x4561c5e
xor edx, 0xfba9e3a1
xor eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0xfcca7dbc
mov r8d, 0xffffffff
xor r8d, 0xfcca7dbc
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0xfcca7dbc
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0xe33694f0
jbe 0x140146085
mov ecx, dword [0x1402b04e0]
mov edx, dword [0x1402b04e4]
xor edx, 0xfab84d54
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov edx, 0xffffffff
xor edx, 0x8549fe6a
mov ecx, eax
xor ecx, edx
and ecx, eax
mov eax, ecx
and eax, 0xafc00932
mov edx, 0x9a1634b3
xor edx, 0x35d63d81
xor ecx, edx
or eax, ecx
add eax, 0x9755cd38
mov dword [rsp + 0x54], eax
mov eax, 0xa979c694
xor eax, 0x26678fed
mov dword [rsp + 0x50], eax
call fcn.14000ee80
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x54]
cmp eax, ecx
jae 0x140146085
jmp 0x140146080
mov eax, dword [0x1402b04e8]
xor edx, edx
div dword [0x1402b04ec]
or eax, 0xcd2d9f2f
mov ecx, 0x6cf4719
xor ecx, 0x52b5a0c1
sub eax, ecx
mov ecx, 0x53070ed1
xor ecx, 0x53070ed1
mov edx, 0x79d66dde
xor edx, 0xdf8de30b
sub ecx, edx
sub eax, ecx
cmp eax, 0xb2f46002
je 0x14014608e
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1402b04f0]
xor eax, 0x7f1fab3f
mov edx, dword [0x1402b04f4]
xor edx, 0xcc22bd12
add eax, edx
imul eax, eax, 0x70c4e658
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x502044eb
mov edx, 0x38d27b43
xor edx, 0x95b5a897
mov r9d, 0xf95963d6
xor r9d, 0x6a69c29
xor edx, r9d
or eax, r8d
or edx, 0xad67d3d4
mov r8d, 0xac0e0b7d
xor r8d, 0x53f1f482
xor eax, r8d
and eax, edx
imul eax, eax, 0x894c15bb
movabs rdx, 0xf092c2c84af5335c
movabs r8, 0xf092c2c84af5335c
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x4f], cl
cmp eax, 0x56e3126c
jb 0x140145cfa
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x140145da7
jmp 0x140145dc4
mov rcx, qword [rsp + 0x58]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.140018506
jmp 0x140146080
mov eax, dword [0x1402b04f8]
mov edx, dword [0x1402b04fc]
xor edx, 0x4bafc5ea
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
mov ecx, 0xae3823d
xor ecx, 0xe191ac19
sub eax, ecx
mov ecx, 0x9bc9ae80
xor ecx, 0x6436517f
mov edx, eax
xor edx, ecx
and edx, 0xe6f7cfdf
mov r8d, 0xffffffff
xor r8d, 0xe6f7cfdf
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x3b2b99d2
xor r8d, 0xdddc560d
mov edx, eax
and edx, r8d
mov r8d, 0x76e4cc65
xor r8d, 0x901303ba
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x7611ecf9
xor edx, edx
div ecx
cmp eax, 0xf4028f28
jae 0x140146097
mov r9, qword [rsp + 0x68]
mov eax, dword [0x1402b0500]
xor eax, 0xca692ca3
xor edx, edx
div dword [0x1402b0504]
mov rdx, qword [rsp + 0x60]
mov ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, 0x2b40f147
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x2b40f147
mov r10d, 0xffffffff
xor r10d, 0x2b40f147
or r8d, r10d
xor ecx, 0xffffffff
xor r8d, 0xffffffff
or ecx, r8d
and eax, ecx
mov ecx, 0x1f4f1ac8
xor ecx, 0xe0b0e537
xor eax, ecx
mov r10d, 0xffffffff
xor r10d, 0x2926fe0a
mov r8d, eax
and r8d, r10d
mov ecx, eax
or ecx, r10d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, eax
and r8d, 0x2926fe0a
mov r10d, 0x4016d9d8
xor r10d, 0x693027d2
or eax, r10d
imul eax, r8d
add eax, ecx
xor eax, 0x36b8feb2
mov ecx, 0x2185b68c
xor ecx, 0xf0c8a2c9
mov r8, qword [r9 + 8]
add r8, 8
add r8, qword [r9]
mov qword [rsp + 0x38], r8
mov rdx, qword [rdx + 8]
add rdx, 8
mov qword [rsp + 0x40], rdx
cmp eax, ecx
jae 0x140145e54
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x140145f38
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
and rax, 1
movabs r9, 0xfd98f4cf089ac3f6
movabs r8, 0xfd98f4cf089ac3f7
xor r9, r8
mov r8, rcx
or r8, r9
add rax, r8
cmp rcx, rdx
mov qword [rsp + 0x30], rax
jne 0x140145f38
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov r8, qword [rcx]
mov rcx, qword [rax]
movabs rax, 0xd94d56e8f7d30f2e
movabs rdx, 0x73310c536871a045
xor rax, rdx
mov rdx, rcx
add rdx, rax
add rdx, r8
movabs rax, 0xaa7c5abb9fa2af6b
sub rdx, rax
mov qword [rsp + 0x28], rdx
mov rax, rdx
xor rax, 0xffffffffffffffff
mov r9, rdx
xor r9, 0xffffffffffffffff
or rax, r9
and rax, r8
movabs r9, 0xfdcbc3e160043abf
movabs r10, 0x2343c1e9ffbc540
xor r9, r10
xor rax, r9
mov r9, r8
xor r9, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or r9, r8
movabs r10, 0x59ba6d62cb98ab34
movabs r8, 0xa645929d346754cb
xor r10, r8
mov r8, rdx
xor r8, r10
xor r9, 0xffffffffffffffff
or r8, r9
xor rax, 0xffffffffffffffff
movabs r9, 0xc4ff456cef14cab5
movabs r10, 0x3b00ba9310eb354a
xor r9, r10
xor r8, r9
or rax, r8
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140146073
call fcn.14000ee80
jmp 0x140146080
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
add rsp, 0x78
ret
pop rbp
out 0xdb, eax
jmp 0x140145c43
invalid
xchg esp, eax
cmp byte [rsi - 0x45], ch
jmp 0x140145e54