Function at 0x140044610
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
call fcn.14003d810
mov rcx, qword [rsp + 0x58]
mov rax, rcx
add rax, 8
mov qword [rsp + 0x60], rax
mov rcx, qword [rcx]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x40], rcx
cmp rcx, rax
mov qword [rsp + 0x48], rax
je 0x140044847
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx]
mov r8b, byte [rcx + rax + 8]
mov byte [rsp + 0x3f], r8b
mov cl, 0xb4
xor cl, 0xb7
shr r8b, cl
mov cl, byte [rsp + 0x3f]
movzx r8d, r8b
movzx r8d, byte [rdx + r8]
and cl, 7
movzx ecx, cl
mov edx, 1
shl edx, cl
mov ecx, edx
mov edx, ecx
xor edx, r8d
xor edx, 0xffffffff
or ecx, r8d
and ecx, edx
cmp ecx, 0
mov qword [rsp + 0x48], rax
je 0x140044847
mov ecx, dword [0x1401d7070]
mov edx, dword [0x1401d7074]
mov eax, 0xee5411cf
xor eax, 0xcf68e9aa
xor edx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
and eax, r8d
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xcc96c0ae
xor ecx, 0x6b305c10
sub eax, ecx
mov ecx, 0x594a4a8f
xor ecx, 0xa6b5b570
mov edx, eax
xor edx, ecx
and edx, 0xef8719ad
mov r8d, 0x1fe6b83e
xor r8d, 0xf061a193
mov ecx, 0x53182211
xor ecx, 0xace7ddee
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xef8719ad
mov r8d, 0x2b90c1a3
xor r8d, 0xc417d80e
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xfe7f25f1
mov r8d, 0xffffffff
xor r8d, 0xfe7f25f1
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xfe7f25f1
or eax, 0xfe7f25f1
imul eax, edx
add eax, ecx
mov ecx, 0x94a256c9
xor ecx, 0x57e29d14
cmp eax, ecx
jae 0x1400449df
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x1401d7078]
mov edx, dword [0x1401d707c]
xor edx, 0x3459bee2
imul eax, edx
mov edx, 0xd6230e6c
xor edx, 0x17621f34
add eax, edx
mov edx, 0x2a7d1a27
xor edx, 0x52d3033
add eax, edx
sub eax, 0xc1411158
add eax, 0xf1e1dc2c
add eax, 0x99584c52
sub eax, 0xf1e1dc2c
mov r9d, 0xffffffff
xor r9d, 0x41a2fc0d
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0x8ef3cb5b
xor r9d, 0xcf513756
mov r8d, eax
and r8d, r9d
or eax, 0x41a2fc0d
imul eax, r8d
add eax, edx
add rcx, 1
mov qword [rsp + 0x30], rcx
cmp eax, 0xdc9f1f18
ja 0x14004479f
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
jmp 0x14004464f
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
movabs rcx, 0x90ed394f808faab0
movabs rdx, 0x90ed394f808faab0
xor rcx, rdx
cmp rax, rcx
je 0x1400449d7
mov ecx, dword [0x1401d7080]
mov eax, 0x3eeef231
xor eax, 0x45a4d1bb
xor ecx, eax
add ecx, dword [0x1401d7084]
mov eax, 0x4c7be97a
xor eax, 0xdb068b7a
xor ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xdd925840
xor r8d, 0x226da7bf
mov edx, ecx
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xc629911b
xor edx, 0xc67ad1dc
mov r8d, 0xbf2c4f4
xor r8d, 0xf40d3b0b
xor edx, r8d
or eax, edx
mov edx, 0xd77d1869
xor edx, 0xd72e58ae
mov r8d, 0x2722cce5
xor r8d, 0x27718c22
and edx, r8d
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x2bb26af4
mov edx, 0xffffffff
xor edx, 0x2bb26af4
and ecx, edx
or eax, ecx
mov ecx, 0x4be5f828
xor ecx, 0xb41a07d7
xor eax, ecx
mov ecx, 0xa00f254c
xor ecx, 0x2754daa1
cmp eax, ecx
je 0x1400449e8
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x28]
mov edx, dword [0x1401d7088]
xor edx, 0x793ff1a1
sub edx, dword [0x1401d708c]
mov r8d, 0x20d36b12
xor r8d, 0x7bb9e7d
add edx, r8d
or edx, 0x1f82eb91
add edx, 0x3217d83d
mov dword [rsp + 0x24], edx
movabs rdx, 0xc58fa19a871902da
movabs r8, 0xc58fa19a871902da
xor rdx, r8
movabs r8, 0x35502e36a670a2c7
movabs r9, 0xcaafd1c9598f5d38
xor r8, r9
sub rdx, r8
sub rax, rdx
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x80], rax
lea rdx, [rsp + 0x78]
call fcn.140043bb0
mov eax, dword [rsp + 0x24]
cmp eax, 0x84828743
jbe 0x140044938
jmp 0x1400449d7
add rsp, 0x88
ret
sal byte [rbx - 0x6d], cl
xchg ebx, eax
jmp 0x14004479f
push rcx
jl 0x140044a57
stc
jmp 0x140044938
mov byte [rsp + 0xb7], dl
mov qword [rsp + 0xa8], rcx
call fcn.14003d810
mov rcx, qword [rsp + 0xa8]
mov dl, byte [rsp + 0xb7]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xb8], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0xf0], xmm0
xor eax, eax
mov r8d, eax
lea rcx, [rsp + 0xf0]
mov r9, 0xffffffffffffffff
call fcn.14003f130
mov rcx, rax
mov rax, qword [rsp + 0xc0]
mov rdx, rcx
mov qword [rsp + 0xc8], rdx
mov al, byte [rax]
test al, al
sete al
test rcx, rcx
setns cl
and al, cl
test al, 1
jne 0x140044ae0
jmp 0x1400450e1
mov r8, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rax]
mov qword [rsp + 0xe0], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0xe8], rax
mov dl, 0xb2
xor dl, 0xd7
movabs r9, 0x3ab29db9806ac45
movabs rax, 0xfc54d62467f953ba
xor r9, rax
lea rcx, [rsp + 0xe0]
call fcn.14003f130
mov rcx, rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0xa0], rcx
cmp byte [rax], 0
jne 0x1400450e1
mov rax, qword [rsp + 0xa0]
cmp rax, 0xffffffffffffffff
jle 0x140044cd1
mov eax, dword [0x1401d7090]
xor eax, 0xf0060dc4
imul eax, dword [str._f_m_]
mov ecx, 0x535a2325
xor ecx, 0xea740804
imul eax, ecx
xor ecx, ecx
sub ecx, 0xfd924c60
add eax, ecx
or eax, 0xcbf4065a
mov ecx, 0xcb0e60a6
xor ecx, 0xbe91aa31
cmp eax, ecx
jbe 0x1400450ea
mov rdx, qword [rsp + 0xa0]
mov ecx, dword [0x1401d7098]
mov r8d, dword [0x1401d709c]
mov eax, 0x453a7358
xor eax, 0x453a7358
sub eax, r8d
add ecx, eax
mov eax, 0x121051c9
xor eax, 0x40ffb2b9
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
or eax, r8d
and eax, 0x5d04d30c
mov r8d, 0xfd10da88
xor r8d, 0x2ef2577
xor eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x5d04d30c
mov r9d, 0xffffffff
xor r9d, 0x5d04d30c
or r8d, r9d
and ecx, r8d
mov r8d, 0x4ae0b6be
xor r8d, 0xb51f4941
xor ecx, r8d
and eax, ecx
mov ecx, 0x1fb2dd64
xor ecx, 0xe04d229b
xor eax, ecx
mov ecx, 0x24eb51db
xor ecx, 0xbfd7a3b9
add eax, ecx
mov ecx, 0x68794217
xor ecx, 0xd605f294
movabs r8, 0xc8fc8c73752965a9
movabs r9, 0x3703738c8ad69a56
xor r8, r9
mov r9, rdx
and r9, r8
shl r9, 1
mov r8, rdx
xor r8, 0xffffffffffffffff
add r8, r9
mov qword [rsp + 0x90], r8
xor r8, rdx
cmp r8, 0
setl r8b
cmp rdx, 0
setne dl
and dl, r8b
mov byte [rsp + 0x9f], dl
cmp eax, ecx
jae 0x140044ba0
mov rax, qword [rsp + 0x90]
mov cl, byte [rsp + 0x9f]
test cl, 1
mov qword [rsp + 0x88], rax
jne 0x140044cc7
jmp 0x140044e25
call fcn.1400077a3
jmp 0x1400450e1
mov ecx, dword [0x1401d70a0]
mov edx, dword [0x1401d70a4]
or ecx, ecx
mov eax, 0x440ce148
xor eax, 0xbbf31eb7
xor ecx, eax
mov r8d, 0xb4033821
xor r8d, 0x4bfcc7de
mov eax, edx
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
add ecx, 0x97acca78
or ecx, 0xabdafae3
mov edx, 0xfea6264e
xor edx, 0x159d9b1
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x2b06bba4
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2b06bba4
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0xa65a16de
jbe 0x1400450f3
mov rcx, qword [rsp + 0xa8]
mov eax, dword [0x1401d70a8]
mov edx, 0xbbb855af
xor edx, 0xed8b518f
xor eax, edx
mov r8d, dword [0x1401d70ac]
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, r8d
add edx, eax
mov eax, 0xe9fd6280
xor eax, 0xe9fd6280
sub eax, edx
and eax, eax
mov edx, 0xa2b74949
xor edx, 0x5d48b6b6
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x7f1c8050
mov r8d, 0xffffffff
xor r8d, 0x7f1c8050
or edx, r8d
and eax, edx
xor eax, 0xffffffff
sub eax, 0xca08355e
mov r8d, 0xb7baa793
xor r8d, 0x4658e92c
mov edx, eax
xor edx, r8d
mov r8d, 0x9a0d7c6e
xor r8d, 0x6bef32d1
mov r9d, 0xdf088884
xor r9d, 0x20f7777b
xor r8d, r9d
and eax, r8d
shl eax, 1
sub eax, edx
mov rcx, qword [rcx]
add rcx, 0xffffffffffffffff
mov qword [rsp + 0x80], rcx
cmp eax, 0x4eecf0d9
jb 0x1400450f3
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x88], rax
jmp 0x140044e25
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x60], rax
add rcx, 8
mov qword [rsp + 0x68], rcx
mov rcx, rax
sub rcx, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
cmovl rcx, rax
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x50], rcx
cmp rcx, 0xffffffffffffffff
mov qword [rsp + 0x58], rax
jle 0x140045009
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xa8]
mov rcx, qword [rcx]
mov qword [rsp + 0x48], rcx
cmp rax, rcx
jl 0x140044f6a
mov eax, dword [0x1401d70b0]
mov ecx, dword [0x1401d70b4]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
add eax, 0xc25ffbbb
imul eax, eax, 0x2b073db2
mov ecx, 0xfed101b2
xor edx, edx
div ecx
cmp eax, 0xf1887a44
jae 0x1400450fc
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x1401d70b8]
mov edx, dword [0x1401d70bc]
add eax, 0xd445138d
add eax, edx
sub eax, 0xd445138d
xor edx, edx
sub edx, 0x27abd28
sub eax, edx
mov r8d, 0x3f2cd2bf
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x48]
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0x132a721c
mov r10d, 0xffffffff
xor r10d, 0x132a721c
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r10d, 0x29626033
xor r10d, 0x3a48122f
mov r9d, eax
and r9d, r10d
or eax, 0x132a721c
imul eax, r9d
add eax, r8d
mov dword [rsp + 0x44], eax
add rdx, 0xffffffffffffffff
call fcn.140013580
mov eax, dword [rsp + 0x44]
cmp eax, 0x847cf55c
jae 0x1400450fc
jmp 0x1400450e1
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx]
cmp byte [rcx + rax + 8], 0x30
mov qword [rsp + 0x58], rax
jne 0x140045009
mov rcx, qword [rsp + 0x50]
movabs rdx, 0x8e2ece7d56daca29
movabs rax, 0x71d13182a92535d6
xor rdx, rax
mov rax, rcx
add rax, rdx
mov r8, rax
xor r8, 0xffffffffffffffff
mov rdx, rcx
and rdx, r8
movabs r8, 0xa41e983b2f490654
movabs r9, 0x5be167c4d0b6f9ab
xor r8, r9
mov r9, rcx
xor r9, r8
mov r8, rax
and r8, r9
or rdx, r8
cmp rdx, 0
setl dl
cmp rcx, 0
setg cl
and cl, dl
test cl, 1
mov qword [rsp + 0x78], rax
jne 0x140044fff
jmp 0x140044e5f
call fcn.1400077a3
jmp 0x1400450e1
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x30], rax
cmp rcx, rax
mov qword [rsp + 0x38], rax
jge 0x14004509a
mov rdx, qword [rsp + 0x30]
movabs rcx, 0x8c04b9815d29ff4e
movabs rax, 0x8c04b9815d29ff4f
xor rcx, rax
mov rax, rdx
add rax, rcx
mov r8, rdx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs rcx, 0xb9bb5d6f854113a4
movabs r9, 0x4644a2907abeec5b
xor rcx, r9
and rcx, r8
shl rcx, 1
sub rcx, 0xffffffffffffffff
sub rdx, rcx
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x38], rax
jge 0x14004509a
call fcn.1400077a3
jmp 0x1400450e1
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jg 0x1400450e1
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x28]
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xd8], rax
lea rdx, [rsp + 0xd0]
call fcn.140043bb0
nop
add rsp, 0x108
ret
mov rsp, qword [r15 - 0x552161f]
invalid
add edi, dword [rax + riz*2 - 0x1d]
jmp 0x140044d52
xor al, 0xdc
wait
jmp 0x140044ece