Function at 0x1802c98d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rdi, r8
mov rsi, rcx
mov ebx, dword [rdx]
cmp ebx, 0xfb
setb al
test al, 1
jne 0x1802c991d
jmp 0x1802c98f2
cmp ebx, 0x10000
setb al
mov r14, rdi
add r14, 0x10
mov r8, qword [rdi + 0x10]
mov rcx, qword [rdi]
cmp rcx, r8
sete r9b
test al, 1
jne 0x1802c9b00
jmp 0x1802c99c8
mov r14, rdi
add r14, 0x10
mov r8, qword [rdi + 0x10]
mov rax, qword [rdi]
cmp rax, r8
sete cl
mov eax, dword [0x1805282b8]
and eax, dword [0x1805282bc]
or eax, 0x85bbab07
mov r9d, 0x4e9df2e2
xor edx, edx
div r9d
mov r9d, 0xaead7406
xor edx, edx
div r9d
cmp eax, 0x6e87cb76
je 0x1802c9bef
jmp 0x1802c9965
mov eax, dword [0x1805282c0]
imul eax, dword [0x1805282c4]
xor eax, 0x3ac9c45e
or eax, 0x3af786b2
sub eax, 0x7f421250
cmp eax, 0x10c83b88
je 0x1802c9965
test cl, 1
jne 0x1802c998f
jmp 0x1802c99b4
mov rcx, rdi
mov rdx, r8
mov r8d, 1
mov r9d, 1
mov qword [rsp + 0x20], 1
call fcn.180268a00
mov r8, qword [r14]
jmp 0x1802c99b4
mov rax, qword [rdi + 8]
mov byte [rax + r8], bl
add r8, 1
mov qword [r14], r8
jmp 0x1802c9bd9
test r9b, 1
jne 0x1802c99d0
jmp 0x1802c9a4e
mov rcx, rdi
mov rdx, r8
mov r8d, 1
mov r9d, 1
mov qword [rsp + 0x20], 1
call fcn.180268a00
mov eax, dword [0x1805282c8]
and eax, dword [0x1805282cc]
xor eax, 0x8e0da9fd
mov ecx, 0xdf2f888f
xor edx, edx
div ecx
add eax, 0x7ca9ee48
cmp eax, 0xf5500fa9
jae 0x1802c9c00
mov eax, dword [0x1805282d0]
xor edx, edx
div dword [0x1805282d4]
mov ecx, 0x387a733a
xor edx, edx
div ecx
or eax, 0x11240207
add eax, 0xc167c696
mov r8, qword [r14]
cmp eax, 0x2eb43f24
jb 0x1802c9c00
jmp 0x1802c9a4b
mov rcx, qword [rdi]
mov r15, rdi
add r15, 8
mov r9, qword [rdi + 8]
mov byte [r9 + r8], 0xfc
add r8, 1
mov qword [r14], r8
bswap ebx
sub rcx, r8
cmp rcx, 4
jb 0x1802c9a72
jmp 0x1802c9a9a
mov rcx, rdi
mov rdx, r8
mov r8d, 4
mov r9d, 1
mov qword [rsp + 0x20], 1
call fcn.180268a00
mov r8, qword [r14]
mov r9, qword [r15]
jmp 0x1802c9a9a
mov eax, dword [0x1805282d8]
add eax, dword [0x1805282dc]
imul eax, eax, 0xb2c07a22
mov ecx, 0xb9fe2a77
xor edx, edx
div ecx
mov ecx, 0x19d72445
xor edx, edx
div ecx
cmp eax, 0xc52a079c
ja 0x1802c9c0d
jmp 0x1802c9acb
mov eax, dword [0x1805282e0]
sub eax, dword [0x1805282e4]
add eax, 0x2448bb7a
or eax, 0x7f5a5c57
and eax, 0x10e3d541
mov dword [r9 + r8], ebx
mov rcx, r8
add rcx, 4
mov qword [r14], rcx
cmp eax, 0xaccadd6b
ja 0x1802c9acb
jmp 0x1802c9bd9
mov eax, dword [0x1805282e8]
or eax, dword [0x1805282ec]
add eax, 0xc2c96734
imul eax, eax, 0x387314b6
or eax, 0x50c11371
cmp eax, 0x47389e28
jbe 0x1802c9c2c
jmp 0x1802c9b29
mov eax, dword [0x1805282f0]
xor eax, dword [0x1805282f4]
xor eax, 0x87277664
add eax, 0xeed0b74f
mov r10d, 0xd2ffbf6f
xor edx, edx
div r10d
cmp eax, 0x7c7e58d0
je 0x1802c9b29
test r9b, 1
jne 0x1802c9b59
jmp 0x1802c9b81
mov rcx, rdi
mov rdx, r8
mov r8d, 1
mov r9d, 1
mov qword [rsp + 0x20], 1
call fcn.180268a00
mov r8, qword [r14]
mov rcx, qword [rdi]
jmp 0x1802c9b81
mov r15, rdi
add r15, 8
mov rax, qword [rdi + 8]
mov byte [rax + r8], 0xfb
add r8, 1
mov qword [r14], r8
rol bx, 8
sub rcx, r8
cmp rcx, 2
jb 0x1802c9ba7
jmp 0x1802c9bcd
mov rcx, rdi
mov rdx, r8
mov r8d, 2
mov r9d, 1
mov qword [rsp + 0x20], 1
call fcn.180268a00
mov r8, qword [r14]
mov rax, qword [r15]
mov word [rax + r8], bx
add r8, 2
mov qword [r14], r8
mov qword [rsi], 8
mov rax, rsi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
wait
cli
xor dword [rsi + rsi*4 + 0x51dde227], 0x56
xchg ebx, eax
jmp 0x1802c9963
cmc
xor al, 0x6e
invalid
invalid
mov dword [rcx], ebx
sahf
add dword [r15 - 0x66], 0xfeeee922
invalid