Function at 0x1400660e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xd8
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rcx
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rdx, qword [rsp + 0xc0]
add rax, 0x60
mov qword [rsp + 0xc8], rax
mov rax, qword [rdx]
mov qword [rsp + 0xd0], rax
movabs rcx, 0xcdf448b0c478b6fe
movabs rdx, 0xcdf448b0c478b6fe
xor rcx, rdx
cmp rax, rcx
jge 0x1400662cc
mov ecx, dword [0x140275200]
mov eax, 0x99c308d4
xor eax, 0x16b84fc8
xor ecx, eax
mov edx, dword [0x140275204]
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0xf2723c04
xor r9d, 0xd8dc3fb
mov r8d, ecx
xor r8d, r9d
and eax, r8d
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, edx
xor r9d, 0xffffffff
and r8d, r9d
mov r9d, 0x50a24c07
xor r9d, 0xaf5db3f8
xor eax, r9d
xor r8d, 0xffffffff
and eax, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x7bc5cb7d
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x7bc5cb7d
or eax, 0x7bc5cb7d
imul eax, edx
add eax, ecx
mov ecx, 0xcf94ecf7
xor ecx, 0xccebc71
imul eax, ecx
mov ecx, 0x896484f7
xor ecx, 0x896484f7
mov edx, 0x8695b4c6
xor edx, 0xde5e32ca
sub ecx, edx
add eax, ecx
cmp eax, 0x5284c41a
jb 0x140066921
mov rcx, qword [rsp + 0xd0]
mov eax, dword [0x140275208]
xor edx, edx
div dword [0x14027520c]
mov r8d, 0x6a93a10e
xor edx, edx
div r8d
mov r8d, 0x4171c217
xor edx, edx
div r8d
xor edx, edx
sub edx, eax
mov eax, 0x78085c8b
xor eax, 0x78085c8b
mov r8d, 0x15a90b8b
xor r8d, 0x68b1956d
sub eax, r8d
add edx, eax
xor eax, eax
sub eax, edx
mov dword [rsp + 0xac], eax
mov eax, 0xa81e4891
xor eax, 0x4773ac45
mov dword [rsp + 0xa8], eax
movabs rdx, 0xe07ab5a197f6941b
movabs rax, 0xe07ab5a197f6941b
xor rdx, rax
movabs r8, 0xd71208ed0d5a5c45
movabs rax, 0xa8edf712f2a5a3ba
xor r8, rax
call fcn.14001a720
mov ecx, dword [rsp + 0xa8]
mov eax, dword [rsp + 0xac]
cmp eax, ecx
jae 0x140066216
jmp 0x140066911
mov eax, dword [0x140275210]
add eax, dword [0x140275214]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x76508371
mov edx, 0xffffffff
xor edx, 0x76508371
and eax, edx
or ecx, eax
mov edx, 0xffffffff
xor edx, 0x3a25a080
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x914e2446
xor ecx, 0xda13ff99
or eax, ecx
cmp eax, 0xa54683f
jb 0x14006692a
mov rcx, qword [rsp + 0xb0]
mov eax, dword [0x140275218]
mov edx, dword [0x14027521c]
mov r8d, 0xb1ad7e8f
xor r8d, 0x9cb048d2
xor edx, r8d
or eax, edx
mov edx, eax
and edx, 0x6fb7218b
shl edx, 1
mov r8d, 0x408d3353
xor r8d, 0x2f3a12d8
xor eax, r8d
add eax, edx
mov edx, 0xc07da6a8
xor edx, 0x5db584b
add eax, edx
mov r8d, 0x4df7eb57
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xd0]
mov dword [rsp + 0x8c], eax
mov eax, 0xf68b102b
xor eax, 0xcd66d2ac
mov dword [rsp + 0x88], eax
call fcn.140034600
mov rdx, qword [rsp + 0xc0]
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x8c]
mov r8, qword [rdx]
mov qword [rsp + 0x90], r8
movabs r9, 0x663fee9840daa554
mov rdx, r8
add rdx, r9
add rdx, 0xffffffffffffffff
movabs r9, 0x6800515ead3db14
movabs r10, 0x60bfeb8daa097e40
xor r9, r10
sub rdx, r9
mov qword [rsp + 0x98], rdx
mov r10, rdx
xor r10, r8
movabs r9, 0x479bbd39cf14d05f
movabs r11, 0xb86442c630eb2fa0
xor r9, r11
xor r10, r9
mov r9, r8
and r9, r10
shl r9, 1
sub r9, r8
mov r8, rdx
sub r8, r9
cmp r8, 0
setl r8b
movabs r9, 0xaa6d49c608dc3fb0
movabs r10, 0x5592b639f723c04f
xor r9, r10
cmp rdx, r9
setg dl
and dl, r8b
mov byte [rsp + 0xa7], dl
cmp eax, ecx
ja 0x14006631b
mov al, byte [rsp + 0xa7]
test al, 1
jne 0x1400664c9
jmp 0x140066470
mov rax, qword [rsp + 0x98]
movabs rcx, 0x8f8185c7a7463fac
movabs rdx, 0x8f8185c7a7463fac
xor rcx, rdx
cmp rax, rcx
jl 0x140066911
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb0]
add rcx, 8
mov qword [rsp + 0x70], rcx
add rax, 8
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x1400664d3
call fcn.14000f24b
jmp 0x140066911
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x68], rax
mov ecx, dword [0x140275220]
mov edx, dword [0x140275224]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
and eax, 0x5a295e84
mov ecx, 0x972e9104
xor ecx, 0x473fc6da
xor edx, edx
div ecx
mov ecx, 0x9a97b22f
xor edx, edx
div ecx
mov ecx, 0x969e33dd
xor ecx, 0xf3597d07
cmp eax, ecx
ja 0x140066933
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x140275228]
xor eax, 0x1ddf1a9
mov r9d, dword [0x14027522c]
mov edx, eax
xor edx, 0xffffffff
mov r8d, r9d
and r8d, edx
mov r10d, r9d
xor r10d, 0xffffffff
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0x9af9229c
xor r8d, 0x87c6006d
xor edx, edx
div r8d
mov r8d, 0xad4a48fd
xor r8d, 0xf159c646
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xb0]
imul eax, eax, 0x19e20f83
mov rdx, qword [rdx]
mov qword [rsp + 0x58], rdx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x67], cl
cmp eax, 0x5b41a8eb
jae 0x140066933
mov al, byte [rsp + 0x67]
test al, 1
jne 0x1400666dc
jmp 0x1400665c5
mov eax, dword [0x140275230]
xor eax, 0xce155ee
mov ecx, dword [0x140275234]
xor ecx, 0xa77a12ac
sub eax, ecx
sub eax, 0xb11e2af1
add eax, 0xed568faa
mov ecx, 0xaa09bb99
xor ecx, 0x1b179168
add eax, ecx
add eax, 0x47b2b70e
add eax, 0xcc9f9129
sub eax, 0x47b2b70e
sub eax, 0x7cf745de
mov ecx, 0x89c7873a
xor ecx, 0xc2fa5057
cmp eax, ecx
jbe 0x14006693c
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
mov eax, dword [0x140275238]
mov r9d, dword [0x14027523c]
mov r8d, eax
and r8d, r9d
xor r8d, 0xffffffff
and eax, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
mov r9d, 0xd0129896
xor r9d, 0x2fed6769
xor eax, r9d
or r8d, eax
add r8d, 0x644e07a6
mov eax, 0xe48b602a
xor eax, 0xe06310f3
sub r8d, eax
sub r8d, 0x644e07a6
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, 0x41b5bf55
xor eax, 0xea653840
and eax, r9d
mov r9d, 0xffffffff
xor r9d, 0xabd08715
and r8d, r9d
or eax, r8d
mov r8d, 0x5668ce9d
xor r8d, 0xc61157af
and eax, r8d
mov dword [rsp + 0x54], eax
mov eax, 0xc7799917
xor eax, 0xe31cb064
mov dword [rsp + 0x50], eax
add rdx, 0xffffffffffffffff
call fcn.1400292ad
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x54]
cmp eax, ecx
je 0x14006661c
jmp 0x140066911
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
cmp rax, 0
je 0x140066755
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0x2e01b23a3f1bb797
xor rcx, r8
or rax, rdx
movabs rdx, 0x2e01b23a3f1bb797
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
je 0x140066755
mov rcx, qword [rsp + 0xb0]
call fcn.14002bae0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xc0]
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
cmp rax, rcx
jl 0x14006678b
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffff
call fcn.1400292ad
jmp 0x140066911
mov rax, qword [rsp + 0xc8]
mov al, byte [rax]
mov cl, 0x30
xor cl, 0x30
cmp al, cl
jne 0x140066911
mov ecx, dword [0x140275240]
xor ecx, dword [0x140275244]
mov eax, ecx
and eax, 0x14a77ba8
xor eax, 0xffffffff
mov edx, 0x6aa57140
xor edx, 0x7e020ae8
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xbd806c38
xor ecx, 0xae21ff4a
mov edx, eax
and edx, ecx
mov ecx, 0xf05dd2d9
xor ecx, 0xf05dd2db
imul ecx, edx
add eax, 0x13a19372
sub eax, ecx
and eax, 0x8b048cda
cmp eax, 0x8e0660a1
je 0x140066945
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x140275248]
or eax, dword [0x14027524c]
mov r8d, 0x8d9cc85d
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x78]
mov r9d, 0xb82b4401
xor r9d, 0x5b3e4adb
mov r8d, edx
and r8d, r9d
shl r8d, 1
xor edx, 0xe3150eda
add edx, r8d
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, 0x2d65b562
xor r9d, 0x71c67837
and r8d, r9d
mov r9d, 0x52dda899
xor r9d, 0xe7e65cc
mov r10d, 0xe2d657ef
xor r10d, 0x1d29a810
xor r9d, r10d
and edx, r9d
sub edx, r8d
mov dword [rsp + 0x38], edx
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rsp + 0x3e], al
mov cl, al
add cl, 0x9f
mov dl, 0xde
xor dl, 0xfe
xor al, dl
cmp cl, 0x1a
mov byte [rsp + 0x3f], al
jb 0x1400668b1
mov al, byte [rsp + 0x3e]
mov byte [rsp + 0x3f], al
mov eax, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
and al, 0x70
mov r9b, byte [rsp + 0x3f]
mov r8, qword [r8]
mov byte [r8 + rcx + 8], r9b
add rcx, 1
mov qword [rsp + 0x28], rcx
cmp rcx, rdx
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0xf5b43261
jae 0x140066945
mov rax, qword [rsp + 0x28]
mov cl, byte [rsp + 0x37]
test cl, 1
mov qword [rsp + 0x80], rax
jne 0x140066911
jmp 0x1400664d3
mov rax, qword [rsp + 0xb8]
add rsp, 0xd8
ret
jae 0x1400668c5
jl 0x140066960
jmp 0x140066216
invalid
sbb al, 0x40
invalid
add edx, dword [rcx + rdx*2 - 0x32816fa]
invalid
invalid