Function at 0x140217540
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xd0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], rcx
mov eax, 0x10
mov qword [rbp + 0x10], rax
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x10]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
add rax, 0x60
mov qword [rbp + 0x30], rax
mov rax, qword [rcx]
mov qword [rbp + 0x38], rax
cmp rax, 0
je 0x1402176c6
mov rax, qword [rbp + 0x38]
movabs rcx, 0xc2650aecacca8998
movabs rdx, 0x3d9af51353357668
xor rcx, rdx
add rax, rcx
mov qword [rbp], rax
mov rax, qword [rax]
mov qword [rbp + 8], rax
cmp rax, 0x10
jb 0x14021768f
mov rdx, qword [rbp + 8]
movabs rcx, 0x2166f28fee8cf18
mov rax, rdx
add rax, rcx
add rax, 0xfffffffffffffff0
movabs rcx, 0x57fa51f84e0bd837
movabs r8, 0x55ec3ed0b0e3172f
xor rcx, r8
sub rax, rcx
mov qword [rbp - 8], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov al, cl
xor al, 0xff
xor r8d, r8d
mov r9b, r8b
xor r9b, 1
mov r8b, dl
xor r8b, r9b
or al, r8b
mov r8b, 1
xor r8b, 0
xor cl, r8b
mov r8b, 1
xor r8b, 0
xor dl, r8b
or cl, dl
and al, cl
xor al, 0xff
test al, 1
jne 0x14021766d
jmp 0x14021767f
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x1402176c6
mov rax, qword [rbp]
mov rcx, qword [rbp - 8]
mov qword [rax], rcx
jmp 0x1402176c6
mov rcx, qword [rbp + 0x38]
sub rsp, 0x20
call fcn.1400bb296
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140217db7
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax]
mov edx, 8
sub rsp, 0x20
call fcn.14001d294
add rsp, 0x20
mov rax, qword [rbp + 0x28]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x10], rax
cmp rax, 0
je 0x14021781c
mov rcx, qword [rbp - 0x10]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0xc801424e1c586f6c
movabs rdx, 0xc801424e1c586f6c
xor rcx, rdx
cmp rax, rcx
jne 0x14021781c
mov eax, dword [0x14027eec0]
xor eax, 0xc95152dc
mov ecx, dword [0x14027eec4]
mov edx, 0x78617342
xor edx, 0x8f561070
xor ecx, edx
xor edx, edx
div ecx
xor eax, 0x9ce3d2f5
sub eax, 0x5f225de1
mov edx, eax
xor edx, 0xffffffff
and edx, 0xf6082e19
mov r8d, 0xf4ce3f75
xor r8d, 0x2c6116c
mov ecx, 0xe56f8f98
xor ecx, 0x1a907067
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf6082e19
or eax, 0xf6082e19
imul eax, edx
add eax, ecx
cmp eax, 0x4fa0715f
je 0x140217dbd
mov rcx, qword [rbp - 0x10]
mov edx, dword [0x14027eec8]
mov r8d, dword [0x14027eecc]
mov eax, 0xd28ac245
xor eax, 0x52fe8f71
xor r8d, eax
mov eax, edx
or eax, r8d
xor eax, 0xffffffff
mov r9d, 0xf5b43261
xor r9d, 0xa4bcd9e
xor edx, r9d
mov r9d, 0xb4bead87
xor r9d, 0x4b415278
xor r8d, r9d
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xe4e5eaa3
xor edx, 0xf79ea42c
add eax, edx
mov edx, 0xa0d26577
xor edx, 0x33def4f6
or eax, edx
mov edx, 0xd4913b7
xor edx, 0x27ad56be
and eax, edx
mov dword [rbp - 0x14], eax
sub rsp, 0x20
call fcn.14001d1d6
mov eax, dword [rbp - 0x14]
add rsp, 0x20
cmp eax, 0xdcafa0ad
je 0x140217784
jmp 0x14021781c
mov eax, dword [0x14027eed0]
imul eax, dword [0x14027eed4]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x7558480d
xor edx, 0xd2852cd4
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xa7dd64d9
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xa7dd64d9
mov r8d, 0xc666af26
xor r8d, 0x61bbcbff
or eax, r8d
imul eax, edx
add eax, ecx
imul eax, eax, 0x7e29855a
mov ecx, 0x15344df8
xor edx, edx
div ecx
mov ecx, 0xe28e9c55
xor ecx, 0xe9d1bbc
cmp eax, ecx
ja 0x140217dc6
mov rcx, qword [rbp + 0x28]
mov eax, dword [0x14027eed8]
mov edx, dword [0x14027eedc]
xor edx, 0x2d10537e
and eax, edx
or eax, 0x63a5b002
mov r8d, 0xa55732bd
xor edx, edx
div r8d
mov r8d, 0x8b28b455
xor r8d, 0x2aece212
mov edx, eax
and edx, r8d
shl edx, 1
add eax, 0xa1c45647
sub eax, edx
mov rcx, qword [rcx + 0x20]
mov qword [rbp - 0x20], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x15], cl
cmp eax, 0xac6b2410
je 0x14021788f
mov al, byte [rbp - 0x15]
test al, 1
jne 0x140217a3a
jmp 0x140217900
mov eax, dword [0x14027eee0]
mov r8d, dword [0x14027eee4]
mov ecx, 0xa4031761
xor ecx, 0x5bfce89e
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x556fa0ee
xor r9d, 0xaa905f11
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xa95e053
xor ecx, 0xfc6bfe7d
xor eax, ecx
add eax, 0x21d94e0b
mov ecx, 0x72e9d2e7
xor edx, edx
div ecx
mov ecx, 0xa2274ff8
xor ecx, 0x19a60358
cmp eax, ecx
je 0x140217dcf
mov rdx, qword [rbp - 0x20]
mov eax, dword [0x14027eee8]
or eax, dword [0x14027eeec]
imul eax, eax, 0xee1b2a41
mov ecx, 0x64512951
xor ecx, 0xd17e1c50
mov r8d, 0x8cc9477b
xor r8d, 0x7336b884
xor ecx, r8d
add eax, ecx
mov ecx, 0xfe7118a
xor ecx, 0xfe7118b
add eax, ecx
mov ecx, eax
and ecx, 0x6913905b
mov r8d, 0xbb903f13
xor r8d, 0xbb903f11
imul ecx, r8d
mov r8d, 0x2d52c0ce
xor r8d, 0x44415095
xor eax, r8d
add eax, ecx
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
movabs rdx, 0xbb50b6f2b92d8833
movabs r8, 0xbb50b6f2b92d8833
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x21], cl
cmp eax, 0xd1bd07b4
je 0x140217976
mov al, byte [rbp - 0x21]
test al, 1
jne 0x140217a29
jmp 0x140217a3a
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov rax, qword [rbp + 0x28]
mov rax, qword [rax + 0x28]
mov qword [rbp - 0x30], rax
cmp rax, 0
je 0x140217c06
mov rax, qword [rbp - 0x30]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rbp - 0x40], rcx
mov rax, qword [rax - 0x10]
mov qword [rbp - 0x38], rax
movabs rcx, 0x82f1daadcb46ea27
movabs rdx, 0x82f1daadcb46ea37
xor rcx, rdx
cmp rax, rcx
jb 0x140217af5
mov rdx, qword [rbp - 0x38]
movabs rcx, 0x5d37ba233efae574
mov rax, rdx
add rax, rcx
add rax, 0xfffffffffffffff0
movabs rcx, 0x5d37ba233efae574
sub rax, rcx
mov qword [rbp - 0x48], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140217ad3
jmp 0x140217ae5
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x140217c06
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
mov qword [rax], rcx
jmp 0x140217c06
mov ecx, dword [0x14027eef0]
mov r8d, dword [0x14027eef4]
xor r8d, 0xdb9fe5af
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov edx, 0x56186ea8
xor edx, 0xa9e79157
xor eax, edx
mov edx, r8d
xor edx, 0xffffffff
or eax, edx
mov edx, r8d
xor edx, 0xffffffff
mov r9d, 0x17f05522
xor r9d, 0xe80faadd
xor r8d, r9d
or edx, r8d
and ecx, edx
mov edx, 0x4ef5caa9
xor edx, 0xb10a3556
xor ecx, edx
mov edx, 0xf79faf83
xor edx, 0x860507c
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0x31ca79c5
imul eax, eax, 0x233cf499
mov edx, 0xd512a1f1
xor edx, 0xd512a1f0
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
mov edx, 0x8e52b308
xor edx, 0x1162d41d
or eax, edx
add eax, ecx
cmp eax, 0xd830364d
jae 0x140217dd8
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x14027eef8]
xor eax, dword [0x14027eefc]
and eax, eax
xor eax, 0xffffffff
mov edx, 0xef023f09
and edx, 0xef023f09
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
imul eax, eax, 0xd82177f6
sub eax, 0xdfdb8adb
mov dword [rbp - 0x4c], eax
movabs rdx, 0xb8e7f472bd6b110a
movabs rax, 0xb8e7f472bd6b110e
xor rdx, rax
sub rsp, 0x20
call fcn.14001d294
mov eax, dword [rbp - 0x4c]
add rsp, 0x20
cmp eax, 0xeb881359
jae 0x140217b96
jmp 0x140217c06
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rax + 0x30]
mov qword [rcx], rdx
mov rax, qword [rax + 0x38]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140217020
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov rax, qword [rax + 0x50]
mov qword [rbp - 0x58], rax
cmp rax, 0
je 0x140217c82
mov rcx, qword [rbp - 0x58]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x20fc27b0e16dd70
movabs rdx, 0x20fc27b0e16dd70
xor rcx, rdx
cmp rax, rcx
jne 0x140217c82
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax + 0x58]
mov qword [rbp + 0x40], rcx
mov rax, qword [rax + 0x60]
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x40]
sub rsp, 0x20
call fcn.1400333b0
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov rax, qword [rax + 0x68]
mov qword [rbp - 0x60], rax
cmp rax, 0
je 0x140217d90
mov rax, qword [rbp - 0x60]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rbp - 0x70], rcx
mov rax, qword [rax - 0x10]
mov qword [rbp - 0x68], rax
cmp rax, 0x10
jb 0x140217d68
mov rcx, qword [rbp - 0x68]
mov rax, rcx
add rax, 0xfffffffffffffff0
mov qword [rbp - 0x78], rax
mov r8, rax
xor r8, rcx
movabs rdx, 0xa28bb9d2be4c9eb0
movabs r9, 0x5d74462d41b3614f
xor rdx, r9
xor r8, rdx
mov rdx, rcx
and rdx, r8
shl rdx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x140217d46
jmp 0x140217d58
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x140217d90
add byte [rax - 0x75], cl
xchg r8d, eax
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x78]
mov qword [rax], rcx
jmp 0x140217d90
mov rcx, qword [rbp - 0x60]
movabs rdx, 0x7bfac986ffb1b658
movabs rax, 0x7bfac986ffb1b650
xor rdx, rax
sub rsp, 0x20
call fcn.14001d294
add rsp, 0x20
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax + 0x78]
mov qword [rcx], rdx
mov rax, qword [rax + 0x80]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400333b0
add rsp, 0x20
lea rsp, [rbp + 0x50]
pop rbp
ret
invalid
ja 0x140217d57
invalid
pushfq
mov ebp, 0x9ee94100
sti
invalid
sub eax, 0xe915a41e
mov ch, 0xfd
invalid