Function at 0x140019c20
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], rcx
mov eax, dword [0x1401dbcb8]
mov ecx, dword [0x1401dbcbc]
xor ecx, 0x97fab910
imul eax, ecx
mov ecx, eax
and ecx, ecx
xor ecx, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xebbfe40a
or ecx, edx
mov edx, 0x137a09fd
xor edx, 0xf8c5edf7
mov r8d, 0x26460371
xor r8d, 0xd9b9fc8e
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0xebbfe40a
or edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
xor ecx, 0xffffffff
mov edx, 0x5d4580db
xor edx, 0xa2ba7f24
xor eax, edx
or ecx, eax
mov eax, 0xbdc74f73
xor eax, 0x27c38530
or ecx, eax
mov eax, ecx
and eax, 0x8392bcfc
xor ecx, 0x8392bcfc
or eax, ecx
cmp eax, 0xcd979748
je 0x14001a2a9
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
mov eax, dword [0x1401dbcc0]
sub eax, dword [0x1401dbcc4]
imul r8d, eax, 0x7ca4febd
xor r8d, 0xa9c87f21
mov eax, r8d
xor eax, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
or eax, r9d
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x871fabab
or eax, r9d
mov r9d, 0xffffffff
xor r9d, 0x871fabab
mov r10d, 0xffffffff
xor r10d, 0x871fabab
or r9d, r10d
xor r8d, 0xffffffff
xor r9d, 0xffffffff
or r8d, r9d
and eax, r8d
mov r8d, 0x94f2f2bc
xor r8d, 0x6b0d0d43
xor eax, r8d
mov r8, rcx
add r8, 8
mov qword [rsp + 0x70], r8
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x78], rcx
mov r8, rdx
add r8, 8
mov qword [rsp + 0x80], r8
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x88], rdx
cmp rcx, rdx
sete cl
mov byte [rsp + 0x97], cl
cmp eax, 0x4ce41fc
je 0x140019cce
mov al, byte [rsp + 0x97]
test al, 1
jne 0x14001a2a0
jmp 0x140019db2
mov rax, qword [rsp + 0x88]
cmp rax, 0
je 0x140019e13
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x2b4d9fe0b20f1742
movabs r8, 0xd4b2601f4df0e8bd
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
je 0x140019f7b
mov ecx, dword [0x1401dbcc8]
mov edx, dword [0x1401dbccc]
xor edx, 0xe103cee9
mov r8d, 0xf294497d
xor r8d, 0xd6bb682
mov eax, ecx
xor eax, r8d
mov r8d, edx
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0xd768d975
xor r8d, 0x2897268a
xor ecx, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x92f870fa
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x92f870fa
or eax, 0x92f870fa
imul eax, edx
add eax, ecx
add eax, 0x2ee9240c
mov ecx, 0x68ee84e5
xor ecx, 0x42837b6d
and eax, ecx
mov ecx, 0x42aae5ce
xor ecx, 0x1ebba445
cmp eax, ecx
je 0x14001a2b2
mov rcx, qword [rsp + 0x78]
mov eax, dword [str._r_b]
sub eax, dword [0x1401dbcd4]
imul eax, eax, 0x4ab5b377
sub eax, 0x86f30f72
sub eax, 0xa1b90ee1
add eax, 0x86f30f72
imul eax, eax, 0xb5bf9e82
cmp rcx, 0
sete cl
mov byte [rsp + 0x6f], cl
cmp eax, 0xc8278047
ja 0x140019eaf
mov rax, qword [rsp + 0x88]
mov cl, byte [rsp + 0x6f]
test cl, 1
mov qword [rsp + 0x60], rax
jne 0x140019f53
jmp 0x140019f10
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x78]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov qword [rsp + 0x60], rax
jne 0x140019f53
mov rcx, qword [rsp + 0x78]
call fcn.14000e0f0
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x60]
mov r8, qword [r8]
mov qword [rdx], r8
mov qword [rax], rcx
jmp 0x14001a2a0
mov eax, dword [0x1401dbcd8]
xor eax, 0xdcae430d
mov ecx, dword [0x1401dbcdc]
xor ecx, 0x22a2be0b
imul eax, ecx
or eax, 0x56cfc445
mov ecx, 0xffffffff
xor ecx, 0xa7c497e4
mov edx, 0x3d753195
xor edx, 0x3d753195
mov r8d, 0x33f9f8b
xor r8d, 0x33f9f8a
sub edx, r8d
sub ecx, edx
sub eax, ecx
imul eax, eax, 0xbf8cb4f0
cmp eax, 0xc350642b
je 0x14001a2bb
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x1401dbce0]
xor eax, 0x123b9168
sub eax, dword [0x1401dbce4]
and eax, 0xf7d7ce0f
imul eax, eax, 0x619c731f
add eax, 0xf3adacbf
sub eax, 0xf0231c80
sub eax, 0xf3adacbf
cmp rcx, 0
sete cl
mov byte [rsp + 0x5f], cl
cmp eax, 0x517d6473
jae 0x140019fd5
mov al, byte [rsp + 0x5f]
test al, 1
jne 0x14001a0a6
jmp 0x14001a02c
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14001a0a6
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x50]
movabs r8, 0xbfffffffffffffff
and rdx, r8
mov rax, qword [rax]
cmp rdx, rax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
jge 0x14001a1ef
mov rcx, qword [rsp + 0x78]
call fcn.14000e0f0
mov rax, qword [rsp + 0x98]
mov rdx, qword [rax]
mov qword [rsp + 0x38], rdx
mov rax, rdx
and rax, 1
mov rcx, rdx
or rcx, 1
add rax, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r9, 0x829472131d180b2
movabs r8, 0xf7d6b8dece2e7f4d
xor r9, r8
mov r8, rdx
xor r8, r9
and rcx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and r8, r9
or rcx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x14001a13e
call fcn.1400067fe
jmp 0x14001a2a0
mov rdx, qword [rsp + 0x38]
movabs rcx, 0x83b7c8e261b7fa10
mov rax, rdx
sub rax, rcx
add rax, 9
movabs rcx, 0x83b7c8e261b7fa10
add rax, rcx
mov qword [rsp + 0x30], rax
mov rcx, 0xfffffffffffffffe
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14001a18a
call fcn.1400067fe
jmp 0x14001a2a0
mov rax, qword [rsp + 0x30]
movabs rcx, 0x2e5304c709a0720f
movabs rdx, 0x2e5304c709a0720f
xor rcx, rdx
cmp rax, rcx
jge 0x14001a1bf
mov rcx, r8
mov rdx, r8
call fcn.14000c499
jmp 0x14001a2a0
mov rcx, qword [rsp + 0x30]
call fcn.140009f36
mov rdx, qword [rsp + 0x70]
mov rcx, rax
mov rax, qword [rsp + 0x98]
mov qword [rdx], rcx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x20], r8
mov qword [rcx], rdx
mov rcx, qword [rax]
mov rdx, rcx
and rdx, 1
shl rdx, 1
mov rax, rcx
xor rax, 1
add rax, rdx
mov qword [rsp + 0x28], rax
movabs rdx, 0xa17aa613f43087bc
movabs r8, 0x5e8559ec0bcf7843
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14001a25f
call fcn.1400067fe
jmp 0x14001a2a0
mov rax, qword [rsp + 0x28]
cmp rax, 0
jge 0x14001a27e
mov rcx, r8
mov rdx, r8
call fcn.14000c499
jmp 0x14001a2a0
mov r8, qword [rsp + 0x28]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x20]
add rcx, 8
mov rdx, qword [rax]
add rdx, 8
call fcn.1400372c0
nop
add rsp, 0xa8
ret
pop rbx
loop 0x14001a311
invalid
movabs al, byte [0xfffffbf4e9e787d4]
invalid
sub esp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rcx
cmp rdx, 1
jge 0x14001a40f
mov ecx, dword [0x1401dbce8]
mov eax, 0x2ba6fe3e
xor eax, 0x3cc85821
xor ecx, eax
or ecx, dword [0x1401dbcec]
mov eax, ecx
and eax, 0xe1bf06ef
xor ecx, 0xe1bf06ef
or eax, ecx
mov ecx, 0xbe24d5d7
xor ecx, 0x2e576dd2
xor edx, edx
div ecx
mov ecx, 0x244a3092
xor edx, edx
div ecx
mov ecx, 0x975f571
xor ecx, 0x32b7855e
cmp eax, ecx
jae 0x14001a6b8
mov rcx, qword [rsp + 0x48]
mov edx, dword [0x1401dbcf0]
mov r8d, dword [0x1401dbcf4]
xor eax, eax
sub eax, edx
mov edx, 0x13cf22cb
xor edx, 0x13cf22cb
sub edx, r8d
add eax, edx
xor edx, edx
sub edx, eax
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0xf4400093
xor edx, 0xc8db5f62
mov r8d, 0x1c47cbe2
xor r8d, 0xe3b8341d
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x3c9b5ff1
or edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
and eax, 0x30694f02
and eax, 0x3d51d01f
mov qword [rcx], 0
mov qword [rcx + 8], 0
cmp eax, 0x709d8739
ja 0x14001a37f
jmp 0x14001a6ae
mov ecx, dword [0x1401dbcf8]
sub ecx, dword [0x1401dbcfc]
xor ecx, 0x86771556
mov eax, ecx
and eax, 0x24e4192f
or ecx, 0x24e4192f
add eax, ecx
mov ecx, 0xc9af3e5d
xor ecx, 0x8852308b
xor eax, ecx
mov ecx, 0x6c9f7d02
xor ecx, 0x133e5e7f
cmp eax, ecx
je 0x14001a6c1
mov eax, dword [0x1401dbd00]
xor eax, 0x1b1bc403
xor edx, edx
div dword [0x1401dbd04]
mov rdx, qword [rsp + 0x40]
mov ecx, 0xbe403709
xor ecx, 0x13551184
imul eax, ecx
sub eax, 0x7cf26e05
mov ecx, 0xd43116ef
xor ecx, 0xa604ab7
add eax, ecx
mov ecx, 0x3e579eb8
xor ecx, 0x42a5f0bd
add eax, ecx
mov ecx, 0x9c3ea63a
xor ecx, 0x63c159c5
mov r8d, eax
xor r8d, ecx
and r8d, 0x88f05b7d
mov r9d, 0xffffffff
xor r9d, 0x88f05b7d
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r9d, 0x4187259c
xor r9d, 0xc9777ee1
mov r8d, eax
and r8d, r9d
or eax, 0x88f05b7d
imul eax, r8d
add eax, ecx
mov rcx, rdx
add rcx, 1
xor rdx, 0xffffffffffffffff
or rcx, rcx
movabs r8, 0x1512132839d89161
movabs r9, 0xeaedecd7c6276e9e
xor r8, r9
xor rcx, r8
or rdx, rdx
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x93e7411e
je 0x14001a6c1
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x14001a542
jmp 0x14001a54c
call fcn.1400067fe
jmp 0x14001a6ae
mov rdx, qword [rsp + 0x40]
mov rax, rdx
add rax, 9
mov qword [rsp + 0x30], rax
movabs rcx, 0x605f92313a3a3fa1
movabs r8, 0x9fa06dcec5c5c05f
xor rcx, r8
movabs r8, 0x12c5171e4272c793
movabs r9, 0x516ac209ff55b9b5
xor r8, r9
add rcx, r8
sub rcx, rdx
movabs rdx, 0x4ae4f2f2e615a4d2
movabs r8, 0x94b27e55b32daf4
xor rdx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14001a5c2
call fcn.1400067fe
jmp 0x14001a6ae
mov rax, qword [rsp + 0x30]
cmp rax, 0
jge 0x14001a5e1
mov rcx, r8
mov rdx, r8
call fcn.14000c499
jmp 0x14001a6ae
mov ecx, dword [0x1401dbd08]
mov eax, dword [0x1401dbd0c]
xor eax, 0xb856762c
and ecx, eax
xor ecx, 0x90aba99b
mov eax, ecx
xor eax, 0xf87050c2
xor eax, 0xffffffff
or ecx, 0xf87050c2
and ecx, eax
mov eax, ecx
and eax, 0x955ee7ad
xor eax, 0xffffffff
mov edx, 0xa1f7bba
xor edx, 0x9f419c17
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0x637bf68f
xor edx, 0x9c840970
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x27c00792
jbe 0x14001a6ca
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x1401dbd10]
sub eax, dword [0x1401dbd14]
imul eax, eax, 0x5863960d
imul eax, eax, 0x5138c884
mov r8d, 0x3c142969
xor edx, edx
div r8d
mov dword [rsp + 0x2c], eax
mov eax, 0x45330862
xor eax, 0xf81b7308
mov dword [rsp + 0x28], eax
call fcn.140009f6e
mov r9, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x28]
mov r8, rax
mov eax, dword [rsp + 0x2c]
mov qword [r8], r9
mov qword [rdx], r9
mov qword [rdx + 8], r8
cmp eax, ecx
je 0x14001a643
jmp 0x14001a6ae
mov rax, qword [rsp + 0x50]
add rsp, 0x58
ret
test dword [rbx - 0x4116fda8], esi
cld
invalid
push rbp
fst qword [rax - 0x27916d4]
invalid
out dx, eax
push rsp
and cl, ch
jo 0x14001a6d0
invalid
invalid