Function at 0x1400998e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], r8
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], rcx
mov eax, 0x10
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
sub rsp, 0x20
call fcn.140098f41
mov r8, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp], rax
mov rax, qword [r8]
mov qword [rbp + 8], rax
cmp rax, 0
jle 0x140099977
mov rax, qword [rbp]
cmp byte [rax], 0
jne 0x140099fbb
mov rcx, qword [rbp + 8]
mov rax, qword [rbp - 8]
mov rax, qword [rax + 8]
mov al, byte [rax + rcx + 7]
cmp al, 0x5c
sete dl
cmp al, 0x2f
sete cl
mov al, dl
xor al, 0xff
xor dl, 0xff
or al, dl
and cl, cl
xor cl, 0xff
and al, cl
xor al, 0xff
mov byte [rbp - 0x21], al
jmp 0x140099e56
mov rcx, qword [rbp + 8]
xor eax, eax
cmp rcx, 0
mov byte [rbp - 0x21], al
jne 0x140099e56
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
mov qword [rbp - 0x30], rcx
xor eax, eax
cmp rcx, 0
mov byte [rbp - 0x21], al
jle 0x140099e56
mov ecx, dword [0x1401f5dc8]
xor ecx, 0xe8c48a31
mov r8d, dword [0x1401f5dcc]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov edx, 0xc0841d94
xor edx, 0x3f7be26b
xor eax, edx
mov r9d, 0x9945aa7f
xor r9d, 0x66ba5580
mov edx, r8d
xor edx, r9d
or eax, edx
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0xff5bbe18
xor edx, 0xa441e7
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
sub eax, 0x6bbe12d7
add eax, 0xa35edbcf
mov ecx, 0x76dc298a
xor ecx, 0x1d623b5d
add eax, ecx
mov ecx, 0x862b4ecc
xor ecx, 0x2663e2b
xor edx, edx
div ecx
mov ecx, 0x6c07f933
xor ecx, 0xbaf6110c
add eax, ecx
add eax, 0xd87c06e8
sub eax, 0xd6f1e83f
mov ecx, 0xd9354fc
xor ecx, 0x6a3a7fc7
cmp eax, ecx
jbe 0x14009a08b
mov eax, dword [0x1401f5dd0]
and eax, dword [0x1401f5dd4]
or eax, 0xc318f07d
mov ecx, 0x4de6f65e
xor ecx, 0x45a7c4bb
xor edx, edx
div ecx
mov ecx, 0x3543cec6
xor ecx, 0xaa28fbc1
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x18]
mov ecx, 0x3491fad3
xor ecx, 0x8cbf3d43
mov r8, rdx
add r8, 8
mov qword [rbp - 0x48], r8
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x40], rdx
cmp rdx, 0
sete dl
mov byte [rbp - 0x31], dl
cmp eax, ecx
ja 0x14009a08b
mov rax, qword [rbp - 0x30]
mov cl, byte [rbp - 0x31]
test cl, 1
mov qword [rbp - 0x50], rax
jne 0x140099b12
jmp 0x140099ad3
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x40]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov qword [rbp - 0x50], rax
je 0x140099b12
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.140017df0
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
mov r8, qword [rbp - 0x50]
mov qword [rbp - 0x60], r8
movabs rax, 0x14d4158d5bcd6c4
movabs rcx, 0xfeb2bea72a43293b
xor rax, rcx
mov rcx, r8
and rcx, rax
shl rcx, 1
mov rax, r8
xor rax, 0xffffffffffffffff
add rax, rcx
mov qword [rbp - 0x58], rax
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs rcx, 0x8486292c5d0d2612
movabs r9, 0xba6ec31b188ab0db
xor rcx, r9
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x3ee8ea37458796c9
xor r10, rdx
mov r9, rax
and r9, r10
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r11, 0x3ee8ea37458796c9
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
movabs rdx, 0x3937521c8d614527
movabs r8, 0x3937521c8d614527
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140099bd7
jmp 0x140099be9
sub rsp, 0x20
call fcn.1400091c0
add rsp, 0x20
jmp 0x140099c3c
mov rax, qword [rbp - 0x60]
movabs rcx, 0x1005e268c3228cbd
movabs rdx, 0x1005e268c3228cbd
xor rcx, rdx
cmp rax, rcx
jg 0x140099c26
mov rdx, qword [rbp - 0x58]
sub rsp, 0x20
mov rcx, rdx
call fcn.140016582
add rsp, 0x20
jmp 0x140099c3c
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
add rax, 8
add rax, rcx
mov qword [rbp - 0x68], rax
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x70], rax
mov eax, dword [0x1401f5dd8]
mov ecx, dword [0x1401f5ddc]
mov edx, 0x8ec3443
xor edx, 0x7258e227
xor ecx, edx
add eax, ecx
mov ecx, 0x21e24242
xor ecx, 0xcf53eaad
mov edx, 0xa41bef5
xor edx, 0xf5be410a
xor ecx, edx
mov edx, 0x441daecf
xor edx, 0x441daecf
mov r8d, 0x1094403d
xor r8d, 0x1094403c
sub edx, r8d
sub ecx, edx
sub eax, ecx
xor eax, 0x3ec4fa8d
and eax, 0x8db65f96
cmp eax, 0x5c1de0e0
jb 0x14009a094
mov eax, dword [0x1401f5de0]
mov ecx, dword [0x1401f5de4]
mov edx, 0xde290e60
xor edx, 0x9fe28a07
xor ecx, edx
imul eax, ecx
and eax, 0xf32fdd6c
mov ecx, 0x1cc0ca6c
xor edx, edx
div ecx
mov rdx, qword [rbp]
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
or eax, r8d
and eax, 0xf17b244
xor eax, 0xffffffff
mov r8d, 0xf17b244
and r8d, 0xf17b244
xor r8d, 0xffffffff
and ecx, r8d
xor ecx, 0xffffffff
mov r8d, 0xe01e0c51
xor r8d, 0x1fe1f3ae
xor eax, r8d
mov r8d, 0xafe7951e
xor r8d, 0x50186ae1
xor ecx, r8d
or eax, ecx
mov ecx, 0x92600f6e
xor ecx, 0x405e20ae
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x71], dl
cmp eax, ecx
ja 0x140099cab
mov al, byte [rbp - 0x71]
test al, 1
jne 0x140099d57
jmp 0x140099fbb
mov eax, dword [0x1401f5de8]
sub eax, dword [0x1401f5dec]
mov ecx, 0x24ce8079
xor ecx, 0x5e5d25ef
xor edx, edx
div ecx
mov r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x3512987c
mov edx, 0xffffffff
xor edx, 0x3512987c
and r8d, edx
mov ecx, 0xdfbf5cac
xor ecx, 0x4c4652db
mov r9d, 0x8c7703fb
xor r9d, 0x7388fc04
xor ecx, r9d
and ecx, 0x3512987c
and edx, 0x93f90e77
or eax, r8d
or ecx, edx
xor eax, ecx
and eax, 0x55477b99
cmp eax, 0xa05a8809
jae 0x14009a09d
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x1401f5df0]
mov r8d, dword [0x1401f5df4]
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, r8d
add eax, edx
imul eax, eax, 0x19dc0c34
mov r9d, 0xffffffff
xor r9d, 0x8ec05327
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x8ec05327
or eax, 0x8ec05327
imul eax, r8d
add eax, edx
or eax, 0xc6d176e4
mov dl, byte [rcx]
mov cl, 0xd4
xor cl, 0x88
cmp dl, cl
sete cl
cmp dl, 0x2f
sete dl
or cl, dl
mov byte [rbp - 0x72], cl
cmp eax, 0x26b7db16
je 0x140099dcc
mov al, byte [rbp - 0x72]
mov byte [rbp - 0x21], al
jmp 0x140099e56
mov rcx, qword [rbp - 0x18]
mov al, byte [rbp - 0x21]
mov byte [rbp - 0x73], al
xor edx, edx
sub rsp, 0x20
call fcn.140097950
mov rax, qword [rbp]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140099fbb
mov ecx, dword [0x1401f5df8]
mov r8d, dword [0x1401f5dfc]
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
mov edx, 0xed15d220
xor edx, 0x12ea2ddf
xor eax, edx
mov edx, r8d
xor edx, 0xffffffff
or eax, edx
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xd72010db
xor edx, 0x28dfef24
xor ecx, edx
or eax, ecx
mov ecx, 0x92f89507
xor ecx, 0xb48d8c2e
imul eax, ecx
add eax, 0x88ebd9c1
mov ecx, 0x26e81db1
xor ecx, 0x96770641
sub eax, ecx
sub eax, 0x88ebd9c1
or eax, 0x4d2905e
cmp eax, 0x19bc9996
je 0x14009a0a6
mov r8, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
mov r9d, dword [0x1401f5e00]
mov r10d, dword [0x1401f5e04]
xor r10d, 0xb84c86c5
and r9d, r10d
xor r9d, 0x61bdb3b0
mov r10d, r9d
and r10d, 0x9231e3a
shl r10d, 1
add r9d, 0x9231e3a
sub r9d, r10d
sub r9d, 0xbd4064e8
mov dword [rbp - 0x78], r9d
mov r9, qword [rax]
mov qword [rcx], r9
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
mov r9d, 0x5c
sub rsp, 0x20
call fcn.140094500
mov rcx, qword [rbp]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x74], cl
cmp eax, 0xfba15151
je 0x140099f06
mov al, byte [rbp - 0x74]
test al, 1
jne 0x140099fa4
jmp 0x140099fbb
mov rcx, qword [rbp - 0x18]
mov dl, byte [rbp - 0x73]
and dl, 1
sub rsp, 0x20
call fcn.140097950
add rsp, 0x20
mov eax, dword [0x1401f5e08]
xor eax, 0x9c6eac00
mov ecx, dword [0x1401f5e0c]
xor ecx, 0xde2ec9bc
xor ecx, 0xffffffff
add eax, ecx
mov ecx, 0x8f0839a9
xor ecx, 0x8f0839a8
add eax, ecx
imul eax, eax, 0xd9fe2390
mov ecx, eax
xor ecx, 0x17444fd2
xor ecx, 0xffffffff
mov edx, 0x8171da43
xor edx, 0x96359591
or eax, edx
and eax, ecx
xor eax, 0xf8b90dc2
mov ecx, 0x7058f2d6
xor ecx, 0x61feb993
cmp eax, ecx
jbe 0x14009a0af
mov eax, dword [0x1401f5e10]
xor edx, edx
div dword [0x1401f5e14]
mov r8d, 0xffffffff
xor r8d, 0x6835e883
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xae1f6ea1
xor r8d, 0x51e0915e
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x6835e883
or eax, 0x6835e883
imul eax, edx
add eax, ecx
mov ecx, 0xe8fc5cff
xor ecx, 0x10c29ff9
xor edx, edx
div ecx
sub eax, 0xe48c1dce
cmp eax, 0xaf2bfb16
je 0x14009a01c
lea rsp, [rbp + 0x10]
pop rbp
ret
sal dword cs:[rdi - 0x63c168d], 0xff
jmp qword [rbp - 0x5d]
movabs dword gs:[0x49fffffc0ee9ba92], eax
movabs eax, dword [0xcfffffd26e9f3be]
movabs rax, qword [0xcfffffd26e9f3be]
or al, 0x41
sbb al, ch
sbb al, r13b
jmp 0x140099f06
push rbp
fst dword [rbp - 0x9b16cf]
invalid