Function at 0x180225930
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov r14, r8
mov r15, rdx
mov rsi, rcx
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call fcn.18045a590
sub rsp, rax
mov r13, rsp
sub rsp, 0x20
mov rcx, rsi
call fcn.18040c800
add rsp, 0x20
cmp rax, 0
sete cl
test cl, 1
jne 0x180225a18
jmp 0x180225990
mov qword [r13], rax
mov r12, r13
add r12, 8
mov qword [r13 + 8], rdx
mov qword [rdi], r13
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], 0
mov qword [rbp - 0x10], rsi
mov eax, dword [0x18051d488]
imul eax, dword [0x18051d48c]
and eax, 0x4d3b0a7f
sub eax, 0x315610f6
and eax, 0x24ed184
cmp eax, 0xadd713e2
je 0x180225c89
jmp 0x1802259db
mov eax, dword [0x18051d490]
xor eax, dword [0x18051d494]
imul eax, eax, 0xfbe0dfab
or eax, 0x1a3cd199
mov ecx, 0x4e6ee483
xor edx, edx
div ecx
lea rsi, [rbp + 6]
add rsi, 1
mov rbx, qword [r15]
cmp eax, 0x952e9436
ja 0x1802259db
jmp 0x180225a0f
mov rax, qword [r14]
mov qword [rbp - 8], rax
jmp 0x180225a6f
mov eax, dword [0x18051d498]
xor eax, dword [0x18051d49c]
and eax, 0x5573db62
or eax, 0x16ddf6e8
and eax, 0xf8a27c25
cmp eax, 0xc5405a89
jae 0x180225c9a
mov eax, dword [0x18051d4a0]
xor eax, dword [0x18051d4a4]
sub eax, 0x432372ba
add eax, 0xe92bfd1
imul eax, eax, 0xa165e3bf
cmp eax, 0xc3aee968
ja 0x180225c9a
jmp 0x180225a67
mov r15b, 2
jmp 0x180225c75
mov eax, dword [0x18051d4a8]
sub eax, dword [0x18051d4ac]
xor eax, 0xe447ceb7
and eax, 0xa47a7f17
imul eax, eax, 0x2071092e
cmp eax, 0x5eb1e8e4
jbe 0x180225cab
jmp 0x180225a98
mov r14d, dword [0x18051d4b0]
or r14d, dword [0x18051d4b4]
add r14d, 0xeab7a907
sub r14d, 0xea2926f2
add r14d, 0xa310898d
sub rsp, 0x20
call fcn.180408a50
add rsp, 0x20
mov r15, rax
cmp r14d, 0xeef85b11
jae 0x180225a98
jmp 0x180225ad6
mov r14, r15
add r14, 0x50
movzx ecx, byte [r14]
test rcx, rcx
mov al, 2
je 0x180225af7
jmp 0x180225aea
sub rcx, 1
je 0x180225b14
jmp 0x180225af2
jmp 0x180225b8d
lea rdx, [0x18029e120]
sub rsp, 0x20
mov rcx, r15
call fcn.180428e50
add rsp, 0x20
mov byte [r14], 1
jmp 0x180225b14
mov eax, dword [0x18051d4b8]
add eax, dword [0x18051d4bc]
mov ecx, 0x420a73dd
xor edx, edx
div ecx
xor eax, 0x521b29b4
xor eax, 0xebe1c01e
cmp eax, 0x45242a76
je 0x180225cc5
jmp 0x180225b40
mov r9d, dword [0x18051d4c0]
xor r9d, dword [0x18051d4c4]
sub r9d, 0xff646a31
add r9d, 0xaf685a13
xor r9d, 0xed95b4b3
mov rdx, r15
add rdx, 0x4c
mov al, byte [r15 + 0x4c]
mov r8, r15
add r8, 0x4d
mov cl, byte [r15 + 0x4d]
cmp r9d, 0x6310b581
je 0x180225b40
jmp 0x180225b84
mov byte [rdx], 1
mov byte [r8], 0x80
jmp 0x180225b8d
mov byte [rbp + 6], al
mov byte [rsi], cl
sub rsp, 0x20
mov rcx, rbx
mov rdx, rdi
call fcn.1804118a0
add rsp, 0x20
xor r15d, r15d
test al, 1
jne 0x180225bae
jmp 0x180225bce
sub rsp, 0x20
mov rcx, qword [rbp - 8]
mov rdx, rdi
call fcn.180238d10
add rsp, 0x20
mov r15b, 2
test al, 1
jne 0x180225bcc
mov r15b, 1
jmp 0x180225bce
cmp byte [rbp + 6], 2
je 0x180225be7
lea rcx, [rbp + 6]
sub rsp, 0x20
call fcn.18040d540
add rsp, 0x20
jmp 0x180225be7
cmp r15b, 2
sete al
test al, 1
jne 0x180225c5f
jmp 0x180225bf4
mov rsi, qword [r13]
mov eax, dword [0x18051d4c8]
xor edx, edx
div dword [0x18051d4cc]
or eax, 0x48ec2b47
imul eax, eax, 0x87a79c8b
mov ecx, 0x842b96dc
xor edx, edx
div ecx
cmp eax, 0xfa9a0e83
jae 0x180225cd6
jmp 0x180225c27
mov eax, dword [0x18051d4d0]
and eax, dword [0x18051d4d4]
xor eax, 0xb50acc9d
imul edi, eax, 0x11abb6cc
add edi, 0x85a4733c
mov rcx, qword [r12]
sub rsp, 0x20
call qword [rsi + 0x18]
add rsp, 0x20
cmp edi, 0x22bb6c1f
jbe 0x180225c27
jmp 0x180225c5d
jmp 0x180225c75
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.18040c870
add rsp, 0x20
jmp 0x180225a6f
mov al, r15b
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
invalid
invalid
movabs byte [0x48d0745ec7cf541c], al
sub esp, 0x20
call fcn.180408a50
add rsp, 0x20
jmp 0x180225a96
scasb al, byte [rdi]
adc byte [r10 - 0x7a], dil
mov esp, 0x6ee67bdc
jmp 0x17e8b46bf
jmp [rax + 4]