Function at 0x180422730
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x80
lea rbp, [rsp + 0x80]
movaps xmmword [rbp - 0x10], xmm6
mov rdi, rdx
mov eax, 0x70
call fcn.180698e80
sub rsp, rax
mov rsi, rsp
mov rbx, qword [rcx]
movq xmm6, qword [rdi + 0x48]
lea rcx, [rbp - 0x60]
sub rsp, 0x20
mov rdx, rdi
call fcn.180688140
add rsp, 0x20
mov rdx, rdi
add rdx, 0x18
movabs r14, 0x8000000000000000
cmp qword [rdi + 0x18], r14
je 0x1804227ba
lea rcx, [rbp - 0x78]
sub rsp, 0x20
call fcn.180688140
add rsp, 0x20
mov r14, qword [rbp - 0x78]
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x28], rax
jmp 0x1804227ba
mov r15b, byte [rdi + 0x68]
mov rdx, rdi
add rdx, 0x30
movabs r12, 0x8000000000000000
cmp qword [rdi + 0x30], r12
je 0x1804228a7
lea rcx, [rbp - 0x48]
sub rsp, 0x20
call fcn.180688140
add rsp, 0x20
mov r12, qword [rbp - 0x48]
mov eax, dword [0x18079c4b0]
xor edx, edx
div dword [0x18079c4b4]
imul eax, eax, 0x18fcde41
add eax, 0xf93cbd79
mov ecx, 0xeb215291
xor edx, edx
div ecx
cmp eax, 0x76aaf9e7
jae 0x180422b4b
mov eax, dword [str._tCltu_]
and eax, dword [0x18079c4bc]
and eax, 0x9a02fedb
add eax, 0xa32648c3
imul eax, eax, 0xd442dcf
mov rcx, qword [rbp - 0x40]
mov qword [rbp - 0x20], rcx
mov rcx, qword [rbp - 0x38]
mov qword [rbp - 0x18], rcx
cmp eax, 0xd70d50b7
jb 0x180422b4b
jmp 0x180422854
mov eax, dword [0x18079c4c0]
imul eax, dword [0x18079c4c4]
imul eax, eax, 0x817157f7
add eax, 0x64823d69
mov ecx, 0xabfdd851
xor edx, edx
div ecx
cmp eax, 0x29bd8d46
je 0x180422b6c
jmp 0x180422882
mov eax, dword [0x18079c4c8]
imul eax, dword [0x18079c4cc]
or eax, 0x21c36565
or eax, 0x280ba39e
or eax, 0x763d977
cmp eax, 0xf22199b6
jae 0x180422882
jmp 0x1804228a7
mov rcx, rsi
add rcx, 0x50
cmp qword [rdi + 0x60], 0
jne 0x1804228cf
mov qword [rcx], 0
mov rax, rsi
add rax, 0x60
mov qword [rax], 0
jmp 0x180422a54
mov rax, rdi
add rax, 0x50
mov r9, qword [rax]
mov eax, dword [0x18079c4d0]
xor eax, dword [0x18079c4d4]
sub eax, 0x31c1d8ee
mov r8d, 0x8bb0f58b
xor edx, edx
div r8d
add eax, 0x37ea70a0
cmp eax, 0x74ad93b
je 0x180422b79
jmp 0x180422907
mov edx, dword [0x18079c4d8]
sub edx, dword [0x18079c4dc]
add edx, 0x34115765
xor edx, 0x96ee4bb6
and edx, 0xab0d07ce
cmp r9, 0
sete al
cmp edx, 0xd6a8bfe2
ja 0x180422907
test al, 1
jne 0x18042293a
jmp 0x180422996
ud2
mov eax, dword [0x18079c4f0]
or eax, dword [0x18079c4f4]
sub eax, 0x8509e308
and eax, 0x4a2d8a9c
mov r8d, 0x6a8aee5f
xor edx, edx
div r8d
cmp eax, 0x31897d1c
ja 0x180422b97
jmp 0x1804229c4
mov eax, dword [0x18079c4f8]
xor edx, edx
div dword [0x18079c4fc]
xor eax, 0xd87bd21c
and eax, 0x4c5c326d
or eax, 0x3cd88bca
mov rdx, rdi
add rdx, 0x58
cmp eax, 0x82d89e4a
jae 0x1804229c4
jmp 0x1804229f1
mov eax, dword [0x18079c500]
and eax, dword [0x18079c504]
xor eax, 0x474c33fe
or eax, 0xddb2ae1c
imul eax, eax, 0x209fea0b
cmp eax, 0xf685175d
ja 0x180422ba4
mov eax, dword [0x18079c508]
or eax, dword [0x18079c50c]
or eax, 0xc230c402
imul eax, eax, 0x40e41969
and eax, 0x9d07f8f5
mov r8, qword [rdx]
cmp eax, 0xbeb53a27
ja 0x180422ba4
jmp 0x180422a44
sub rsp, 0x20
mov rdx, r9
call fcn.18045f790
add rsp, 0x20
movq qword [rsi + 0x48], xmm6
mov rax, qword [rbp - 0x60]
mov qword [rsi], rax
mov rax, qword [rbp - 0x58]
mov qword [rsi + 8], rax
mov rax, qword [rbp - 0x50]
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], r14
mov rax, qword [rbp - 0x30]
mov qword [rsi + 0x20], rax
mov rax, qword [rbp - 0x28]
mov qword [rsi + 0x28], rax
mov byte [rsi + 0x68], r15b
mov qword [rsi + 0x30], r12
mov rax, qword [rbp - 0x20]
mov qword [rsi + 0x38], rax
mov rax, qword [rbp - 0x18]
mov qword [rsi + 0x40], rax
mov rdi, rbx
add rdi, 0x18
mov r14, qword [rbx + 0x18]
mov rax, qword [rbx]
mov rcx, qword [rbx + 8]
mov rdx, r14
add rdx, qword [rcx]
imul rcx, rdx, 0x70
add rcx, qword [rax + 8]
sub rsp, 0x20
mov rdx, rsi
mov r8d, 0x70
call fcn.1806a7400
add rsp, 0x20
mov rcx, qword [rbx + 0x10]
mov eax, dword [0x18079c510]
or eax, dword [0x18079c514]
mov r8d, 0xc96ad7cc
xor edx, edx
div r8d
imul eax, eax, 0xdb94eb17
and eax, 0xd0e589a6
cmp eax, 0xb981ce07
jb 0x180422bb1
mov eax, dword [0x18079c518]
and eax, dword [0x18079c51c]
and eax, 0xb96d46fd
and eax, 0x4c52ab5a
and eax, 0xaf0c0a21
mov rdx, qword [rcx]
add rdx, 1
mov qword [rcx], rdx
mov rdx, r14
add rdx, 1
mov qword [rdi], rdx
cmp eax, 0x3e8ebe50
je 0x180422bb1
movaps xmm6, xmmword [rbp - 0x10]
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
push rax
and byte [r11 - 0x7799a044], al
cmpsb byte [rsi], byte [rdi]
nop
add ecx, dword [rax - 0x75]
ror byte [r8 - 0x77], 0x45
loopne 0x180422ba8
mov eax, dword [rbp - 0x38]
mov qword [rbp - 0x18], rax
jmp 0x18042281b
invalid
movsb byte [rdi], byte [rsi]
invalid
ret 0xfa4b
or ebx, esi
out dx, eax
pop rdx
push 0x4d
retf 0x67e9
add eax, 0x617cb45e
xchg ecx, eax
test rax, 0x48018b48
add eax, 1
mov qword [rcx], rax
mov rax, r14
add rax, 1
mov qword [rdi], rax
jmp 0x180422b03