Function at 0x140151510
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x190
lea rbp, [rsp + 0x80]
mov qword [rbp], rdx
mov qword [rbp + 0x18], rcx
mov qword [rbp + 8], rcx
mov eax, 0x10
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x10], rax
sub rsp, 0x20
call fcn.140161699
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov qword [rbp + 0x30], rax
add rax, 0x60
mov qword [rbp + 0x20], rax
mov edx, 0x18
sub rsp, 0x20
call fcn.140151e30
add rsp, 0x20
movabs rax, 0xd61c37609ac462e8
movabs rcx, 0xd61c37609ac462e8
xor rax, rcx
mov qword [rbp + 0x100], rax
lea rax, [rbp + 0x100]
add rax, 8
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x108], 0
mov word [rbp + 0xfe], 0x8f1
lea rcx, [rbp + 0xfe]
sub rsp, 0x20
call fcn.140065650
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x38], rcx
mov al, byte [rax + 0x60]
mov cl, 0xd7
xor cl, 0xd7
cmp al, cl
jne 0x14015196b
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp]
mov r8, qword [rcx]
mov qword [rdx], r8
mov rcx, qword [rcx + 8]
mov qword [rdx + 8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe0], rax
lea rcx, [rbp + 0xe8]
lea r8, [rbp + 0xd8]
sub rsp, 0x20
call fcn.140151fae
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov rcx, qword [rbp + 0xe8]
mov qword [rbp - 0x10], rcx
mov rcx, qword [rbp + 0xf0]
mov qword [rbp - 8], rcx
cmp byte [rax], 0
jne 0x14015196b
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x10]
mov qword [rbp + 0xc8], rcx
mov qword [rbp + 0xd0], rax
sub rsp, 0x20
lea rcx, [rbp + 0xc8]
call fcn.1400b96cb
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x20]
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x11], al
or al, cl
test al, 1
jne 0x140151970
mov ecx, 0x553
sub rsp, 0x20
call fcn.1400654f7
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp - 0x30], rax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rax
jne 0x140151935
mov word [rbp + 0xfc], 0x2ad
lea rcx, [rbp + 0xfc]
sub rsp, 0x20
call fcn.140065650
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp - 0x38], rax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rax
jne 0x140151935
mov r8, qword [rbp - 0x30]
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp]
mov rdx, qword [rcx]
mov qword [rbp + 0xa8], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xb0], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x98], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xa0], rax
lea rcx, [rbp + 0xb8]
lea rdx, [rbp + 0xa8]
lea r9, [rbp + 0x98]
sub rsp, 0x20
call fcn.14013b120
mov rdx, qword [rbp + 0x20]
add rsp, 0x20
mov rax, qword [rbp + 0xb8]
mov qword [rbp - 0x48], rax
mov rcx, qword [rbp + 0xc0]
mov qword [rbp - 0x40], rcx
cmp byte [rdx], 0
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rax
jne 0x140151935
mov cx, 0xd6ef
xor cx, 0xdfe5
sub rsp, 0x20
call fcn.1400654f7
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp - 0x40]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x50], r8
cmp byte [rdx], 0
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rax
jne 0x140151935
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x48]
cmp rax, rcx
jge 0x140151909
mov ecx, dword [0x1401e0fa0]
mov eax, dword [0x1401e0fa4]
xor eax, 0xa5c68fbe
sub ecx, eax
or ecx, 0x7432565d
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xcde721c7
xor r8d, 0x3218de38
mov edx, ecx
xor edx, r8d
and eax, edx
mov edx, 0x1965eab2
xor edx, 0x5a7d37e1
mov r8d, 0x52dae284
xor r8d, 0xad251d7b
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x4318dd53
and edx, r8d
mov r8d, 0xe754ec04
xor r8d, 0x18ab13fb
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
mov edx, 0x2c309d0d
xor edx, 0x6f28405e
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x74177e6b
xor edx, edx
div ecx
cmp eax, 0xb713288e
ja 0x140151e0c
mov eax, dword [0x1401e0fa8]
or eax, dword [0x1401e0fac]
or eax, eax
mov ecx, 0xc34b8d42
xor ecx, 0x3cb472bd
xor eax, ecx
mov ecx, 0x61ca6d95
or ecx, 0x61ca6d95
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xa97b4abf
xor ecx, 0x5684b540
xor eax, ecx
xor eax, 0x336bc6f
mov ecx, 0xc6c78d21
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp]
mov dword [rbp - 0x54], ecx
mov rcx, qword [rax]
mov qword [rbp + 0x88], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x90], rax
lea rcx, [rbp + 0x100]
lea rdx, [rbp + 0x88]
sub rsp, 0x20
call fcn.14001850a
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, 0x4587ed66
ja 0x140151e0c
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x40]
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rax
jmp 0x140151935
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x40]
mov rdx, qword [0x1401ee030]
mov qword [rbp + 0x100], rdx
mov rdx, qword [0x1401ee038]
mov qword [rbp + 0x108], rdx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
mov qword [rbp + 0x78], rcx
mov qword [rbp + 0x80], rax
lea rcx, [rbp + 0x78]
sub rsp, 0x20
call fcn.140017970
mov rax, qword [rbp + 0x20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14015196b
jmp 0x140151b36
jmp 0x140151c8d
mov al, byte [rbp - 0x11]
test al, 1
jne 0x140151c8d
mov ax, 0x7ed3
xor ax, 0x7bd5
mov word [rbp + 0x76], ax
lea rcx, [rbp + 0x76]
sub rsp, 0x20
call fcn.140065650
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x60], rcx
cmp byte [rax], 0
jne 0x1401519fb
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp]
mov rdx, qword [rcx]
mov qword [rbp + 0x60], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x68], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0x100]
lea rdx, [rbp + 0x60]
lea r8, [rbp + 0x50]
sub rsp, 0x20
call fcn.140151fae
mov rax, qword [rbp + 0x20]
add rsp, 0x20
cmp byte [rax], 0
je 0x140151a00
jmp 0x140151c8d
mov eax, dword [0x1401e0fb0]
xor eax, 0x376846a6
mov ecx, dword [0x1401e0fb4]
or eax, eax
mov edx, 0xcfea874c
xor edx, 0x301578b3
xor eax, edx
or ecx, ecx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
sub eax, 0xe698e4da
xor eax, 0xd78ef09d
mov ecx, 0x82edd86e
xor ecx, 0x8ad0d78
or eax, ecx
cmp eax, 0x7c3d5a9f
jb 0x140151e15
mov eax, dword [0x1401e0fb8]
mov r8d, dword [0x1401e0fbc]
xor r8d, 0x7dd2372e
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, 0x889fa8e0
xor ecx, 0x889fa8e0
sub ecx, eax
xor eax, eax
sub eax, 0x45a0a4a2
add ecx, eax
xor eax, eax
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xc9f45478
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xc6beb025
xor r8d, 0x39414fda
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc9f45478
or eax, 0xc9f45478
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xb6ad8761
mov r8d, 0x640bdbf9
xor r8d, 0xd2a65c98
mov ecx, 0xa34e9a8c
xor ecx, 0x5cb16573
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x742f30f1
xor r8d, 0xc282b790
mov edx, eax
and edx, r8d
or eax, 0xb6ad8761
imul eax, edx
add eax, ecx
cmp eax, 0x62dd7073
jbe 0x140151e15
jmp 0x140151b36
mov rax, qword [rbp + 0x100]
movabs rcx, 0x3c887c1a61822f88
movabs rdx, 0x3c887c1a61822f88
xor rcx, rdx
cmp rax, rcx
jne 0x140151c4e
mov eax, dword [0x1401e0fc0]
xor eax, 0x8f8f04bc
mov r8d, dword [0x1401e0fc4]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0x7d2c545
xor ecx, 0x4876cd31
sub eax, ecx
mov ecx, 0xa3a2ea26
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0x7b21e9b1
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x2282c07d
xor r8d, 0xdd7d3f82
xor ecx, r8d
imul ecx, edx
mov r8d, 0xad9946d4
xor r8d, 0xd6b8af65
mov edx, eax
and edx, r8d
mov r8d, 0x56882275
xor r8d, 0x2da9cbc4
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x12566c97
ja 0x140151e1e
mov rcx, qword [rbp + 0x18]
mov eax, dword [0x1401e0fc8]
mov edx, dword [0x1401e0fcc]
mov r8d, 0x3f4514b4
xor r8d, 0xe773d22
xor edx, r8d
or eax, edx
sub eax, 0xd6bead21
add eax, 0xe67bc944
mov r8d, 0x80d1c8d5
xor edx, edx
div r8d
mov dword [rbp - 0x64], eax
sub rsp, 0x20
call fcn.140152015
mov eax, dword [rbp - 0x64]
add rsp, 0x20
cmp eax, 0x726b69f2
jae 0x140151bf4
jmp 0x140151c8d
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x100]
sub rsp, 0x20
call fcn.14000fb15
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
lea rdx, [rbp + 0x40]
sub rsp, 0x20
call fcn.140152035
add rsp, 0x20
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x140151dff
mov rcx, qword [rbp - 0x70]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140151dff
mov eax, dword [0x1401e0fd0]
mov r8d, dword [0x1401e0fd4]
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, 0x6e028e4
xor ecx, 0x44aae4cd
add eax, ecx
mov ecx, 0x87e6f334
xor ecx, 0x59a63bb6
add eax, ecx
mov ecx, 0x3670c003
xor ecx, 0xb7280023
add eax, ecx
sub eax, 0xde40c882
imul eax, eax, 0x6abf3f5d
cmp eax, 0x38d852ca
je 0x140151e27
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x1401e0fd8]
mov edx, dword [str.__nco]
xor edx, 0xfcd796b8
xor eax, edx
add eax, 0x4eebdee5
mov r9d, 0xffffffff
xor r9d, 0xe44b18e6
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0x37e14ea5
xor r9d, 0xd3aa5643
mov r8d, eax
and r8d, r9d
or eax, 0xe44b18e6
imul eax, r8d
add eax, edx
and eax, eax
xor eax, 0xffffffff
mov edx, 0x80565f0c
xor edx, 0x414538dd
mov r8d, 0x4ee42cef
xor r8d, 0xb11bd310
xor edx, r8d
mov r8d, 0xc03db78
xor r8d, 0xcd10bca9
mov r9d, 0x33f92a19
xor r9d, 0xcc06d5e6
xor r8d, r9d
or edx, r8d
xor eax, 0xffffffff
mov r8d, 0x624ea2ff
xor r8d, 0x9db15d00
xor edx, r8d
or eax, edx
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.14000de03
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0x27f79470
je 0x140151d2d
jmp 0x140151dff
mov rax, qword [rbp + 8]
lea rsp, [rbp + 0x110]
pop rbp
ret
add al, 0x24
imul rbp, rcx, 0x52
cli
invalid
pop rbx
mov edx, 0x2ee983cb
cld
invalid
invalid
test byte [rdi], al
mov al, 0xe9
std
invalid