Function at 0x140158850
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xe8
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x70], rcx
call fcn.140154e7d
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x88], rax
movabs rax, 0xccfb1015709605fb
movabs r8, 0xccfb1015709605fb
xor rax, r8
mov qword [rcx], rax
mov qword [rcx + 8], 0
mov rax, qword [rdx]
mov qword [rsp + 0xc8], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0xc8]
call fcn.140131b00
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x90], rcx
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x98], rcx
mov cl, byte [rax]
mov dl, 0xdf
xor dl, 0xdf
xor eax, eax
cmp cl, dl
mov qword [rsp + 0xa0], rax
jne 0x140158b39
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0xb8]
lea rdx, [rsp + 0xa8]
mov r8d, 5
call fcn.140028950
mov r8, qword [rsp + 0xb8]
mov qword [rsp + 0x58], r8
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x60], rax
mov rax, r8
add rax, 0xffffffffffffffff
mov qword [rsp + 0x68], rax
movabs rdx, 0xada0ea54d3820ce
movabs rcx, 0xf525f15ab2c7df31
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x941cab65f61ad305
and rcx, rdx
movabs r10, 0xf3f4053a6054a5a9
movabs rdx, 0x67e8ae5f964e76ac
xor r10, rdx
movabs rdx, 0xeb187b2ed6bdbcac
movabs r9, 0x14e784d129424353
xor rdx, r9
xor r10, rdx
mov r9, rax
and r9, r10
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r11, 0x941cab65f61ad305
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
xor dl, 0xff
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x140158a18
jmp 0x140158a2f
call fcn.140008bc6
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rax
jmp 0x140158b39
mov rax, qword [rsp + 0x58]
cmp rax, 0xffffffffffffffff
jg 0x140158a76
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
movabs rcx, 0xd58a624c81b2e18
movabs rax, 0xd58a624c81b2e18
xor rcx, rax
call fcn.14002180c
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rax
jmp 0x140158b39
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
cmp r9, 0
sete al
mov byte [rsp + 0x57], al
mov rdx, r9
add rdx, 8
xor eax, eax
cmp r9, 0
cmove rdx, rax
call fcn.140158280
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x60]
cmp byte [rcx], 0
mov qword [rsp + 0xa0], rax
jne 0x140158b39
mov rax, qword [rsp + 0x98]
cmp rax, 0
je 0x140158b02
mov rcx, qword [rsp + 0x98]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140158b02
mov rcx, qword [rsp + 0x98]
call fcn.140010918
mov al, byte [rsp + 0x57]
test al, 1
jne 0x140158ec4
jmp 0x140158b13
mov rax, qword [rsp + 0x60]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
cmp rcx, 0
mov qword [rsp + 0x48], rax
je 0x140158d10
jmp 0x140158ec4
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0x40], rcx
cmp rax, 0
je 0x140158cb0
mov ecx, dword [0x140220038]
mov edx, dword [0x14022003c]
xor edx, 0x54cee94e
xor eax, eax
sub eax, edx
sub ecx, eax
mov edx, 0x2ee4fcdd
xor edx, 0xd11b0322
mov eax, ecx
xor eax, edx
and eax, 0x5f0c5e1f
mov edx, 0xffffffff
xor edx, 0x5f0c5e1f
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov edx, 0xd4c4ae29
xor edx, 0x4016683a
mov ecx, 0x1683043d
xor ecx, 0xe97cfbc2
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0x6577eb06
or eax, edx
or ecx, 0x6577eb06
xor eax, 0xffffffff
and eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x14d3e764
add ecx, eax
mov eax, 0xcc771042
xor eax, 0xcc771042
sub eax, ecx
cmp eax, 0xa4128ad4
jae 0x140158f72
mov rdx, qword [rsp + 0x98]
mov eax, dword [0x140220040]
mov r8d, dword [0x140220044]
xor r8d, 0xbc4ec936
mov ecx, eax
xor ecx, 0xffffffff
and ecx, r8d
xor r8d, 0xffffffff
and eax, r8d
sub eax, ecx
mov r8d, 0xb14f4f7f
xor r8d, 0x4eb0b080
mov ecx, eax
xor ecx, r8d
and ecx, 0x54c27aa9
mov r8d, 0xffffffff
xor r8d, 0x54c27aa9
and eax, r8d
sub eax, ecx
xor eax, 0xcb4c559a
mov r8d, 0x4ab8e2be
xor r8d, 0x4ab8e2bf
mov ecx, eax
add ecx, r8d
mov r8d, 0x8ad81729
xor r8d, 0x7527e8d6
xor eax, r8d
or eax, 0xf97f973
add eax, ecx
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xf6a0249b
jae 0x140158f72
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140158ca3
jmp 0x140158cb0
mov rcx, qword [rsp + 0x98]
call fcn.140010918
mov rax, qword [rsp + 0x40]
cmp rax, 0
je 0x140158ec4
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax]
movabs r8, 0x5edbfb902375891c
movabs rcx, 0x1edbfb902375891c
xor r8, rcx
movabs rcx, 0xaad860227afc98cf
movabs r9, 0x55279fdd85036730
xor rcx, r9
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x48], rax
jne 0x140158ec4
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rax
mov r8d, dword [0x140220048]
mov edx, dword [0x14022004c]
mov eax, 0x9aabfa7d
xor eax, 0x65540582
mov ecx, r8d
xor ecx, eax
and ecx, 0x6cd27603
mov r9d, 0xffffffff
xor r9d, 0x6cd27603
and r8d, r9d
mov eax, edx
xor eax, 0xffffffff
and eax, 0x6cd27603
and edx, r9d
or ecx, r8d
or eax, edx
xor ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x7f2f285c
and ecx, 0x7f2f285c
mov edx, 0xe0bde7a9
xor edx, 0x1f421856
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x3f95c784
xor ecx, 0x372b4a67
add eax, ecx
mov edx, 0xd3b801d5
xor edx, 0xc3aa1a39
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x10121bec
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x497b3a2d
xor ecx, 0x1369782f
cmp eax, ecx
jbe 0x140158f7b
mov rcx, qword [rsp + 0x30]
mov r8d, dword [0x140220050]
mov edx, dword [0x140220054]
xor edx, 0xd8a74d6e
mov eax, r8d
xor eax, edx
xor edx, 0xffffffff
and r8d, edx
mov edx, 0xb95156a2
xor edx, 0xb95156a0
imul edx, r8d
sub edx, eax
mov r8d, 0xb817805c
xor r8d, 0xf74a1557
mov eax, edx
and eax, r8d
mov r8d, 0x1010de80
xor r8d, 0x1010de82
imul eax, r8d
xor edx, 0x4f5d950b
add edx, eax
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x264f953f
mov r9d, 0xffffffff
xor r9d, 0x264f953f
and r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0xd05deda4
xor r8d, 0x2fa2125b
xor edx, r8d
mov r8d, 0xbcab959b
xor r8d, 0x9ae400a4
mov r9d, 0x115418a8
xor r9d, 0xeeabe757
xor r8d, r9d
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and edx, 0x7739168c
mov r8d, 0xffffffff
xor r8d, 0x7739168c
and eax, r8d
sub eax, edx
mov dword [rsp + 0x2c], eax
call fcn.140010918
mov eax, dword [rsp + 0x2c]
cmp eax, 0x7dbea965
jb 0x140158f7b
jmp 0x140158ec4
mov eax, dword [0x140220058]
xor edx, edx
div dword [0x14022005c]
mov ecx, 0x92aeddff
xor ecx, 0x73bee468
xor edx, edx
div ecx
or eax, 0x957b05a9
mov ecx, eax
and ecx, 0x9d0dd7fe
mov edx, 0x2092aca2
xor edx, 0xdf6d535d
xor ecx, edx
add eax, 0x9d0dd7fe
add eax, 1
add eax, ecx
mov ecx, 0x8a0c572f
xor ecx, 0xfdf461c5
cmp eax, ecx
je 0x140158f84
mov eax, dword [0x140220060]
xor eax, 0x789d90da
and eax, dword [0x140220064]
xor eax, 0x9a229b27
sub eax, 0xe8ec3ac7
mov ecx, 0x6af4e371
xor ecx, 0xb50a6dde
add eax, ecx
add eax, 0xab069fe1
mov ecx, 0xcd05b9f3
xor ecx, 0x12fb375c
sub eax, ecx
mov ecx, 0x9b1fea65
xor ecx, 0xca863fe
cmp eax, ecx
je 0x140158f18
mov rax, qword [rsp + 0x70]
add rsp, 0xe8
ret
sbb al, 0x8a
xchg byte [rcx - 0x39017], dl
invalid
cmp cl, byte [rbx]
ret 0x44e9
sub al, 0x5d
invalid