Function at 0x140153890
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 0x1401538e1
mov rcx, qword [rsp + 0xa0]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401538e1
mov rcx, qword [rsp + 0xa0]
call fcn.14000e572
mov eax, dword [0x1401d0a20]
xor eax, 0x45e40e8e
xor edx, edx
div dword [0x1401d0a24]
mov ecx, eax
and ecx, 0x4a0c6ffd
or ecx, 0xde5d98c9
mov eax, ecx
or eax, eax
mov edx, 0x4ea06b47
xor edx, 0xb15f94b8
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xdd052bf4
mov r8d, 0xffffffff
xor r8d, 0xdd052bf4
and edx, r8d
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdd052bf4
and ecx, edx
or eax, ecx
mov ecx, 0xcee4823e
xor ecx, 0x311b7dc1
xor eax, ecx
cmp eax, 0x7aebe84f
ja 0x1401540ad
mov rcx, qword [rsp + 0x98]
mov eax, dword [0x1401d0a28]
xor eax, dword [0x1401d0a2c]
mov r8d, 0x1af14025
xor r8d, 0x851c07fc
xor edx, edx
div r8d
and eax, 0x7ec8613d
mov edx, 0xdfbccdad
xor edx, 0xa6878d4c
xor eax, edx
mov rcx, qword [rcx + 0x18]
mov qword [rsp + 0x88], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x97], cl
cmp eax, 0xc75dbeee
jae 0x14015395d
mov al, byte [rsp + 0x97]
test al, 1
jne 0x140153a0a
jmp 0x1401539ce
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
movabs rcx, 0x86df4e9208f2badf
movabs rdx, 0xc6df4e9208f2badf
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x140153a0a
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 0x140153a7a
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
movabs rcx, 0xf7b8af094bc3e375
movabs rdx, 0xb7b8af094bc3e375
xor rcx, rdx
and rax, rcx
movabs rcx, 0x5e672f413046e9fa
movabs rdx, 0x5e672f413046e9fa
xor rcx, rdx
cmp rax, rcx
jne 0x140153a7a
mov rcx, qword [rsp + 0x80]
call fcn.14000e572
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x78], rax
cmp rax, 0
je 0x140153acb
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
movabs rcx, 0xc1be533aa29059a2
movabs rdx, 0x81be533aa29059a2
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x140153acb
mov rcx, qword [rsp + 0x78]
call fcn.14000e572
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x48]
mov qword [rsp + 0x70], rax
cmp rax, 0
je 0x140153b0c
mov rcx, qword [rsp + 0x70]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140153b0c
mov rcx, qword [rsp + 0x70]
call fcn.14000e572
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x68], rax
cmp rax, 0
je 0x140153c64
mov rcx, qword [rsp + 0x68]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140153c64
mov edx, dword [0x1401d0a30]
mov ecx, dword [0x1401d0a34]
mov r8d, edx
xor r8d, 0xffffffff
and r8d, 0xf8d6632f
mov r9d, 0xffffffff
xor r9d, 0xf8d6632f
and edx, r9d
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xf8d6632f
and ecx, r9d
or r8d, edx
or eax, ecx
xor r8d, eax
or r8d, 0x2d49c222
mov eax, 0x22314e73
xor eax, 0x8d91882
or r8d, eax
mov eax, 0x28f1776b
xor eax, 0xd70e8894
mov ecx, r8d
xor ecx, eax
mov eax, 0x85f0b14a
xor eax, 0x9a3f4d43
and eax, ecx
mov edx, 0xffffffff
xor edx, 0x1fcffc09
and r8d, edx
mov ecx, 0x6b81706c
xor ecx, 0xd5cccb5
mov r9d, 0xc5396e01
xor r9d, 0x3ac691fe
xor ecx, r9d
and ecx, 0x1fcffc09
and edx, 0x66ddbcd9
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x4904aac2
jbe 0x1401540b6
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x1401d0a38]
mov edx, dword [0x1401d0a3c]
mov r8d, 0x8bef7b76
xor r8d, 0xa454f1a0
xor edx, r8d
imul eax, edx
mov r8d, 0x72ce2eb1
xor r8d, 0x2d59fd04
xor edx, edx
div r8d
mov r8d, 0x85743175
xor edx, edx
div r8d
mov edx, 0xa835ee1f
xor edx, 0x618b4259
imul eax, edx
mov dword [rsp + 0x64], eax
call fcn.14000e572
mov eax, dword [rsp + 0x64]
cmp eax, 0x81d69e32
ja 0x1401540b6
jmp 0x140153c64
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x140153dc4
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x1793369caaa8ab58
movabs r8, 0x5793369caaa8ab58
xor rdx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140153dc4
mov eax, dword [0x1401d0a40]
xor eax, 0xf6408142
mov edx, dword [0x1401d0a44]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov ecx, 0x3b003bda
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xc30bcad3
or ecx, 0xc30bcad3
add eax, ecx
mov ecx, eax
and ecx, 0x41d5f70e
shl ecx, 1
xor eax, 0x41d5f70e
add eax, ecx
cmp eax, 0xa54d5e8f
je 0x1401540bf
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1401d0a48]
xor eax, 0x32ccbdd0
mov r8d, dword [0x1401d0a4c]
mov edx, eax
xor edx, r8d
mov r9d, 0xe5138a20
xor r9d, 0x1aec75df
xor r8d, r9d
and eax, r8d
shl eax, 1
sub eax, edx
mov r8d, 0x4df357b2
xor edx, edx
div r8d
mov edx, eax
mov r9d, 0x300ac6f1
xor r9d, 0x9a60a67
mov eax, 0x6c3536fd
xor eax, 0x93cac902
xor r9d, eax
mov r8d, edx
and r8d, r9d
mov eax, edx
or eax, r9d
xor eax, 0xffffffff
imul eax, r8d
mov r8d, edx
and r8d, 0x39accc96
or edx, 0x39accc96
imul edx, r8d
add edx, eax
mov r8d, 0xffffffff
xor r8d, 0x85cdbe3b
mov eax, edx
xor eax, r8d
and eax, edx
mov dword [rsp + 0x54], eax
call fcn.14000e572
mov eax, dword [rsp + 0x54]
cmp eax, 0x340fd17d
je 0x140153d10
jmp 0x140153dc4
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x78]
mov qword [rsp + 0x48], rax
cmp rax, 0
je 0x140153e05
mov rcx, qword [rsp + 0x48]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140153e05
mov rcx, qword [rsp + 0x48]
call fcn.14000e572
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x88]
mov qword [rsp + 0x40], rax
cmp rax, 0
je 0x140153e5f
mov rcx, qword [rsp + 0x40]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x2539476ad3bcba25
movabs rdx, 0x2539476ad3bcba25
xor rcx, rdx
cmp rax, rcx
jne 0x140153e5f
mov rcx, qword [rsp + 0x40]
call fcn.14000e572
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x98]
mov qword [rsp + 0x38], rax
cmp rax, 0
je 0x140153f7c
mov eax, dword [0x1401d0a50]
mov edx, dword [0x1401d0a54]
xor edx, 0x20272dfb
mov ecx, edx
and ecx, eax
mov r8d, 0x2d844f77
xor r8d, 0xd27bb088
xor ecx, r8d
add eax, edx
mov edx, 0xce256240
xor edx, 0xce256241
add eax, edx
add eax, ecx
and eax, 0xffb36b6c
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xdcee000a
mov edx, 0xffffffff
xor edx, 0x4042bd1
or eax, ecx
mov ecx, 0xa7ca04d0
xor ecx, 0xa3ce2f01
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
imul eax, eax, 0xb20f17fa
cmp eax, 0xe91b2dfe
ja 0x1401540c8
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1401d0a58]
xor edx, edx
div dword [0x1401d0a5c]
sub eax, 0xc07d30e2
sub eax, 0x5abaad9b
mov edx, 0xa39f6d99
xor edx, 0xa39f6d99
sub edx, eax
xor eax, eax
sub eax, 0x3ce3990b
add edx, eax
xor eax, eax
sub eax, edx
mov rcx, qword [rcx]
movabs rdx, 0x82d72bc698199ef2
movabs r8, 0xc2d72bc698199ef2
xor rdx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0x72cb755b
ja 0x1401540c8
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140153f72
jmp 0x140153f7c
mov rcx, qword [rsp + 0x38]
call fcn.14000e572
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0xa8]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x140154023
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
movabs rcx, 0xf856b4afa30600ec
movabs rdx, 0xb856b4afa30600ec
xor rcx, rdx
movabs rdx, 0xfaf97430afbfe671
movabs r8, 0x5068bcf5040198e
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0xae764fe710818d32
xor rdx, r8
or rax, rcx
movabs rcx, 0xe36b3742e666f0b7
movabs r8, 0x4d1d78a5f6e77d85
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x140154023
mov rcx, qword [rsp + 0x28]
call fcn.14000e572
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0xb8]
mov qword [rsp + 0x20], rax
cmp rax, 0
je 0x1401540a4
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
movabs rdx, 0x8de4c7f53e89ec22
movabs rcx, 0xcde4c7f53e89ec22
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x89c13f68d597dfee
movabs r8, 0x763ec0972a682011
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x1401540a4
mov rcx, qword [rsp + 0x20]
call fcn.14000e572
nop
add rsp, 0xa8
ret
xor dword [rbp - 0x5816a1d0], edi
clc
invalid
movsd dword [rdi], dword [rsi]
call [rbp - 0x4c6169a]
invalid
adc dh, dh
invalid
cmp dword [rdx + 0x26e90394], 0x55fffffe
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov qword [rbp - 0x18], rcx
push 0x10
pop rax
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 8], rax
cmp rax, 0
je 0x14015412f
mov rcx, qword [rbp - 8]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14015412f
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.14000e572
add rsp, 0x20
mov rax, qword [rbp - 0x18]
mov rax, qword [rax + 0x18]
mov qword [rbp - 0x20], rax
cmp rax, 0
je 0x140154187
mov rcx, qword [rbp - 0x20]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0xfc73e37e28a36fc0
movabs rdx, 0xfc73e37e28a36fc0
xor rcx, rdx
cmp rax, rcx
jne 0x140154187
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14000e572
add rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x18]
mov rdx, qword [rax + 0x20]
mov qword [rcx], rdx
mov rax, qword [rax + 0x28]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400223fe
nop
mov rsp, rbp
pop rbp
ret