Function at 0x140088100
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xf0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], r8
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x30], rcx
mov eax, 0x10
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.1400887ba
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov qword [rbp + 0x48], rax
mov edx, 0x10
sub rsp, 0x20
call fcn.1400887d5
mov rdx, qword [rbp + 0x50]
add rsp, 0x20
mov rax, qword [rdx]
mov qword [rbp + 0x58], rax
mov qword [rdx + 8], rax
mov rax, rdx
add rax, 0x10
mov qword [rbp + 0x60], rax
mov cl, byte [rdx + 0x10]
mov dl, 0x7d
xor dl, 0x7d
mov al, cl
xor al, 1
cmp cl, dl
mov byte [rbp + 0x6f], al
jne 0x140088202
mov rcx, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x28]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp + 0x20], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400881cf
mov rcx, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x20]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x14008879e
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x28]
mov rax, qword [rax + 8]
mov cl, byte [rax + rcx + 8]
mov al, cl
sub al, 0x5c
sete al
sub cl, 0x2f
sete r8b
setne dl
mov cl, al
and cl, dl
mov dl, al
xor dl, r8b
add al, dl
sub al, cl
and al, 1
mov byte [rbp + 0x6f], al
mov al, byte [rbp + 0x6f]
cmp al, 0
je 0x140088277
mov rdx, qword [rbp + 0x58]
movabs rax, 0xce1ff7abb3e938f0
mov rcx, rdx
add rcx, rax
add rcx, 1
movabs rax, 0xce1ff7abb3e938f0
sub rcx, rax
mov qword [rbp + 0x18], rcx
xor rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140088263
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x14008879e
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x50]
mov qword [rcx], rax
mov qword [rbp + 0x10], rax
jmp 0x140088357
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rcx]
mov qword [rbp - 0x10], rdx
add rcx, 8
mov qword [rbp - 8], rcx
cmp rax, 0xffffffffffffffff
setg cl
mov byte [rbp + 7], cl
mov qword [rbp + 8], rax
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp + 8]
mov qword [rbp - 0x18], rax
cmp rax, rcx
mov qword [rbp + 0x10], rax
jge 0x140088357
mov al, byte [rbp + 7]
test al, 1
jne 0x1400882e8
jmp 0x1400882c5
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x14008879e
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 8]
mov rcx, qword [rcx]
mov cl, byte [rcx + rax + 8]
mov byte [rbp - 0x19], cl
sub cl, 0x2f
mov qword [rbp + 0x10], rax
je 0x140088357
jmp 0x14008830c
mov rax, qword [rbp - 0x18]
mov cl, byte [rbp - 0x19]
sub cl, 0x5c
mov qword [rbp + 0x10], rax
je 0x140088357
jmp 0x140088325
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp - 0x18]
movabs rdx, 0xaf07792989f32bc5
add rax, rdx
add rax, 1
movabs rdx, 0xaf07792989f32bc5
sub rax, rdx
mov qword [rcx], rax
mov qword [rbp + 8], rax
jmp 0x14008829c
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x10]
mov qword [rbp - 0x28], rcx
cmp rax, rcx
jge 0x140088504
mov rax, qword [rbp - 0x28]
movabs rdx, 0x1d06fc582b182665
mov rcx, rax
add rcx, rdx
add rcx, 0xffffffffffffffff
movabs rdx, 0x1d06fc582b182665
sub rcx, rdx
mov qword [rbp - 0x30], rcx
xor rcx, rax
cmp rcx, 0
setl cl
cmp rax, 0
setg al
and al, cl
test al, 1
jne 0x1400883b5
jmp 0x1400884e4
mov edx, dword [0x1401cc0d8]
mov eax, 0x4bf4a608
xor eax, 0xc421a75b
xor edx, eax
mov ecx, dword [0x1401cc0dc]
xor ecx, 0x812f00d8
mov eax, edx
xor eax, ecx
xor ecx, 0xffffffff
and edx, ecx
mov ecx, 0x82b9b5d6
xor ecx, 0x82b9b5d4
imul ecx, edx
sub ecx, eax
mov edx, 0x220449de
xor edx, 0x31f19fb7
mov eax, ecx
and eax, edx
mov edx, 0x3996e6a0
xor edx, 0x2a6330c9
or ecx, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x8602dc10
xor edx, 0x3a1d515c
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xbc1f8d4c
and eax, edx
sub eax, ecx
add eax, 0x3d8281d5
cmp eax, 0x7266abb6
je 0x1400887a8
mov eax, dword [0x1401cc0e0]
xor eax, 0xb7372fa6
mov edx, dword [0x1401cc0e4]
mov ecx, eax
and ecx, edx
xor eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x734cbe58
xor edx, 0x8cb341a7
xor ecx, edx
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xe1f56af9
mov edx, 0x291c4f4d
xor edx, 0xc8e925b4
mov r8d, 0xb6e2eb8c
xor r8d, 0x491d1473
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
mov edx, 0x4cd1882b
xor edx, 0xb32e77d4
xor ecx, edx
and eax, ecx
mov ecx, 0x3e369dfe
xor ecx, 0xba621fe5
xor eax, ecx
add eax, 0x55702609
mov dword [rbp - 0x34], eax
mov eax, 0x3425d6fa
xor eax, 0x9b0e5d71
mov dword [rbp - 0x38], eax
sub rsp, 0x20
call fcn.140008024
mov ecx, dword [rbp - 0x38]
mov eax, dword [rbp - 0x34]
add rsp, 0x20
cmp eax, ecx
ja 0x1400887a8
jmp 0x14008879e
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rbp - 0x30]
mov r8, qword [rbp + 0x58]
mov qword [rcx], r8
mov qword [rcx + 8], rdx
mov qword [rbp - 0x40], rax
jmp 0x1400886ab
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp + 0x28]
mov rdx, qword [rdx]
sub rcx, rdx
setge cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x41], al
or al, cl
test al, 1
jne 0x140088692
mov r8, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x28]
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.140088100
mov rax, qword [rbp + 0x48]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14008879e
mov r8d, dword [0x1401cc0e8]
mov eax, dword [0x1401cc0ec]
xor eax, 0x9b1411f1
add r8d, eax
mov eax, r8d
xor eax, 0xffffffff
mov ecx, 0xf39f2e72
xor ecx, 0xbcd2fbda
and ecx, eax
mov edx, 0xffffffff
xor edx, 0x4f4dd5a8
and r8d, edx
mov eax, 0xa01a977c
xor eax, 0x19aa2e6b
mov r9d, 0x9ca226d1
xor r9d, 0x635dd92e
xor eax, r9d
mov r9d, 0x5a2d84e6
xor r9d, 0x1560514e
and eax, r9d
and edx, 0xb9b0b917
or ecx, r8d
or eax, edx
xor ecx, eax
mov eax, ecx
or eax, 0x2340d0b3
mov edx, 0xbc240602
xor edx, 0x43dbf9fd
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2340d0b3
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x9b0b5f0a
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x3fed46bd
xor r8d, 0xc012b942
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x9b0b5f0a
or eax, 0x9b0b5f0a
imul eax, edx
add eax, ecx
cmp eax, 0x48fded8a
jb 0x1400887b1
mov eax, dword [0x1401cc0f0]
xor edx, edx
div dword [0x1401cc0f4]
mov rdx, qword [rbp + 0x50]
add eax, 0x5fe6a966
mov ecx, 0x99e05934
xor ecx, 0x24cf9781
add eax, ecx
xor eax, 0x67363c26
mov ecx, 0x51f169a6
xor ecx, 0xcfba8526
mov rdx, qword [rdx]
mov qword [rbp - 0x50], rdx
cmp eax, ecx
ja 0x140088642
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x40], rax
jmp 0x1400886ab
mov rax, qword [rbp - 0x28]
mov cl, byte [rbp - 0x41]
test cl, 1
mov qword [rbp - 0x40], rax
jne 0x14008879e
jmp 0x1400886ab
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp - 0x40]
mov rdx, qword [rcx]
mov qword [rbp - 0x70], rdx
add rcx, 8
mov qword [rbp - 0x68], rcx
movabs rcx, 0x9615bc50cb0973d8
movabs rdx, 0x69ea43af34f68c27
xor rcx, rdx
cmp rax, rcx
setg cl
mov byte [rbp - 0x59], cl
mov qword [rbp - 0x58], rax
mov rcx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x78], rax
cmp rax, rcx
jge 0x140088797
mov al, byte [rbp - 0x59]
test al, 1
jne 0x140088750
jmp 0x14008870b
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x70]
movabs rax, 0x9d4131478eb63a58
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xe280a030e862491e
movabs r8, 0x7fc1917766d47346
xor rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x14008879e
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x68]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rbp - 0x79], al
sub al, 0x2f
je 0x14008877f
jmp 0x14008876f
mov al, byte [rbp - 0x79]
sub al, 0x5c
jne 0x140088797
jmp 0x14008877f
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp - 0x78]
add rax, 1
mov qword [rcx], rax
mov qword [rbp - 0x58], rax
jmp 0x1400886e6
mov rax, qword [rbp + 0x60]
mov byte [rax], 1
mov rax, qword [rbp + 0x30]
lea rsp, [rbp + 0x70]
pop rbp
ret
sub esi, dword [rdi]
test eax, 0xfc8ae967
invalid
mov ecx, 0xe9a77d3d
mov dh, bh
invalid