Function at 0x18025ede0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, qword [rcx + 8]
add rcx, 0x10
mov rdi, qword [rcx]
cmp rdi, 0
sete al
test al, 1
jne 0x18025f0bb
jmp 0x18025ee05
xor ebx, ebx
jmp 0x18025ee09
imul rax, rbx, 0xc8
mov r14, rsi
add r14, rax
add rbx, 1
mov rdx, qword [r14 + 0x20]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x18025eea3
cmp rdx, 0
sete al
mov ecx, dword [0x180520680]
xor ecx, dword [0x180520684]
xor ecx, 0x420d46d5
and ecx, 0x7daeea04
imul ecx, ecx, 0x295c7998
cmp ecx, 0xc087fec8
jae 0x18025f0c5
mov ecx, dword [0x180520688]
sub ecx, dword [0x18052068c]
or ecx, 0x68bd7436
imul ecx, ecx, 0xaa1d3a98
xor ecx, 0x2cd77299
cmp ecx, 0xa15fc914
jb 0x18025f0c5
test al, 1
jne 0x18025eea3
jmp 0x18025ee8e
mov rax, r14
add rax, 0x28
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
mov r8, qword [r14 + 0x38]
mov eax, dword [0x180520690]
imul eax, dword [0x180520694]
xor eax, 0x75aa7fc4
xor eax, 0xb37cd79b
and eax, 0x54b49752
cmp eax, 0x151c211d
je 0x18025f0d6
jmp 0x18025eed0
mov eax, dword [0x180520698]
and eax, dword [0x18052069c]
sub eax, 0xe826fcef
xor eax, 0xd1ddabce
imul ecx, eax, 0x74250977
movabs rax, 0x8000000000000000
cmp r8, rax
sete al
cmp ecx, 0xbf26c70d
jb 0x18025eed0
jmp 0x18025ef06
test al, 1
jne 0x18025ef81
jmp 0x18025ef0c
cmp r8, 0
sete cl
mov eax, dword [0x1805206a0]
add eax, dword [0x1805206a4]
imul eax, eax, 0x6dc78e6c
add eax, 0x7fb6156b
add eax, 0xdbde4ed8
cmp eax, 0x3eead894
jbe 0x18025f0e3
mov eax, dword [0x1805206a8]
xor eax, dword [0x1805206ac]
xor eax, 0xf35b991d
sub eax, 0xbd3cce3f
mov r9d, 0x24c16dfd
xor edx, edx
div r9d
cmp eax, 0x8521f376
je 0x18025f0e3
test cl, 1
jne 0x18025ef81
jmp 0x18025ef6d
mov rcx, qword [r14 + 0x40]
mov rdx, r8
mov r8d, 1
call fcn.1802cbf20
jmp 0x18025ef81
mov r8, qword [r14 + 0x68]
movabs rax, 0x8000000000000002
cmp r8, rax
setl al
test al, 1
jne 0x18025f01f
jmp 0x18025ef9f
cmp r8, 0
sete cl
mov eax, dword [0x1805206b0]
xor eax, dword [0x1805206b4]
xor eax, 0x58ceb681
sub eax, 0x6f9016a2
mov r9d, 0xba5f8ac2
xor edx, edx
div r9d
cmp eax, 0xa43886cc
ja 0x18025f0f4
jmp 0x18025efd4
mov eax, dword [0x1805206b8]
imul eax, dword [0x1805206bc]
imul eax, eax, 0x6226590f
mov r9d, 0xcd210a88
xor edx, edx
div r9d
add eax, 0xc0735cfb
cmp eax, 0xc92b0895
je 0x18025efd4
test cl, 1
jne 0x18025f01f
jmp 0x18025f005
mov rax, r14
add rax, 0x70
mov rcx, qword [rax]
mov rdx, r8
mov r8d, 1
call fcn.1802cbf20
jmp 0x18025f01f
mov rax, r14
add rax, 0x50
mov rdx, qword [rax]
movabs rax, 0x8000000000000000
cmp rdx, rax
sete al
test al, 1
jne 0x18025f060
jmp 0x18025f03f
cmp rdx, 0
sete al
test al, 1
jne 0x18025f060
jmp 0x18025f04c
add r14, 0x58
mov rcx, qword [r14]
mov r8d, 1
call fcn.1802cbf20
jmp 0x18025f060
mov eax, dword [0x1805206c0]
add eax, dword [0x1805206c4]
xor eax, 0x97762774
xor eax, 0xbcd21426
sub eax, 0xf9741f47
cmp eax, 0xd3930c0
jb 0x18025f101
mov ecx, dword [0x1805206c8]
sub ecx, dword [0x1805206cc]
xor ecx, 0x63692b92
and ecx, 0xb0801a1e
and ecx, 0xd0ede3d2
cmp rbx, rdi
sete al
cmp ecx, 0xf86db6cb
jae 0x18025f101
jmp 0x18025f0b0
test al, 1
jne 0x18025f0b9
jmp 0x18025ee09
jmp 0x18025f0bb
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
sub dl, r11b
test al, 0xb8
cmp cl, 0x4e
enter 0xffffffffffffa4b1, 0xffffffffffffffbf
jmp 0x18025ee5e
add al, 0x75
xchg esp, eax
sbb eax, dword [rbx + 0x32]
in al, 0x37
jmp 0x18025eece
push r11
invalid
cdq
jg 0x18025f10d
clc
retf 0xca92
cmp r12b, r10b
cli
out dx, eax
lodsd eax, dword [rsi]
and byte [rax + rcx - 0x164ce91c], dl
jo 0x18025f10f
jmp 0x18025f082
invalid
invalid