Function at 0x1400516e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rcx
mov eax, dword [0x1402188a0]
xor eax, 0x2dd7d81c
mov ecx, dword [0x1402188a4]
add eax, 0x3ee899fb
sub eax, ecx
sub eax, 0x3ee899fb
mov ecx, 0xbf1bf1ec
xor ecx, 0xd787990a
xor eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x77a60447
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x857cb56a
xor r8d, 0xf2dab12d
mov edx, eax
and edx, r8d
mov r8d, 0x3b979010
xor r8d, 0x4c319457
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0x71148104
cmp eax, 0xee8d8299
jbe 0x140051999
mov r10d, dword [0x1402188a8]
mov r9d, dword [0x1402188ac]
mov ecx, r10d
not ecx
mov edx, r9d
not edx
mov eax, ecx
and eax, 0xa7fd9605
and r10d, 0x580269fa
mov r8d, edx
and r8d, 0xa7fd9605
and r9d, 0x580269fa
or eax, r10d
or r8d, r9d
xor eax, r8d
or ecx, edx
not ecx
or eax, ecx
add eax, 0x7b895b8a
mov edx, eax
not edx
and edx, 0x5635a0d6
mov ecx, eax
and ecx, 0xa9ca5f29
imul ecx, edx
mov edx, eax
and edx, 0x5635a0d6
or eax, 0x5635a0d6
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xa5d8560a
mov edx, eax
xor edx, 0x5a27a9f5
add eax, edx
sub eax, ecx
mov dword [rbp - 0x3c], eax
mov eax, 0x10
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
sub rsp, 0x20
call fcn.14004e61c
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x3c]
mov qword [rbp - 0x38], r8
mov r8, rcx
add r8, 8
mov qword [rbp - 0x30], r8
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x28], rcx
mov r8, rdx
add r8, 8
mov qword [rbp - 0x20], r8
cmp rcx, qword [rdx + 8]
sete cl
mov byte [rbp - 0x11], cl
cmp eax, 0x5055fa18
je 0x140051770
mov rax, qword [rbp - 0x28]
mov cl, byte [rbp - 0x11]
test cl, 1
mov qword [rbp - 0x50], rax
jne 0x1400518b3
jmp 0x140051878
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 8]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400512b0
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400518d4
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x50]
mov r9, qword [rcx]
mov qword [rax], r9
mov qword [rdx], r8
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x10], rcx
mov eax, dword [0x1402188b0]
add eax, dword [0x1402188b4]
xor eax, 0x31e34e62
add eax, 0x6d1b1fb0
mov ecx, 0x65ccd90c
xor ecx, 0x91f6549b
xor edx, edx
div ecx
mov ecx, 0x9d3b38b4
xor ecx, 0xd6b36454
cmp eax, ecx
ja 0x1400519a2
mov eax, dword [0x1402188b8]
sub eax, dword [0x1402188bc]
mov ecx, 0xb3380542
xor ecx, 0x25c6801e
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, eax
mov edx, 0xd66107ce
xor edx, 0x299ef831
xor eax, edx
mov edx, 0xa4542ba3
xor edx, 0x24fb5362
mov r8d, 0x5747bb69
xor r8d, 0xd7e8c3a8
or edx, r8d
xor edx, 0xffffffff
or eax, edx
mov edx, 0x39a17e1e
xor edx, 0xc65e81e1
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x80af78c1
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
and eax, 0x6c4482e8
mov ecx, 0xa0e09523
xor ecx, 0x6d8bf712
cmp eax, ecx
jae 0x1400519a2
mov rsp, rbp
pop rbp
ret
mov ah, byte [rcx + 0xf]
psubsw mm1, mm6
std
invalid
movabs byte [0xffffff61e9e812a8], al