Function at 0x14005d850
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], r9
mov qword [rbp], r8
mov qword [rbp + 8], rdx
mov qword [rbp + 0x10], rcx
mov eax, dword [0x1402aa760]
xor eax, 0x7fa615e5
mov r8d, dword [0x1402aa764]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0xffffffff
xor edx, 0x78e85c7e
mov ecx, eax
xor ecx, edx
and ecx, eax
mov edx, 0xffffffff
xor edx, 0xcfe65627
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xb1e50638
xor ecx, 0xb1e50638
mov edx, 0xfb61094a
xor edx, 0x1013276e
sub ecx, edx
add eax, ecx
cmp eax, 0x4121fdfb
jbe 0x14005dcb1
mov eax, dword [0x1402aa768]
mov ecx, dword [0x1402aa76c]
xor eax, ecx
xor eax, 0x1700a076
imul eax, eax, 0x5785a0ee
mov ecx, 0xc3b854c1
imul rax, rcx
shr rax, 0x3c
xor eax, 0x2b40f147
mov dword [rbp - 0x24], eax
mov eax, 0x10
mov qword [rbp - 0x40], rax
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x58], rax
mov eax, 0x800
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x50], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x48], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp + 0x10]
mov r8, qword [rbp]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x24]
add rdx, 0x60
mov qword [rbp - 0x20], rdx
mov r9, qword [rcx]
xor ecx, ecx
sub rcx, r8
mov rdx, r9
add rdx, rcx
mov qword [rbp - 0x18], rdx
mov rcx, rdx
xor rcx, r9
cmp rcx, 0
setl cl
xor rdx, r8
movabs r8, 0xe25ba23bbf282a85
movabs r9, 0x1da45dc440d7d57a
xor r8, r9
cmp rdx, r8
setg dl
xor cl, 0xff
xor dl, 0xff
mov r8b, 1
xor r8b, 0
or cl, dl
xor edx, edx
xor dl, 0
or dl, r8b
xor cl, 0xff
and cl, dl
mov byte [rbp - 9], cl
cmp eax, 0x1ad81ba3
je 0x14005d8f0
mov al, byte [rbp - 9]
test al, 1
jne 0x14005da28
jmp 0x14005da40
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x60], rax
jmp 0x14005dca6
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 8]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rcx
cmp rax, rcx
setl cl
mov al, cl
and al, 1
neg al
movsx rax, al
mov qword [rbp - 0x68], rax
mov rax, 0xffffffffffffffff
test cl, 1
mov qword [rbp - 0x60], rax
jne 0x14005dca6
mov rax, qword [rbp - 0x70]
cmp rax, 1
jne 0x14005dac4
mov r9, qword [rbp - 8]
mov r8, qword [rbp]
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp + 0x10]
mov rdx, qword [rbp + 8]
mov rdx, qword [rdx + 8]
mov dl, byte [rdx + 8]
mov r10, qword [rax]
mov qword [rcx], r10
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14005b4b0
add rsp, 0x20
mov qword [rbp - 0x60], rax
jmp 0x14005dca6
mov eax, dword [0x1402aa770]
or eax, dword [0x1402aa774]
mov ecx, eax
add ecx, 1
mov edx, 0x3f83ec32
xor edx, 0xc07c13cd
xor eax, edx
or eax, 0xc37ed11f
add eax, ecx
mov ecx, 0x8b36bba5
xor ecx, 0xfab18b11
and eax, ecx
mov edx, 0x7b36f752
xor edx, 0x7b36f753
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x542090c9
add eax, ecx
cmp eax, 0x1b70966f
je 0x14005dcba
mov eax, dword [0x1402aa778]
xor edx, edx
div dword [0x1402aa77c]
and eax, 0x269caa2a
mov r8d, 0xffffffff
xor r8d, 0x65fd463
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xcf268dea
xor r8d, 0x30d97215
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x65fd463
or eax, 0x65fd463
imul eax, edx
add eax, ecx
mov ecx, 0xf1c75263
xor edx, edx
div ecx
mov dword [rbp - 0x74], eax
mov eax, 0x7f121af6
xor eax, 0xc1ed6371
mov dword [rbp - 0x78], eax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov ecx, dword [rbp - 0x78]
add rsp, 0x20
mov eax, dword [rbp - 0x74]
cmp eax, ecx
jae 0x14005dcba
xor eax, eax
mov qword [rbp - 0x80], rax
jmp 0x14005dbb1
mov rax, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x50]
xorps xmm0, xmm0
movaps xmmword [rcx + rax], xmm0
movabs rcx, 0xf0a3c1ab6fcbbfa3
sub rax, rcx
movabs rcx, 0x4815b1db2fd5366b
movabs rdx, 0x4815b1db2fd5367b
xor rcx, rdx
add rax, rcx
movabs rcx, 0xf0a3c1ab6fcbbfa3
add rax, rcx
cmp rax, 0x800
mov qword [rbp - 0x80], rax
jne 0x14005dbb1
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp + 8]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rcx, qword [rcx + 8]
mov qword [rax + 8], rcx
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
call fcn.14005d2a0
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x24
xor dl, 0x24
cmp cl, dl
mov qword [rbp - 0x60], rax
jne 0x14005dca6
mov rax, qword [rbp - 8]
mov r9, qword [rbp]
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x50]
mov r10, qword [rbp + 8]
mov r11, qword [rbp + 0x10]
mov rsi, qword [r11]
mov qword [rdx], rsi
mov r11, qword [r11 + 8]
mov qword [rdx + 8], r11
mov r11, qword [r10]
mov qword [r8], r11
mov r10, qword [r10 + 8]
mov qword [r8 + 8], r10
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14005c790
add rsp, 0x30
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
lea rsp, [rbp + 0x18]
pop rsi
pop rbp
ret
pop rsi
loope 0x14005dcd6
jmp 0x14005d8f0
invalid
lea ebp, [rsp + 0x30]
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rcx
mov ecx, dword [0x1402aa780]
mov eax, 0xf359ef4d
xor eax, 0xa0d52239
xor ecx, eax
and ecx, dword [0x1402aa784]
add ecx, 0x98a35606
add ecx, 0xaa7c5abb
sub ecx, 0x98a35606
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xda391ccb
mov edx, 0xffffffff
xor edx, 0xda391ccb
and ecx, edx
or eax, ecx
mov edx, 0x3fd8d4cb
xor edx, 0xc0272b34
mov ecx, eax
xor ecx, edx
mov edx, 0x28a48ddf
xor edx, 0x188f0f5
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x292c7d2a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x292c7d2a
mov r8d, 0x4add9fb7
xor r8d, 0x63f1e29d
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xed368055
ja 0x14005de47
mov ecx, dword [0x1402aa788]
mov eax, dword [0x1402aa78c]
not ecx
not eax
or ecx, eax
not ecx
mov eax, ecx
and eax, 0x893ceae0
or ecx, 0x893ceae0
add eax, ecx
and eax, 0x84011e10
mov dword [rbp - 0x18], eax
mov eax, 0x10
mov qword [rbp - 0x30], rax
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov r8, qword [rbp - 8]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
add rsp, 0x20
mov rax, qword [rbp - 0x10]
movups xmm0, xmmword [r8]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
sub rsp, 0x20
xor eax, eax
mov r8d, eax
mov r9, 0xffffffffffffffff
call fcn.14005d850
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x18]
test rcx, rcx
setns cl
mov byte [rbp - 0x11], cl
cmp eax, 0x6222559a
jb 0x14005de47
mov al, byte [rbp - 0x11]
and al, 1
movzx eax, al
mov rsp, rbp
pop rbp
ret
mov ecx, 0xe9291c53
invalid