Function at 0x140154f30
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0x98], rcx
mov rax, qword [rcx + 8]
mov qword [rsp + 0xa0], rax
cmp rax, 0
je 0x1401550c6
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs rdx, 0x969377276831ded1
movabs r8, 0x696c88d897ce212e
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x1401550c6
mov eax, dword [0x1401d0b18]
xor eax, 0xba8e0501
mov ecx, dword [0x1401d0b1c]
mov edx, 0x399f922c
xor edx, 0x9b047c8c
xor ecx, edx
xor edx, edx
div ecx
sub eax, 0xc07d30e2
mov ecx, 0xffffffff
xor ecx, 0x5abaad9b
add eax, ecx
add eax, 1
mov ecx, 0xffffffff
xor ecx, 0x3ce3990b
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
cmp eax, 0x72cb755b
ja 0x14015577b
mov rcx, qword [rsp + 0xa0]
mov edx, dword [0x1401d0b20]
mov r8d, dword [0x1401d0b24]
mov eax, 0xee86de73
xor eax, 0x12ce7eae
xor r8d, eax
mov r9d, edx
xor r9d, 0xffffffff
mov eax, r8d
and eax, r9d
xor r8d, 0xffffffff
and edx, r8d
or eax, edx
imul edx, eax, 0x654ba293
mov r9d, 0xffffffff
xor r9d, 0x23918eed
mov r8d, edx
and r8d, r9d
mov eax, edx
or eax, r9d
xor eax, 0xffffffff
imul eax, r8d
mov r8d, edx
and r8d, 0x23918eed
mov r9d, 0x4eb7c44c
xor r9d, 0x6d264aa1
or edx, r9d
imul edx, r8d
add edx, eax
mov eax, edx
xor eax, 0xffffffff
and eax, 0x4f0f5127
mov r8d, 0xffffffff
xor r8d, 0x4f0f5127
and edx, r8d
or eax, edx
mov dword [rsp + 0x94], eax
call fcn.14000e572
mov eax, dword [rsp + 0x94]
cmp eax, 0x1517da32
je 0x14015577b
jmp 0x1401550c6
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x88], rax
cmp rax, 0
je 0x140155167
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x1eaaa24c72331bde
movabs rdx, 0x5eaaa24c72331bde
xor rcx, rdx
movabs rdx, 0x4a2a633303c4359d
movabs r8, 0xb5d59cccfc3bca62
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
and rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x140155167
mov rcx, qword [rsp + 0x88]
call fcn.14000e572
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x80], rax
cmp rax, 0
je 0x1401551b1
mov rcx, qword [rsp + 0x80]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401551b1
mov rcx, qword [rsp + 0x80]
call fcn.14000e572
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x78], rax
cmp rax, 0
je 0x1401551f2
mov rcx, qword [rsp + 0x78]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401551f2
mov rcx, qword [rsp + 0x78]
call fcn.14000e572
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x70], rax
cmp rax, 0
je 0x1401553f3
mov eax, dword [0x1401d0b28]
imul eax, dword [0x1401d0b2c]
xor eax, 0xaf51a391
mov ecx, 0xce35b5b7
xor ecx, 0x17648ec3
or eax, ecx
mov ecx, 0x9ee97b0a
xor ecx, 0x1c21b1eb
add eax, ecx
cmp eax, 0x20a3985
jb 0x140155784
mov eax, dword [0x1401d0b30]
add eax, dword [0x1401d0b34]
mov ecx, 0x65822ce8
xor ecx, 0xc2b939e7
imul eax, ecx
xor eax, 0x9ba7c7ba
mov ecx, 0xc52dedbd
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x70]
mov ecx, 0x1c5f7118
xor ecx, 0xe4891237
mov rdx, qword [rdx]
movabs r9, 0xeca6f8fa012713f6
movabs r8, 0xeca6f8fa012713f7
xor r9, r8
mov r8, rdx
add r8, r9
movabs r9, 0xc5df5acb024e92b6
movabs r10, 0x3a20a534fdb16d49
xor r9, r10
xor rdx, r9
movabs r9, 0x4000000000000000
or rdx, r9
add rdx, r8
movabs r8, 0x8cbf8903a12c1fbe
movabs r9, 0x8cbf8903a12c1fbe
xor r8, r9
cmp rdx, r8
sete dl
mov byte [rsp + 0x6f], dl
cmp eax, ecx
je 0x140155784
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x140155300
jmp 0x1401553f3
mov eax, dword [0x1401d0b38]
mov r8d, dword [0x1401d0b3c]
mov edx, 0xac2d00fb
xor edx, 0x53d2ff04
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
imul eax, eax, 0x43dc04c3
mov ecx, 0x51e4050f
xor edx, edx
div ecx
imul eax, eax, 0x2b3bac62
mov ecx, 0xf708a568
xor ecx, 0x6814fca2
cmp eax, ecx
ja 0x14015578d
mov rcx, qword [rsp + 0x70]
mov edx, dword [0x1401d0b40]
xor edx, 0x8b06151b
mov r8d, dword [0x1401d0b44]
mov eax, edx
and eax, r8d
shl eax, 1
xor edx, r8d
add edx, eax
xor edx, 0x8cb09f74
mov eax, edx
and eax, 0x30f7534a
mov r8d, 0xb984a9d8
xor r8d, 0x467b5627
xor eax, r8d
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x30f7534a
or edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
sub eax, 0xe031a808
mov dword [rsp + 0x68], eax
mov eax, 0x424f7b40
xor eax, 0x3fc59002
mov dword [rsp + 0x64], eax
call fcn.14000e572
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x68]
cmp eax, ecx
jae 0x140155365
jmp 0x1401553f3
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x70]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x1401554b7
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
movabs rdx, 0x4df60a6853b4db4
movabs rax, 0xfb209f597ac4b24b
xor rdx, rax
mov rax, rcx
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
movabs rdx, 0x26c1d65e254bc16f
movabs r8, 0x66c1d65e254bc16f
xor rdx, r8
movabs r8, 0x8a3a34070130ad3
movabs r9, 0xf75c5cbf8fecf52c
xor r8, r9
xor rdx, r8
and rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x270812e8abdde212
movabs r8, 0xd8f7ed1754221ded
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1401554b7
mov rcx, qword [rsp + 0x58]
call fcn.14000e572
mov eax, dword [0x1401d0b48]
mov edx, dword [0x1401d0b4c]
mov r8d, eax
xor r8d, edx
mov ecx, 0xab61388b
xor ecx, 0x549ec774
xor r8d, ecx
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
add eax, 0xa6aba513
or eax, 0x470f2e45
or eax, 0x2c476443
cmp eax, 0x4042bd1
jb 0x140155796
mov rcx, qword [rsp + 0x98]
mov eax, dword [0x1401d0b50]
xor eax, 0xe70a36a7
xor eax, dword [0x1401d0b54]
or eax, 0xf46a9ea0
mov r8d, 0x64c5a0c9
xor r8d, 0x5d2d01f5
xor edx, edx
div r8d
or eax, 0x62d1a0e4
mov rcx, qword [rcx + 0x88]
mov qword [rsp + 0x48], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x57], cl
cmp eax, 0x9636d4f2
jae 0x1401554fd
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14015558b
jmp 0x140155565
mov rcx, qword [rsp + 0x48]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14015558b
mov rcx, qword [rsp + 0x48]
call fcn.14000e572
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0xa0]
mov qword [rsp + 0x40], rax
cmp rax, 0
je 0x1401556a8
mov eax, dword [0x1401d0b58]
and eax, dword [0x1401d0b5c]
sub eax, 0x121d49ae
sub eax, 0x8bb6149d
mov ecx, 0x4ca2e83c
xor ecx, 0x4ca2e83c
mov edx, 0xe4bd2ca2
xor edx, 0x6bce7309
sub ecx, edx
sub eax, ecx
mov ecx, 0x616abe47
xor ecx, 0xb94ec617
cmp eax, ecx
ja 0x14015579f
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x1401d0b60]
mov edx, dword [0x1401d0b64]
xor edx, 0x78347779
add eax, edx
mov r8d, 0x3d3ae752
xor r8d, 0x2cde11fb
mov edx, eax
xor edx, r8d
mov r8d, 0xb058cf58
xor r8d, 0x4fa730a7
xor edx, r8d
mov r8d, 0x9823146d
xor r8d, 0x89c7e2c4
or eax, r8d
and eax, edx
imul eax, eax, 0x7986eefe
add eax, 0x4ff0a5df
mov rcx, qword [rcx]
movabs rdx, 0x6f7cc1bfd7ebe61b
movabs r8, 0x2f7cc1bfd7ebe61b
xor rdx, r8
and rcx, rdx
movabs rdx, 0xd7aaf31bf64fa2f1
movabs r8, 0xd7aaf31bf64fa2f1
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xf7278ab5
jae 0x1401555ec
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x14015569e
jmp 0x1401556a8
mov rcx, qword [rsp + 0x40]
call fcn.14000e572
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0xb8]
mov qword [rsp + 0x30], rax
cmp rax, 0
je 0x1401556ec
mov rcx, qword [rsp + 0x30]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401556ec
mov rcx, qword [rsp + 0x30]
call fcn.14000e572
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0xd0]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x140155772
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax]
movabs rdx, 0x4000000000000000
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x26a7d9411c793ff1
movabs r8, 0xd95826bee386c00e
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
add byte [rax + 0x4c], al
xor edx, eax
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x140155772
mov rcx, qword [rsp + 0x28]
mov ecx, dword [rsp + 0x28]
call fcn.14000e572
nop
add rsp, 0xa8
ret
or eax, 0xe97d3e10
jge 0x140155769
xchg al, bh
invalid
push rbp
js 0x14015574f
imul ecx
mov bh, 0xfa
invalid
invalid
jle 0x14015577d
mov ch, 0x4c
jmp 0x1401554fd
invalid