Function at 0x1400505e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xd0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x38], r8
mov qword [rbp + 0x40], rdx
mov qword [rbp + 0x48], rcx
mov ecx, dword [0x1401da360]
sub ecx, dword [0x1401da364]
sub ecx, 0x7260191
sub ecx, 0x5f22705c
add ecx, 0x7260191
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x3f2ec76f
xor edx, 0x9f4b0bd9
mov r8d, 0x6275458c
xor r8d, 0x9d8aba73
xor edx, r8d
or eax, edx
mov edx, 0xffffffff
xor edx, 0xa065ccb6
mov r8d, 0x33a2058f
xor r8d, 0x93c7c939
mov r9d, 0xb2e68d45
xor r9d, 0x4d1972ba
xor r8d, r9d
or edx, r8d
mov r8d, 0xb47e6053
xor r8d, 0x4b819fac
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
or eax, 0x5a05a0db
cmp eax, 0xb350bf4e
jbe 0x140050a91
mov eax, dword [0x1401da368]
mov ecx, eax
xor ecx, 0x4fd1764e
mov edx, dword [0x1401da36c]
xor eax, 0xb02e89b1
mov r8d, edx
not r8d
or eax, r8d
not eax
or ecx, edx
not ecx
or eax, ecx
not eax
mov ecx, 0x9d1779fd
imul rax, rcx
shr rax, 0x3a
mov ecx, eax
or ecx, 0x40222108
not eax
and eax, 0xa019090
and ecx, 0x40222109
or eax, ecx
xor eax, 0xa71627bc
mov dword [rbp + 0x24], eax
mov eax, 0x10
mov qword [rbp - 8], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
sub rsp, 0x20
call fcn.140043a70
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x18], rdx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14003238e
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x24]
mov qword [rbp + 0x28], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x37], cl
cmp eax, 0x150efd8b
jb 0x140050696
mov al, byte [rbp + 0x37]
test al, 1
jne 0x140050795
jmp 0x140050a87
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x28]
movabs r9, 0x514d9bc8a5edbdb7
movabs r8, 0x514d9bc8a5edbdb7
xor r9, r8
movabs r8, 0xb185c3b8bbd87d26
movabs r10, 0xb185c3b8b0fc81e8
xor r8, r10
cmp rdx, r9
cmove rdx, r8
mov qword [rbp - 0x20], rdx
mov qword [rcx], rdx
mov rcx, qword [rax]
mov qword [rbp - 0x18], rcx
movabs rdx, 0x94978390e4f057a0
movabs rax, 0x94978390e4f057a0
xor rdx, rax
mov rax, 0xffffffffffffffff
cmp rcx, rdx
mov qword [rbp - 0x10], rax
je 0x140050a87
mov rax, qword [rbp + 0x48]
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x18]
movabs r8, 0x684d9ca2afa4230e
movabs r9, 0x97b2635d505bdcf1
xor r8, r9
add rcx, r8
and rcx, rdx
add rax, 8
mov qword [rbp - 0x38], rax
mov rax, 0xffffffffffffffff
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x40], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14005091e
mov eax, dword [0x1401da370]
mov edx, dword [0x1401da374]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
add eax, 0x1015ca55
mov ecx, 0x156ab5bf
xor edx, edx
div ecx
add eax, 0xa17bc2cb
mov ecx, 0xf81a7280
xor ecx, 0x697bfafc
cmp eax, ecx
jb 0x140050a9a
mov rcx, qword [rbp - 0x48]
mov eax, dword [0x1401da378]
xor eax, dword [0x1401da37c]
add eax, 0x3e8c8c5
mov r8d, 0x9aadf94d
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x40]
imul eax, eax, 0xc6d05ca2
mov dword [rbp - 0x54], eax
mov eax, 0xfd6c3fb7
xor eax, 0x353bd0c1
mov dword [rbp - 0x58], eax
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140012270
mov ecx, dword [rbp - 0x58]
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, ecx
jae 0x140050a9a
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x10], rax
jmp 0x140050a87
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
add rax, 8
shl rcx, 5
add rax, rcx
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
cmp rax, 0
je 0x140050a65
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x38]
cmp rax, qword [rcx]
jne 0x1400509c5
mov r9, qword [rbp - 0x48]
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp]
mov rax, qword [rbp + 0x40]
mov r8, qword [rbp - 0x68]
add r8, 8
shl r9, 5
add r8, r9
add r8, 8
mov r9, qword [r8]
mov qword [rcx], r9
mov r8, qword [r8 + 8]
mov qword [rcx + 8], r8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14005f140
mov rcx, qword [rbp - 0x48]
add rsp, 0x20
mov dl, al
xor eax, eax
test dl, 1
mov rdx, rcx
mov qword [rbp - 0x80], rdx
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jne 0x140050a3d
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x40]
movabs r8, 0x5fd638ad81627da6
movabs rdx, 0xa029c7527e9d8259
xor r8, rdx
mov rdx, rax
and rdx, r8
movabs r8, 0x4c24d6234610c62
movabs r9, 0xfb3db29dcb9ef39d
xor r8, r9
or rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140044fc0
mov r8, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x50]
mov cl, 1
cmp byte [r8], 0
mov qword [rbp - 0x80], rdx
mov rdx, rax
mov qword [rbp - 0x78], rdx
mov byte [rbp - 0x69], cl
mov qword [rbp - 0x10], rax
jne 0x140050a87
mov rcx, qword [rbp - 0x80]
mov rax, qword [rbp - 0x78]
mov dl, byte [rbp - 0x69]
test dl, 1
mov qword [rbp - 0x30], rcx
mov rcx, rax
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x10], rax
jne 0x14005084f
jmp 0x140050a87
mov rax, qword [rbp - 0x48]
movabs rcx, 0xb450e3b8f4980178
movabs rdx, 0x4baf1c470b67fe87
xor rcx, rdx
xor rax, rcx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
lea rsp, [rbp + 0x50]
pop rbp
ret
invalid
pop rax
outsb dx, byte [rsi]
xor dl, dh
jmp 0x1400508b8