Function at 0x1401506c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x28], rcx
mov eax, 0x10
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov rdx, qword [rdx]
mov qword [rbp - 0x18], rdx
mov dword [rax], edx
mov rcx, qword [rcx]
mov qword [rbp - 0x10], rcx
mov rdx, 0xffffffffffffffff
xor rdx, 4
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rbp - 8], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x6e237f75d5dcba0
movabs rdx, 0x6e237f75d5dcba0
xor rcx, rdx
cmp rax, rcx
jge 0x140150753
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
jmp 0x140150d78
mov eax, dword [0x14024a778]
mov ecx, 0xa3c02eb1
xor ecx, 0x7e667ee7
xor eax, ecx
mov r8d, dword [0x14024a77c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xdbec4537
xor ecx, 0x36073bd6
add eax, ecx
add eax, 0xedb148e4
sub eax, 0xedeb7ee1
mov ecx, 0xaff8cfa8
xor ecx, 0xffd9fade
imul eax, ecx
mov ecx, 0x142251fa
xor edx, edx
div ecx
cmp eax, 0xc191805f
jae 0x140150d7d
mov r9, qword [rbp - 0x18]
mov r10, qword [rbp - 8]
mov eax, dword [0x14024a780]
xor edx, edx
div dword [0x14024a784]
mov ecx, 0xbeac6c95
xor edx, edx
div ecx
mov ecx, 0xf4362236
xor ecx, 0xb945aba4
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0x76e1817f
mov eax, ecx
xor eax, edx
and eax, ecx
mov r8, r10
add r8, r9
mov qword [rbp - 0x40], r8
movabs rdx, 0x639dcc3c6aa4e534
movabs rcx, 0x9c6233c3955b1acb
xor rdx, rcx
mov rcx, r8
xor rcx, rdx
mov rdx, r10
and rdx, rcx
xor r10, 0xffffffffffffffff
mov rcx, r8
and rcx, r10
or rdx, rcx
mov r10, r8
xor r10, r9
movabs rcx, 0xfa873eef88bd3bfa
movabs r11, 0x578c1107742c405
xor rcx, r11
xor r10, rcx
mov rcx, r9
and rcx, r10
shl rcx, 1
sub rcx, r9
sub r8, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r10, 0x1a58548d5deeb7fd
movabs r9, 0xe5a7ab72a2114802
xor r10, r9
mov r9, r8
xor r9, r10
or rcx, r9
movabs r9, 0x6a8fe3e653f92f62
movabs r10, 0x95701c19ac06d09d
xor r9, r10
xor rdx, r9
xor r8, 0xffffffffffffffff
or rdx, r8
and rcx, rdx
movabs rdx, 0x205e9bbc63c7405f
movabs r8, 0xdfa164439c38bfa0
xor rdx, r8
xor rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp - 0x31], cl
cmp eax, 0xd43b3654
jae 0x1401507ca
mov al, byte [rbp - 0x31]
test al, 1
jne 0x1401508ff
jmp 0x140150911
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
jmp 0x140150d78
mov eax, dword [0x14024a788]
add eax, dword [0x14024a78c]
add eax, 0x753c52dc
add eax, 0xb69ba513
sub eax, 0x753c52dc
imul eax, eax, 0x752d088f
mov ecx, 0x7ec0443
xor edx, edx
div ecx
cmp eax, 0x580b3239
ja 0x140150d86
mov eax, dword [0x14024a790]
and eax, dword [0x14024a794]
mov ecx, 0xffffffff
xor ecx, 0x8af7cc
add eax, ecx
mov ecx, 0xac28c98d
xor ecx, 0xac28c98c
add eax, ecx
mov ecx, 0x78ec5d3
xor edx, edx
div ecx
mov ecx, 0x6c72c551
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x40]
mov ecx, 0xd16c8e3b
xor ecx, 0x30c5ce1
cmp rdx, 0
setl dl
mov byte [rbp - 0x41], dl
cmp eax, ecx
ja 0x140150d86
mov al, byte [rbp - 0x41]
test al, 1
jne 0x1401509af
jmp 0x1401509f3
mov rcx, qword [rbp - 0x40]
movabs rdx, 0x89fc1ad5694e8e64
movabs rax, 0x89fc1ad5694e8e64
xor rdx, rax
movabs r8, 0xa87cc5460c642ee1
movabs rax, 0xd7833ab9f39bd11e
xor r8, rax
sub rsp, 0x20
call fcn.14000db87
add rsp, 0x20
jmp 0x140150d78
mov eax, dword [0x14024a798]
and eax, dword [0x14024a79c]
mov r8d, 0x9f83ee61
xor r8d, 0xc43bf701
mov ecx, 0xcac83bf0
xor ecx, 0x3537c40f
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x7e2f47df
xor r8d, 0x25975ebf
mov edx, eax
and edx, r8d
or eax, 0x5bb81960
imul eax, edx
add eax, ecx
mov r8d, 0x662652ee
xor r8d, 0xe2c22a6b
mov ecx, 0xacd04c0a
xor ecx, 0x532fb3f5
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x84e47885
or eax, 0x84e47885
imul eax, edx
add eax, ecx
mov ecx, 0x43b56d11
xor ecx, 0x43b56d11
mov edx, 0x4e771ded
xor edx, 0xa3d20041
sub ecx, edx
sub eax, ecx
cmp eax, 0xf0613ade
jae 0x140150d8f
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x40]
mov r8d, dword [0x14024a7a0]
mov r10d, dword [0x14024a7a4]
mov r11d, r10d
not r11d
mov eax, r8d
and eax, r11d
mov r9d, r8d
or r9d, r11d
not r9d
imul r9d, eax
mov eax, r8d
and eax, r10d
or r8d, r10d
imul r8d, eax
mov eax, r8d
mov r8d, r9d
lea eax, [rax + r8 + 0x4b6b1558]
mov r8d, 0x8f5d1a2d
imul rax, r8
shr rax, 0x3b
add eax, 0x8b187edd
mov dword [rbp - 0x54], eax
mov eax, 0xef7e4746
mov dword [rbp - 0x58], eax
sub rsp, 0x20
call fcn.140014570
mov r9, qword [rbp - 0x28]
mov r8, qword [rbp - 0x10]
mov ecx, dword [rbp - 0x58]
mov eax, dword [rbp - 0x54]
add rsp, 0x20
test r8, r8
setns dl
mov r9, qword [r9]
mov qword [rbp - 0x50], r9
sub r8, r9
setl r8b
and dl, r8b
mov byte [rbp - 0x42], dl
cmp eax, ecx
jae 0x140150aa8
mov al, byte [rbp - 0x42]
test al, 1
jne 0x140150b7b
jmp 0x140150b5d
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x140150d78
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x10]
mov r8, rax
add r8, 8
mov qword [rbp - 0x68], r8
mov rax, qword [rax + 8]
lea rcx, [rax + rcx + 8]
sub rsp, 0x20
mov r8d, 4
call fcn.14014f174
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 8]
add rsp, 0x20
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x60], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140150bf1
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x140150d78
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 1
jge 0x140150c3a
mov rdx, qword [rbp - 0x70]
movabs rax, 0xcc449a8ffe3ffff
movabs rcx, 0xf33bb657001c0000
xor rax, rcx
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x140150d78
mov r8d, dword [0x14024a7a8]
mov eax, dword [0x14024a7ac]
mov ecx, 0xe1c8b81a
xor ecx, 0xc28b9f57
sub r8d, ecx
add r8d, eax
add r8d, 0x2343274d
sub r8d, 0x5393ff5d
mov eax, 0xb97fa7ca
xor eax, 0x219e5bb6
sub r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x2e66afb3
mov r9d, 0xffffffff
xor r9d, 0x2e66afb3
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0x69b45fea
mov edx, 0xd8efd767
xor edx, 0xf68978d4
and ecx, edx
mov edx, 0x8cb4310e
xor edx, 0xe5006ee4
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x3ba98f8f
jb 0x140150d98
mov r8, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x68]
mov eax, dword [0x14024a7b0]
xor eax, 0x3a796f6f
xor eax, dword [0x14024a7b4]
mov r9d, 0x35b274d5
xor edx, edx
div r9d
mov rdx, qword [rbp - 8]
mov r9d, eax
mov rax, qword [rbp - 0x30]
mov r10d, 0x4ef18dc9
xor r10d, 0xb5bd2cad
sub r9d, r10d
sub r9d, 0x897447ea
add r9d, 0xfb4ca164
sub r9d, 0x5bda70da
add r9d, 0xeecc9729
mov r10d, 0xf697e585
xor r10d, 0xad4d955f
add r9d, r10d
mov dword [rbp - 0x74], r9d
mov r9d, 0x6e647a49
xor r9d, 0x5c661a33
mov dword [rbp - 0x78], r9d
mov rcx, qword [rcx]
add rcx, 8
add rcx, rdx
mov rdx, qword [rax + 8]
add rdx, 8
sub rsp, 0x20
call fcn.14014f174
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, ecx
jbe 0x140150cc6
or byte [rax - 0x7d], cl
in al, dx
and al, ch
adc esp, esp
invalid
jmp 0x140150d78
mov rsp, rbp
pop rbp
ret
mov bh, 0x43
in eax, 0xe9
cli
invalid
movabs rax, qword [0xcdfffffbb7e97ee2]
jrcxz 0x140150d57
int 0xe3
invalid
cmpsd dword [rsi], dword [rdi]
jmp 0x140150aa8
insb byte [rdi], dx
sti
xchg byte [rcx + rbp*8], bl
and eax, 0x66ffffff
nop word cs:[rax + rax]