Function at 0x1400957b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xe0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x40], rdx
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x20], rcx
mov eax, 0x10
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
sub rsp, 0x20
call fcn.140096200
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov qword [rbp + 0x38], rax
movabs rdx, 0xf16ef392abd45100
movabs rax, 0xf16ef392abd45110
xor rdx, rax
sub rsp, 0x20
call fcn.140096380
mov rdx, qword [rbp + 0x40]
add rsp, 0x20
mov rax, qword [rdx]
mov qword [rbp + 0x48], rax
mov qword [rdx + 8], rax
mov rax, rdx
add rax, 0x10
mov qword [rbp + 0x50], rax
mov cl, byte [rdx + 0x10]
mov dl, cl
xor dl, 0xff
mov al, 0xad
xor al, 0xac
and al, dl
mov r8b, 0xff
xor r8b, 1
mov dl, cl
and dl, r8b
or al, dl
cmp cl, 0
mov byte [rbp + 0x5f], al
jne 0x140095918
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x18]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp + 0x10], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400958a2
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x1400960f9
mov rcx, qword [rbp + 0x48]
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 8]
mov al, byte [rax + rcx + 8]
mov cl, 0xd9
xor cl, 0x85
cmp al, cl
sete r11b
mov cl, 0xbf
xor cl, 0x90
cmp al, cl
sete r10b
xor eax, eax
xor al, 1
mov cl, r11b
xor cl, al
mov r8b, r10b
xor r8b, 0xff
mov dl, 1
xor dl, 0
mov r9b, 1
xor r9b, 1
mov al, cl
and al, r9b
and r11b, dl
mov r9b, r8b
and r9b, 0
and r10b, dl
or al, r11b
or r9b, r10b
xor al, r9b
or cl, r8b
xor r8d, r8d
xor r8b, 1
xor cl, r8b
or dl, 0
and cl, dl
or al, cl
and al, 1
mov byte [rbp + 0x5f], al
mov al, byte [rbp + 0x5f]
mov cl, 0x4b
xor cl, 0x4b
cmp al, cl
je 0x140095a49
mov rax, qword [rbp + 0x48]
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor ecx, ecx
sub rcx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
mov qword [rbp + 8], rcx
mov rdx, rax
and rdx, rdx
xor rdx, 0xffffffffffffffff
movabs r8, 0x3ea0d7867be59c3f
movabs r9, 0xc15f2879841a63c0
xor r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
xor rax, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rax, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x3f253676fe807130
movabs r9, 0xc0dac989017f8ecf
xor r8, r9
xor rax, r8
or rdx, rax
mov rax, rcx
and rax, rdx
movabs r8, 0x2b0277ef078c3c4c
movabs r9, 0xd4fd8810f873c3b3
xor r8, r9
xor rax, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x356af5feb1c5c5ef
movabs r9, 0xca950a014e3a3a10
xor r8, r9
xor rdx, r8
or rcx, rdx
movabs rdx, 0x7a2eb05f26e1410a
movabs r8, 0x85d14fa0d91ebef5
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jge 0x140095a35
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
jmp 0x1400960f9
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x40]
mov qword [rcx], rax
mov qword [rbp], rax
jmp 0x140095ccf
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rcx]
mov qword [rbp - 0x20], rdx
add rcx, 8
mov qword [rbp - 0x18], rcx
cmp rax, 0xffffffffffffffff
setg cl
mov byte [rbp - 9], cl
mov qword [rbp - 8], rax
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 8]
mov qword [rbp - 0x28], rax
cmp rax, rcx
mov qword [rbp], rax
jge 0x140095ccf
mov r11d, dword [0x1402548e8]
mov eax, 0xb2b035ff
xor eax, 0x3a4cd16a
xor r11d, eax
mov r10d, dword [0x1402548ec]
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, r10d
xor edx, 0xffffffff
mov r8d, 0x426f7f68
xor r8d, 0xd777e484
mov eax, 0x4c79b568
xor eax, 0xb3864a97
xor r8d, eax
mov eax, ecx
and eax, 0x95189bec
and r11d, r8d
mov r9d, edx
and r9d, 0x95189bec
and r10d, r8d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x90c51076
xor edx, 0x5dd8b9a
or edx, r8d
and ecx, edx
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x880a43a7
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x880a43a7
or eax, 0x880a43a7
imul eax, edx
add eax, ecx
mov ecx, 0xf817ec2f
xor ecx, 0xa76e7092
xor eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x83f295ac
mov r8d, 0xffffffff
xor r8d, 0x83f295ac
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x83f295ac
mov r8d, 0xe1b9c061
xor r8d, 0x624b55cd
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x65346a21
xor ecx, 0x7f4b6b26
cmp eax, ecx
jb 0x1400961da
mov eax, dword [0x1402548f0]
xor eax, 0x269dfdb3
mov ecx, dword [0x1402548f4]
xor ecx, 0x1eec8746
imul eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xc36f689
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xd2be28e2
xor r8d, 0x2d41d71d
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc36f689
mov r8d, 0x64843ead
xor r8d, 0x68b2c824
or eax, r8d
imul eax, edx
add eax, ecx
sub eax, 0x81e4296e
mov ecx, 0xc554d41f
xor ecx, 0xeb9b30d6
sub eax, ecx
add eax, 0x81e4296e
xor ecx, ecx
sub ecx, 0xd5ec9fa5
add eax, ecx
mov ecx, 0xf4b07049
xor ecx, 0x2d74907f
cmp eax, ecx
jb 0x1400961da
mov al, byte [rbp - 9]
test al, 1
jne 0x140095c53
jmp 0x140095c30
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x1400960f9
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x18]
mov rcx, qword [rcx]
mov cl, byte [rcx + rax + 8]
mov byte [rbp - 0x29], cl
sub cl, 0x2f
mov qword [rbp], rax
je 0x140095ccf
jmp 0x140095c77
mov rax, qword [rbp - 0x28]
mov cl, byte [rbp - 0x29]
sub cl, 0x5c
mov qword [rbp], rax
je 0x140095ccf
jmp 0x140095c90
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp - 0x28]
movabs rdx, 0xd11820af5a7ee856
movabs r8, 0xbd9f44be7b1e7696
xor rdx, r8
sub rax, rdx
add rax, 1
movabs rdx, 0x6c87641121609ec0
add rax, rdx
mov qword [rcx], rax
mov qword [rbp - 8], rax
jmp 0x140095a6e
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp]
mov qword [rbp - 0x38], rcx
cmp rax, rcx
jge 0x140095e96
mov rax, qword [rbp - 0x38]
movabs rdx, 0xbc40e9405cc2c7e5
movabs rcx, 0x43bf16bfa33d381a
xor rdx, rcx
movabs rcx, 0xacec27d80bc0d038
movabs r8, 0x5313d827f43f2fc7
xor rcx, r8
xor rdx, rcx
movabs rcx, 0x69db3255d269f6
movabs r8, 0x69db3255d269f6
xor rcx, r8
movabs r8, 0x32e0ab1f8b10cbe4
movabs r9, 0x32e0ab1f8b10cbe5
xor r8, r9
sub rcx, r8
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
mov qword [rbp - 0x40], rcx
xor rcx, rax
movabs rdx, 0x328151fc58e41c99
movabs r8, 0x328151fc58e41c99
xor rdx, r8
cmp rcx, rdx
setl dl
cmp rax, 0
setg al
mov cl, 1
xor cl, 0
xor al, cl
xor dl, 0xff
mov cl, 1
xor cl, 1
or al, dl
or cl, 1
xor al, 0xff
and al, cl
test al, 1
jne 0x140095da3
jmp 0x140095db5
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
jmp 0x1400960f9
mov eax, dword [0x1402548f8]
mov r8d, dword [0x1402548fc]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x808cea74
xor ecx, 0xffffffff
and ecx, 0x808cea74
shl ecx, 1
sub ecx, 0x808cea74
sub eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x749b620b
add eax, ecx
mov ecx, 0xe186a6c8
xor edx, edx
div ecx
mov ecx, 0x3e2bc17b
xor ecx, 0xcf30c986
cmp eax, ecx
jae 0x1400961e3
mov rcx, qword [rbp + 0x30]
mov r8, qword [rbp + 0x48]
mov eax, dword [0x140254900]
xor eax, 0x5073b849
mov edx, dword [0x140254904]
xor edx, 0x2420e3ab
imul eax, edx
mov r9d, 0xc61d6b3a
xor edx, edx
div r9d
mov r9d, 0x65d74ab9
xor r9d, 0x2ab6ae9b
xor edx, edx
div r9d
mov rdx, qword [rbp - 0x40]
xor eax, 0x5486163
mov qword [rcx], r8
mov qword [rcx + 8], rdx
cmp eax, 0xd1b49c86
ja 0x1400961e3
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x48], rax
jmp 0x140095f20
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp + 0x18]
mov rdx, qword [rdx]
sub rcx, rdx
setge cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x49], al
or al, cl
test al, 1
jne 0x140095f07
mov r8, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x18]
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.1400957b0
mov rax, qword [rbp + 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400960f9
mov rax, qword [rbp + 0x40]
mov rax, qword [rax]
mov qword [rbp - 0x48], rax
jmp 0x140095f20
mov rax, qword [rbp - 0x38]
mov cl, byte [rbp - 0x49]
test cl, 1
mov qword [rbp - 0x48], rax
jne 0x1400960f9
jmp 0x140095f20
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp - 0x48]
mov rdx, qword [rcx]
mov qword [rbp - 0x70], rdx
add rcx, 8
mov qword [rbp - 0x68], rcx
cmp rax, 0xffffffffffffffff
setg cl
mov byte [rbp - 0x59], cl
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x78], rax
mov eax, dword [0x140254908]
mov edx, dword [0x14025490c]
xor edx, 0x1ae1ce0b
xor eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xff158a52
or eax, edx
or ecx, 0xff158a52
mov edx, 0x2115af98
xor edx, 0xdeea5067
xor eax, edx
and eax, ecx
add eax, 0x838e253b
add eax, 0xf7ac5
mov ecx, 0x2c7b288f
xor ecx, 0xaff50db4
sub eax, ecx
mov ecx, 0xdaaef2b5
xor edx, edx
div ecx
mov ecx, 0xa3312092
xor ecx, 0x5103902b
or eax, ecx
cmp eax, 0x4333436e
jb 0x1400961ec
mov rdx, qword [rbp - 0x78]
mov r8, qword [rbp - 0x70]
mov ecx, dword [0x140254910]
xor ecx, 0x31190128
mov eax, dword [0x140254914]
add ecx, 0xbf3d4756
sub ecx, eax
mov eax, 0xccd46c12
xor eax, 0x73e92b44
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xe88b0b3b
or eax, r9d
mov r9d, 0xbdd8f679
xor r9d, 0x5553fd42
and ecx, r9d
mov r9d, 0x36ec3249
xor r9d, 0xc913cdb6
xor ecx, r9d
and eax, ecx
mov ecx, 0x406a37a4
xor ecx, 0xbf95c85b
xor eax, ecx
add eax, 0x375788c1
and eax, 0xd7faa0f9
mov ecx, 0xe08d851f
xor ecx, 0x726e3075
cmp rdx, r8
setl dl
mov byte [rbp - 0x79], dl
cmp eax, ecx
je 0x1400961ec
mov al, byte [rbp - 0x79]
test al, 1
jne 0x140096067
jmp 0x1400960f2
mov al, byte [rbp - 0x59]
test al, 1
jne 0x1400960ab
jmp 0x140096077
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x70]
movabs rax, 0xc1fb36668e590a3
movabs r8, 0xf3e04c99971a6f5c
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x1400960f9
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x68]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rbp - 0x7a], al
sub al, 0x2f
je 0x1400960da
jmp 0x1400960ca
mov al, byte [rbp - 0x7a]
sub al, 0x5c
jne 0x1400960f2
jmp 0x1400960da
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp - 0x78]
add rax, 1
mov qword [rcx], rax
mov qword [rbp - 0x58], rax
jmp 0x140095f45
mov rax, qword [rbp + 0x50]
mov byte [rax], 1
mov eax, dword [0x140254918]
xor edx, edx
div dword [0x14025491c]
mov edx, 0xd291a257
xor edx, 0x4c0a5d86
mov ecx, eax
xor ecx, edx
mov edx, 0x1927665b
xor edx, 0xe6d899a4
xor ecx, edx
and ecx, 0x9e9bffd1
shl ecx, 1
sub ecx, 0x9e9bffd1
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xb57ce6b6
xor edx, 0xa97d566e
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x1c01b0d8
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x1c01b0d8
or eax, 0x1c01b0d8
imul eax, edx
add eax, ecx
mov ecx, 0x872d26a7
xor ecx, 0x7b79b885
or eax, ecx
cmp eax, 0x366d58f7
je 0x1400961f5
mov eax, dword [0x140254920]
mov ecx, dword [0x140254924]
mov edx, 0x77cb9273
xor edx, 0x95fe904c
xor ecx, edx
xor eax, ecx
imul eax, eax, 0x5efe9260
mov ecx, 0xa40450db
xor ecx, 0xb3930d34
imul eax, ecx
mov ecx, 0xb48e7890
xor edx, edx
div ecx
mov ecx, 0x54381b40
xor ecx, 0x888ff3c5
cmp eax, ecx
je 0x140096185
mov rax, qword [rbp + 0x20]
lea rsp, [rbp + 0x60]
pop rbp
ret
shr cl, 1
clc
mov ebp, ecx
test al, 0xf9
invalid
mov word [rcx + 0x43e94aa0], ss
cld
invalid
invalid
xchg dword [rax + 5], eax
jmp 0x140096185