Function at 0x180422be0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
movaps xmmword [rbp - 0x10], xmm6
mov rbx, rdx
mov eax, dword [0x18079c520]
xor edx, edx
div dword [0x18079c524]
sub eax, 0x70d14d9d
imul eax, eax, 0xfc2a9531
xor eax, 0x1fff987
cmp eax, 0xf8f19e46
ja 0x1804230cf
mov eax, dword [0x18079c528]
mov edx, dword [0x18079c52c]
xor eax, edx
and eax, 0x730bda4d
imul edx, eax, 0x7e9c0f67
add edx, 0x949e01d1
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov rdi, rsp
mov eax, 0x70
call fcn.180698e80
sub rsp, rax
mov rsi, rsp
mov r15, qword [rcx]
movq xmm6, qword [rbx + 0x48]
cmp edx, 0x8fb23731
jae 0x1804230cf
jmp 0x180422c7a
mov eax, dword [0x18079c530]
sub eax, dword [0x18079c534]
add eax, 0xa93cbfce
xor eax, 0x4c6b9248
and eax, 0xa7a99bfd
cmp eax, 0x52b48e14
je 0x1804230dc
jmp 0x180422ca2
mov eax, dword [0x18079c538]
sub eax, dword [0x18079c53c]
mov ecx, 0x8123d773
xor edx, edx
div ecx
mov r14d, eax
sub r14d, 0x56746cd8
add r14d, 0xc5547a5d
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
call fcn.180688140
add rsp, 0x20
mov rdx, rbx
add rdx, 0x18
movabs rax, 0x8000000000000000
cmp qword [rbx + 0x18], rax
sete al
cmp r14d, 0x31e2cb7c
jbe 0x180422ca2
movabs r14, 0x8000000000000000
test al, 1
jne 0x180422d7f
jmp 0x180422d0c
lea rcx, [rbp - 0x48]
sub rsp, 0x20
call fcn.180688140
add rsp, 0x20
mov r14, qword [rbp - 0x48]
mov eax, dword [0x18079c540]
sub eax, dword [0x18079c544]
or eax, 0xbb94d163
add eax, 0xf3052405
and eax, 0xaed4b340
cmp eax, 0xd2c59c36
je 0x180423100
mov eax, dword [0x18079c548]
xor eax, dword [0x18079c54c]
sub eax, 0xc795d5c6
sub eax, 0x8131523
add eax, 0x93cda77d
mov rcx, qword [rbp - 0x40]
mov qword [rbp - 0x20], rcx
mov rcx, qword [rbp - 0x38]
mov qword [rbp - 0x18], rcx
cmp eax, 0xad386e41
jae 0x180423100
jmp 0x180422d7f
mov r12b, byte [rbx + 0x68]
mov rdx, rbx
add rdx, 0x30
movabs r13, 0x8000000000000000
cmp qword [rbx + 0x30], r13
je 0x180422e13
lea rcx, [rbp - 0x60]
sub rsp, 0x20
call fcn.180688140
add rsp, 0x20
mov eax, dword [0x18079c550]
sub eax, dword [0x18079c554]
imul eax, eax, 0xc02bee39
mov ecx, 0xc99ff20e
xor edx, edx
div ecx
imul eax, eax, 0xfd475a60
cmp eax, 0x83ac44c0
jb 0x180423121
jmp 0x180422dd9
mov eax, dword [0x18079c558]
xor edx, edx
div dword [0x18079c55c]
and eax, 0x88e05b6b
and eax, 0x517ca58a
sub eax, 0xedbf161a
mov r13, qword [rbp - 0x60]
cmp eax, 0xceb039e5
je 0x180422dd9
jmp 0x180422e03
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x28], rax
mov eax, dword [0x18079c560]
and eax, dword [0x18079c564]
sub eax, 0x9c3dfee6
imul eax, eax, 0x1885109d
or eax, 0xcf1d233b
cmp eax, 0x829a8970
jb 0x180423132
mov eax, dword [0x18079c568]
xor eax, dword [0x18079c56c]
imul eax, eax, 0x48534fa8
mov ecx, 0x5146d56d
xor edx, edx
div ecx
imul edx, eax, 0xc8616208
mov rcx, rsi
add rcx, 0x50
cmp qword [rbx + 0x60], 0
sete al
cmp edx, 0x464a6bd0
jae 0x180423132
test al, 1
jne 0x180422e7c
jmp 0x180422eec
mov eax, dword [0x18079c570]
or eax, dword [0x18079c574]
imul eax, eax, 0x138c7b5e
sub eax, 0xe74a8648
and eax, 0x3a45ec6a
cmp eax, 0x6330fa8
jbe 0x18042313f
jmp 0x180422ea5
mov eax, dword [0x18079c578]
xor edx, edx
div dword [0x18079c57c]
sub eax, 0x3268e85a
mov r8d, 0x312c07a6
xor edx, edx
div r8d
imul eax, eax, 0x76f9fbb5
mov qword [rcx], 0
cmp eax, 0x4df38223
jbe 0x180422ea5
jmp 0x180422ed9
mov rax, rsi
add rax, 0x60
mov qword [rax], 0
jmp 0x180422fbf
mov r8, rbx
add r8, 0x50
mov eax, dword [0x18079c580]
imul eax, dword [0x18079c584]
or eax, 0xa9dd2b99
and eax, 0x969be084
or eax, 0xc6e17748
cmp eax, 0xcfbd319f
ja 0x180423157
jmp 0x180422f1c
mov eax, dword [0x18079c588]
xor eax, dword [0x18079c58c]
imul eax, eax, 0xd945a252
mov r9d, 0x26167f5e
xor edx, edx
div r9d
xor eax, 0x20384305
mov rdx, qword [r8]
cmp rdx, 0
sete r9b
cmp eax, 0x3235379b
ja 0x180422f1c
jmp 0x180422f52
test r9b, 1
jne 0x180422f5a
jmp 0x180422fac
ud2
mov r8, qword [rbx + 0x58]
sub rsp, 0x20
call fcn.18045f790
add rsp, 0x20
jmp 0x180422fbf
mov eax, dword [0x18079c5a0]
sub eax, dword [0x18079c5a4]
xor eax, 0x674cacc9
xor eax, 0x176a28b9
xor eax, 0xbd44f90
cmp eax, 0x7bc54fc8
ja 0x180423175
jmp 0x180422fe7
mov eax, dword [0x18079c5a8]
mov ecx, dword [0x18079c5ac]
or eax, ecx
xor eax, 0xa6d815cd
imul eax, eax, 0x88a6e7a5
imul rax, rax, 0x672257b1
shr rax, 0x3b
movq qword [rsi + 0x48], xmm6
cmp eax, 0xca33200e
ja 0x180422fe7
jmp 0x180423019
mov rax, qword [rdi]
mov qword [rsi], rax
mov rax, qword [rdi + 8]
mov qword [rsi + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], r14
mov rax, qword [rbp - 0x20]
mov qword [rsi + 0x20], rax
mov rax, qword [rbp - 0x18]
mov qword [rsi + 0x28], rax
mov byte [rsi + 0x68], r12b
mov qword [rsi + 0x30], r13
mov rax, qword [rbp - 0x30]
mov qword [rsi + 0x38], rax
mov rax, qword [rbp - 0x28]
mov qword [rsi + 0x40], rax
mov rdi, qword [r15]
mov rax, qword [rdi]
add rax, 0xffffffffffffffff
mov qword [rdi], rax
mov rbx, qword [r15 + 0x20]
mov rax, qword [r15 + 8]
mov rcx, qword [r15 + 0x10]
mov rdx, rbx
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 rax, qword [r15 + 0x18]
mov rcx, qword [rax]
add rcx, 1
mov qword [rax], rcx
add rbx, 1
mov qword [r15 + 0x20], rbx
cmp qword [rdi], 0
sete al
and al, 1
movzx eax, al
movaps xmm6, xmmword [rbp - 0x10]
lea rsp, [rbp + 8]
pop rbx
pop rdi
or byte [rbx + 0x5f], bl
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lodsd eax, dword [rsi]
sub dword [rcx], esp
mov dh, 0x32
sbb al, 0xe4
jl 0x1804230c1
sti
invalid
popfq
enter 0xffffffffffffb16c, 0xb
mov byte [rdx - 0x45b013ee], 0x67
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
call fcn.180688140
add rsp, 0x20
jmp 0x180422ca0
pushfq
xchg ebp, ebx
add edi, ebp
movabs qword [0xc0458b4878568a28], rax
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x18], rax
jmp 0x180422d47
push rbx
push rdx
adc dword [rax - 0x7b], esp
loop 0x180423177
clc
wait
sbb byte [rax - 0x35a17], ah
dec edi
jmp 0x180423145
iretd
not byte [rcx - 0x21]
pop rdx
invalid
jne 0x180423162
mov bl, 0xba
push rdi
push rax
mov qword [rcx], 0
jmp 0x180422ea3
add dword [rax], eax
add byte [rax], al
add cl, ch
std
invalid
mov dword [rax], ebx
mov bh, 0xb5
wait
add rsi, qword [rbp - 0x21]
jge 0x18042314d
sbb ch, cl
mov dl, 0xfd
invalid
or al, 0x76
push rax
shr byte [rbp + 0xf662c99], cl
invalid