Function at 0x1801af8f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov r14, rdx
mov rsi, rcx
mov eax, 0x10
call fcn.18045a590
sub rsp, rax
mov rbx, rsp
mov eax, 0x10
call fcn.18045a590
sub rsp, rax
mov r12, rsp
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov rdi, rsp
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
mov r8d, 1
call fcn.1802602c0
add rsp, 0x20
mov r9b, byte [rdi]
mov eax, dword [0x180515a18]
xor eax, dword [0x180515a1c]
or eax, 0xcc5cfd8c
and eax, 0x9eda898e
or eax, 0xf9974fa5
cmp eax, 0x26468d85
jb 0x1801afddb
mov eax, dword [0x180515a20]
imul eax, dword [0x180515a24]
mov ecx, 0x34c63c6d
xor edx, edx
div ecx
and eax, 0x30bc8d66
or eax, 0xccbea650
cmp r9b, 0x11
sete cl
cmp eax, 0xcf881524
ja 0x1801afddb
test cl, 1
jne 0x1801af9bf
jmp 0x1801afa61
mov di, word [rdi + 2]
mov eax, dword [0x180515a28]
or eax, dword [0x180515a2c]
imul eax, eax, 0x6c7f74e4
mov ecx, 0xb6352e7
xor edx, edx
div ecx
add eax, 0x93def140
cmp eax, 0x77982ef0
jb 0x1801afdec
jmp 0x1801af9f0
mov eax, dword [0x180515a30]
xor edx, edx
div dword [0x180515a34]
and eax, 0xbf14ac23
xor eax, 0x53a582ce
imul edx, eax, 0x83abe789
mov rax, r14
add rax, 8
mov rcx, qword [r14 + 8]
cmp rcx, 0
sete r8b
cmp edx, 0x816ea9
je 0x1801af9f0
xor edx, edx
test r8b, 1
jne 0x1801afbbd
jmp 0x1801afa37
mov rdx, qword [r14]
mov r15b, byte [rdx]
add rdx, 1
add rcx, 0xffffffffffffffff
mov qword [r14], rdx
mov qword [rax], rcx
cmp r15b, 2
setb al
mov dl, 7
test al, 1
jne 0x1801afafd
jmp 0x1801afbbd
mov cl, byte [rdi + 1]
mov r8w, word [rdi + 2]
add rdi, 4
mov rax, qword [rdi]
mov qword [rsi + 0xc], rax
mov rax, qword [rdi + 8]
mov qword [rsi + 0x14], rax
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x1c], rax
mov eax, dword [rdi + 0x18]
mov dword [rsi + 0x24], eax
mov byte [rsi + 8], r9b
mov eax, dword [0x180515a38]
add eax, dword [str.X5M]
mov r9d, 0xa1d7b9a3
xor edx, edx
div r9d
add eax, 0x4ddb121c
add eax, 0xdb0c57c7
cmp eax, 0xa1da45d4
ja 0x1801afdf9
mov eax, dword [0x180515a40]
xor edx, edx
div dword [0x180515a44]
and eax, 0x24146cbc
imul eax, eax, 0xe50f5b4a
and eax, 0xdf0273d7
mov byte [rsi + 9], cl
mov word [rsi + 0xa], r8w
movabs rdx, 0x8000000000000000
mov qword [rsi], rdx
cmp eax, 0xc6ec5f58
ja 0x1801afdf9
jmp 0x1801afdc7
lea rcx, [rbp - 0x20]
sub rsp, 0x20
mov rdx, r14
call fcn.180261b40
add rsp, 0x20
mov al, byte [rbp - 0x20]
cmp al, 0x11
sete cl
test cl, 1
jne 0x1801afb20
jmp 0x1801afb57
mov r13, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
mov r8, qword [rbp - 8]
lea rcx, [rbp - 0x78]
sub rsp, 0x20
mov qword [rbp + 0x10], rdx
mov qword [rbp - 0x48], r8
call fcn.18044c830
add rsp, 0x20
cmp qword [rbp - 0x78], 0
sete al
test al, 1
jne 0x1801afbde
jmp 0x1801afb81
mov ecx, dword [rbp - 0x1f]
mov dword [r12], ecx
mov cx, word [rbp - 0x1b]
mov word [r12 + 4], cx
mov cl, byte [rbp - 0x19]
mov byte [r12 + 6], cl
mov rdi, qword [rbp - 0x18]
mov rbx, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
jmp 0x1801afd0b
mov rdi, qword [rbp - 0x70]
mov rbx, qword [rbp - 0x68]
cmp r13, 0
sete cl
mov al, 5
test cl, 1
je 0x1801afb9c
jmp 0x1801afd0b
sub rsp, 0x20
mov rcx, qword [rbp + 0x10]
mov rdx, r13
mov r8d, 1
call fcn.1802cbf20
add rsp, 0x20
mov al, 5
jmp 0x1801afd0b
mov qword [rsi + 0x10], 1
mov byte [rsi + 8], dl
mov byte [rsi + 9], r15b
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x1801afdc7
lea rcx, [rbp - 0x40]
sub rsp, 0x20
mov rdx, r14
call fcn.180261b40
add rsp, 0x20
mov al, byte [rbp - 0x40]
cmp al, 0x11
jne 0x1801afc95
mov qword [rbp], r13
mov rax, qword [rbp - 0x38]
mov qword [rbp + 8], rax
mov eax, dword [0x180515a48]
or eax, dword [0x180515a4c]
and eax, 0x430e6789
sub eax, 0x155d0552
mov ecx, 0xccaab979
xor edx, edx
div ecx
cmp eax, 0xba7d5e04
je 0x1801afe1f
mov eax, dword [0x180515a50]
sub eax, dword [0x180515a54]
or eax, 0x7d0a09ea
or eax, 0x12cd5b41
mov ecx, 0x10420f5c
xor edx, edx
div ecx
mov r14d, eax
mov r12, qword [rbp - 0x30]
mov r13, qword [rbp - 0x28]
lea rcx, [rbp - 0x60]
sub rsp, 0x20
mov rdx, r12
mov r8, r13
call fcn.18044c830
add rsp, 0x20
cmp qword [rbp - 0x60], 0
sete al
cmp r14d, 0xacc74347
ja 0x1801afe1f
jmp 0x1801afc8b
test al, 1
jne 0x1801afd45
jmp 0x1801afcc7
lea rcx, [rbp - 0x40]
add rcx, 1
mov edx, dword [rcx]
mov dword [rbx], edx
mov dx, word [rcx + 4]
mov word [rbx + 4], dx
mov cl, byte [rcx + 6]
mov byte [rbx + 6], cl
mov rdi, qword [rbp - 0x38]
lea rcx, [rbp - 0x40]
add rcx, 0x10
mov r14, qword [rcx]
mov rcx, qword [rbp - 0x28]
jmp 0x1801afd76
lea rax, [rbp - 0x60]
add rax, 8
mov rdi, qword [rax]
mov r14, qword [rbp - 0x50]
mov rdx, qword [rbp + 8]
cmp rdx, 0
sete cl
mov r13, qword [rbp]
mov al, 5
test cl, 1
je 0x1801afcf1
jmp 0x1801afd76
sub rsp, 0x20
mov rcx, r12
mov r8d, 1
call fcn.1802cbf20
add rsp, 0x20
mov al, 5
jmp 0x1801afd76
mov edx, dword [r12]
mov dword [rsi + 9], edx
mov dx, word [r12 + 4]
mov word [rsi + 0xd], dx
mov dl, byte [r12 + 6]
mov byte [rsi + 0xf], dl
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], rbx
mov qword [rsi + 0x20], rcx
mov byte [rsi + 8], al
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x1801afdc7
mov rax, qword [rbp]
mov qword [rsi], rax
mov rax, qword [rbp + 0x10]
mov qword [rsi + 8], rax
mov rax, qword [rbp - 0x48]
mov qword [rsi + 0x10], rax
mov rax, qword [rbp + 8]
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], r12
mov qword [rsi + 0x28], r13
mov word [rsi + 0x30], di
mov byte [rsi + 0x32], r15b
jmp 0x1801afdc7
mov edx, dword [rbx]
mov dword [rsi + 9], edx
mov dx, word [rbx + 4]
mov word [rsi + 0xd], dx
mov dl, byte [rbx + 6]
mov byte [rsi + 0xf], dl
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], r14
mov qword [rsi + 0x20], rcx
mov byte [rsi + 8], al
movabs rax, 0x8000000000000000
mov qword [rsi], rax
cmp r13, 0
je 0x1801afdc7
sub rsp, 0x20
mov rcx, qword [rbp + 0x10]
mov rdx, r13
mov r8d, 1
call fcn.1802cbf20
add rsp, 0x20
jmp 0x1801afdc7
mov rax, rsi
lea rsp, [rbp + 0x18]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp eax, 0x5871d1d0
scasd eax, dword [rdi]
lodsd eax, dword [rsi]
add dword [rdi + 0x66], ecx
adc byte [rdi - 0x17], bh
xchg edi, eax
sti
invalid
push rbx
pop rcx
jne 0x13dd9ae6f
jmp 0x1801af9ee
add byte [rsi - 1], ah
mov r11b, 0x9b
in eax, dx
invalid
imul ebx, dword [rbx + 0x34], 0x6110454a
add ecx, dword [rax - 0x75]
push rbp
ror byte [rbx + rcx*4 + 0x45], 1
fmul dword [rax - 0x73]
movabs al, byte [0x29c9f4e820ec8348]
add byte [rax - 0x7d], cl
invalid