Function at 0x140150220
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1c0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x28], rcx
mov eax, 0x10
mov qword [rbp - 8], rax
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
mov qword [rbp - 0x18], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp - 0x10], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
sub rsp, 0x20
call fcn.14014d67e
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x18], rax
sub rsp, 0x20
mov edx, 8
call fcn.14014f6eb
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x30]
add rsp, 0x20
mov qword [rax], 0
mov r8, rax
add r8, 8
mov qword [rbp + 0x38], r8
mov qword [rax + 8], 0
movups xmm0, xmmword [rcx]
movups xmmword [rdx], xmm0
sub rsp, 0x20
lea rcx, [rbp + 0x118]
call fcn.14001cda0
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov rdx, qword [rbp + 0x118]
mov rax, qword [rbp + 0x120]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400d8175
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x48]
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x57], al
or al, cl
test al, 1
jne 0x1401504cf
mov rcx, qword [rbp + 0x10]
mov edx, 8
sub rsp, 0x20
call fcn.14014f6eb
mov rax, qword [rbp + 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14015095a
mov eax, dword [0x140259228]
mov ecx, dword [0x14025922c]
mov edx, 0x353a4a0e
xor edx, 0x1e8ee5d
xor ecx, edx
imul eax, ecx
mov ecx, 0xecd861dd
xor ecx, 0xae37d3cb
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0xce6aae28
add eax, ecx
add eax, 1
xor eax, 0xffffffff
mov edx, 0x83c6e8e
xor edx, 0x62d2e7aa
mov ecx, 0xcba98b6
xor ecx, 0xf3456749
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0x6db7ea3a
or eax, edx
or ecx, 0x6db7ea3a
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x6dbb3d1
xor ecx, 0x20dc1b17
cmp eax, ecx
jae 0x140150c99
mov rdx, qword [rbp + 0x28]
mov eax, dword [0x140259230]
and eax, dword [0x140259234]
xor ecx, ecx
sub ecx, 0x76398233
sub eax, ecx
sub eax, 0x44896343
xor eax, 0xbafd264c
mov ecx, 0x383e8eb1
xor ecx, 0x2752296a
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x28], rdx
cmp rdx, 0
sete dl
mov byte [rbp - 0x19], dl
cmp eax, ecx
jbe 0x140150c99
mov al, byte [rbp - 0x19]
test al, 1
jne 0x140150c90
jmp 0x14015045b
mov rax, qword [rbp - 0x28]
mov rdx, qword [rax]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
and rdx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x821cc0edc79e46c1
movabs r9, 0x7de33f123861b93e
xor r8, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp - 0x30], rax
je 0x140150c7f
jmp 0x140150c90
mov ecx, dword [0x140259238]
xor ecx, 0xa7da092
mov eax, dword [0x14025923c]
sub ecx, 0xb4d2d14
add ecx, eax
add ecx, 0xb4d2d14
mov edx, 0x5022cfe6
xor edx, 0x5a6299cd
mov eax, ecx
and eax, edx
mov edx, 0x8c9b1028
xor edx, 0x86db4603
xor ecx, edx
or eax, ecx
add eax, 0xa1995f6d
mov ecx, 0xf9b6d869
xor ecx, 0xf9b6d869
sub ecx, eax
xor eax, eax
sub eax, 0x66f3f8c5
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x18c6c8d4
xor ecx, 0xe6eb3cd5
cmp eax, ecx
je 0x140150ca2
mov eax, dword [0x140259240]
xor edx, edx
div dword [0x140259244]
mov ecx, eax
and ecx, 0x360ad3bf
shl ecx, 1
add eax, 0x360ad3bf
sub eax, ecx
mov ecx, 0x28e6ac4a
xor edx, edx
div ecx
mov edx, 0xeda383b3
xor edx, 0x3d0891c8
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0xd0ab127b
and eax, ecx
cmp eax, 0xfaf4803c
je 0x140150ca2
mov al, byte [rbp + 0x57]
test al, 1
jne 0x14015095a
jmp 0x14015059c
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax]
mov qword [rbp + 0x108], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x110], rax
lea rdx, [rbp + 0x108]
xor eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.1400d1450
mov rax, qword [rbp + 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14015095a
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.14001b8b0
mov rdx, qword [rbp]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0xf8]
sub rsp, 0x20
call fcn.14001cda0
add rsp, 0x20
mov rax, qword [rbp + 0xf8]
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0x100]
mov qword [rbp - 0x40], rax
mov ax, 0x470f
xor ax, 0x4fec
mov word [rbp + 0x13e], ax
lea rcx, [rbp + 0x13e]
sub rsp, 0x20
call fcn.140067800
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x38], rcx
mov al, byte [rax]
mov cl, 0x8b
xor cl, 0x8b
cmp al, cl
jne 0x14015095a
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe0], rax
lea rcx, [rbp + 0xe8]
lea rdx, [rbp + 0xd8]
sub rsp, 0x20
call fcn.14001cda0
mov r9, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
mov r8, qword [rbp + 8]
add rsp, 0x20
mov rcx, qword [rbp + 0xe8]
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0xb0], r9
mov qword [rbp + 0xb8], rdx
mov qword [r8], rcx
mov qword [r8 + 8], rax
lea rcx, [rbp + 0xc0]
lea rdx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.14014e060
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, qword [rbp + 0xc0]
mov qword [rcx], rdx
mov rdx, qword [rbp + 0xc8]
mov qword [rcx + 8], rdx
mov rdx, qword [rbp + 0xd0]
mov qword [rcx + 0x10], rdx
cmp byte [rax], 0
jne 0x14015095a
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
mov qword [rbp + 0x128], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x130], rax
sub rsp, 0x20
call fcn.1400102b5
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov word [rcx], 0xb2f
sub rsp, 0x20
call fcn.140067800
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x58], rcx
cmp byte [rax], 0
jne 0x14015095a
mov rax, qword [rbp - 0x58]
mov rcx, qword [rax]
mov qword [rbp + 0x90], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x90]
sub rsp, 0x20
call fcn.14001cda0
add rsp, 0x20
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0x128]
mov qword [rbp + 0x68], rdx
mov rdx, qword [rbp + 0x130]
mov qword [rbp + 0x70], rdx
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x68]
lea r8, [rbp + 0x58]
sub rsp, 0x20
call fcn.14014e060
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, qword [rbp + 0x78]
mov qword [rcx + 0x18], rdx
mov rdx, qword [rbp + 0x80]
mov qword [rcx + 0x20], rdx
mov rdx, qword [rbp + 0x88]
mov qword [rcx + 0x28], rdx
cmp byte [rax], 0
jne 0x14015095a
mov eax, dword [0x140259248]
xor eax, 0x71c0792e
mov ecx, dword [str._a.07]
xor ecx, 0xc7160138
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xadc04b26
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x90fe3eea
xor r8d, 0x3d3e75cc
mov edx, eax
and edx, r8d
mov r8d, 0x9bc243e8
xor r8d, 0x360208ce
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x585e951e
mov edx, 0xf4b46490
xor edx, 0xf4b46490
mov r8d, 0x932b8f
xor r8d, 0x932b8e
sub edx, r8d
sub ecx, edx
sub eax, ecx
mov ecx, 0x938562c4
xor ecx, 0xb089a968
xor edx, edx
div ecx
cmp eax, 0xad1a3d42
je 0x140150cab
mov eax, dword [0x140259250]
mov r8d, dword [0x140259254]
xor r8d, 0xf513569e
mov ecx, 0x234fab24
xor ecx, 0xdcb054db
mov edx, r8d
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
add eax, 0x8fe72f56
xor eax, 0x88b41f59
sub eax, 0xbe6dd7aa
sub eax, 0x736d695e
mov ecx, 0xc886766a
xor ecx, 0x76eba1c0
add eax, ecx
mov dword [rbp - 0x5c], eax
sub rsp, 0x20
call fcn.14014d67e
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.14014f6eb
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x50]
call fcn.14014dbe0
mov eax, dword [rbp - 0x5c]
add rsp, 0x20
cmp eax, 0x2937624b
je 0x140150cab
jmp 0x14015095a
mov rax, qword [rbp + 0x28]
mov rax, qword [rax + 8]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x140150af8
mov eax, dword [0x140259258]
xor eax, dword [0x14025925c]
imul r8d, eax, 0xcf501a93
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x37e27e90
mov r9d, 0xffffffff
xor r9d, 0x37e27e90
and r8d, r9d
mov ecx, 0x1f33952a
xor ecx, 0xfba813ef
mov edx, 0xa06df505
xor edx, 0x5f920afa
xor ecx, edx
and ecx, 0x37e27e90
mov edx, 0xbf6c78b8
xor edx, 0x5bf7fe7d
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x152f9c57
mov edx, 0xffffffff
xor edx, 0x152f9c57
and eax, edx
sub eax, ecx
cmp eax, 0xf7efc5a9
je 0x140150cb4
mov rcx, qword [rbp - 0x68]
mov eax, dword [0x140259260]
mov edx, 0xdf4e359
xor edx, 0x232fe34a
xor eax, edx
add eax, dword [0x140259264]
mov edx, 0xa284f27c
xor edx, 0x89868593
xor eax, edx
mov edx, 0x9d20beec
xor edx, 0x9f70adf0
sub eax, edx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x65adca1a
mov edx, 0xe9aa283
xor edx, 0x658119bb
mov r9d, 0x9aebdc01
xor r9d, 0x651423fe
xor edx, r9d
or eax, r8d
or edx, 0x6b1bbb38
xor eax, 0xffffffff
and eax, edx
mov rcx, qword [rcx]
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor r8, rdx
mov rdx, 0xffffffffffffffff
movabs r9, 0x3ce9b04ea324f7bb
xor rdx, r9
or rcx, r8
movabs r8, 0x3ce9b04ea324f7bb
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0xe6e87c27ec16576e
movabs r8, 0xe6e87c27ec16576e
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0xc1b25ca3
ja 0x1401509f6
mov al, byte [rbp - 0x69]
test al, 1
jne 0x140150ae7
jmp 0x140150af8
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000e9f6
add rsp, 0x20
mov eax, dword [0x140259268]
xor eax, dword [0x14025926c]
xor eax, 0x8606a5b
mov ecx, 0xa546c8fc
xor ecx, 0xb148bc8
sub eax, ecx
sub eax, 0x4a5b79b7
cmp eax, 0xf73fc408
jae 0x140150cbd
mov rdx, qword [rbp + 0x38]
mov eax, dword [0x140259270]
xor eax, 0x6956821c
add eax, dword [0x140259274]
sub eax, 0x758a548f
mov ecx, 0xc319919c
xor ecx, 0x83a1595
imul eax, ecx
xor eax, 0xa4828200
mov ecx, 0xce3992be
xor ecx, 0x46d2596c
mov rdx, qword [rdx]
mov qword [rbp - 0x78], rdx
cmp rdx, 0
sete dl
mov byte [rbp - 0x6a], dl
cmp eax, ecx
je 0x140150b26
mov al, byte [rbp - 0x6a]
test al, 1
jne 0x140150c90
jmp 0x140150b87
mov edx, dword [0x140259278]
mov eax, dword [0x14025927c]
mov ecx, edx
xor ecx, eax
xor eax, 0xffffffff
and edx, eax
mov eax, 0xce5c8f06
xor eax, 0xce5c8f04
imul eax, edx
sub eax, ecx
mov ecx, 0xc2f71bce
xor ecx, 0x1530ec2c
sub eax, ecx
mov edx, 0x1f914256
xor edx, 0xe06ebda9
mov ecx, eax
xor ecx, edx
and ecx, 0xa00824f8
mov edx, 0xffffffff
xor edx, 0xa00824f8
and eax, edx
or ecx, eax
mov eax, ecx
and eax, 0x7d3a1f51
xor ecx, 0x7d3a1f51
or eax, ecx
cmp eax, 0x426f7f68
je 0x140150cc6
mov eax, dword [0x140259280]
xor eax, 0xdf456c83
mov edx, dword [0x140259284]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
mov ecx, 0xa1a11e11
xor ecx, 0x1ec40ed0
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x78]
mov ecx, 0xf10d0287
xor ecx, 0x2f4cd44f
sub eax, ecx
mov ecx, eax
xor ecx, 0xb465c256
xor ecx, 0xffffffff
or eax, 0xb465c256
and eax, ecx
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rbp - 0x79], cl
cmp eax, 0xe1febcc9
ja 0x140150bf6
mov rax, qword [rbp - 0x78]
mov cl, byte [rbp - 0x79]
test cl, 1
mov qword [rbp - 0x30], rax
jne 0x140150c7f
jmp 0x140150c90
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.14000e9f6
add rsp, 0x20
lea rsp, [rbp + 0x140]
pop rbp
ret
cld
hlt
scasb al, byte [rdi]
add ch, byte [rdx - 0x76b16c3]
invalid
idiv byte [rax]
cli
push rdx
jmp 0x1401508c2
outsb dx, byte [rsi]
in eax, 0xd9
jmp 0x1401509f6
invalid
mov ch, 0xcf
xadd ecx, ebp
invalid