Function at 0x1800ac1f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rdi
push r13
sub rsp, 0x38
mov rax, qword [rcx + 0x28]
mov rbp, r9
mov rbx, r8
mov rdi, rdx
mov r13, rcx
cmp qword [rcx + 0x20], rax
jne 0x1800ac219
call fcn.1800331f0
test rbp, rbp
je 0x1800ac5c9
mov qword [rsp + 0x68], rsi
lea rsi, [rdi + 6]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
lea r15, [rbx + 4]
sub rbx, rdi
lea rax, [rbx - 6]
mov qword [rsp + 0x78], rax
nop word [rax + rax]
movzx ebx, word [rsi - 2]
movzx r11d, word [rsi]
movzx edi, word [rsi - 6]
movzx eax, word [rsi - 4]
mov r14, qword [r13 + 0x20]
lea r13, [0x180000000]
rol bx, 8
rol r11w, 8
rol di, 8
rol ax, 8
xor r12d, r12d
nop
movzx ecx, word [r14 + r12]
or cx, ax
xor di, cx
movzx ecx, word [r14 + r12 + 2]
and cx, di
xor ax, cx
movzx ecx, word [r14 + r12 + 4]
or cx, r11w
xor bx, cx
movzx ecx, word [r14 + r12 + 6]
and cx, bx
xor r11w, cx
movzx ecx, word [r14 + r12 + 8]
xor cx, di
movzx edx, cx
movzx ecx, cx
shr rcx, 7
and dx, 0x7f
movzx ecx, word [r13 + rcx*2 + 0x1d7080]
xor cx, dx
movzx r8d, cx
movzx ecx, dx
movzx edx, byte [rcx + r13 + 0x1d7000]
xor dx, word [r14 + r12 + 0xa]
movzx ecx, word [r14 + r12 + 0xc]
xor dx, r8w
xor rcx, r8
and dx, 0x7f
movzx r9d, word [r13 + rcx*2 + 0x1d7080]
movzx ecx, word [r14 + r12 + 0xe]
xor r9w, dx
xor cx, ax
shl dx, 9
or r9w, dx
movzx edx, cx
movzx ecx, cx
and dx, 0x7f
shr rcx, 7
xor r9w, ax
movzx ecx, word [r13 + rcx*2 + 0x1d7080]
xor cx, dx
movzx r8d, cx
movzx ecx, dx
movzx edx, byte [rcx + r13 + 0x1d7000]
xor dx, word [r14 + r12 + 0x10]
movzx ecx, word [r14 + r12 + 0x12]
xor dx, r8w
xor rcx, r8
and dx, 0x7f
movzx r10d, word [r13 + rcx*2 + 0x1d7080]
movzx ecx, word [r14 + r12 + 0x14]
xor r10w, dx
xor cx, r9w
shl dx, 9
or r10w, dx
movzx edx, cx
movzx ecx, cx
xor r10w, r9w
shr rcx, 7
and dx, 0x7f
movzx ecx, word [r13 + rcx*2 + 0x1d7080]
xor cx, dx
movzx r8d, cx
movzx ecx, dx
movzx r9d, byte [rcx + r13 + 0x1d7000]
xor r9w, word [r14 + r12 + 0x16]
movzx ecx, word [r14 + r12 + 0x1a]
xor r9w, r8w
xor cx, r10w
and r9w, 0x7f
xor bx, cx
movzx ecx, word [r14 + r12 + 0x18]
xor rcx, r8
movzx edx, word [r13 + rcx*2 + 0x1d7080]
movzx ecx, word [r14 + r12 + 0x1c]
xor dx, r9w
shl r9w, 9
or dx, r9w
xor dx, r10w
xor r11w, dx
xor cx, bx
movzx edx, cx
movzx ecx, cx
shr rcx, 7
and dx, 0x7f
movzx ecx, word [r13 + rcx*2 + 0x1d7080]
xor cx, dx
movzx r8d, cx
movzx ecx, dx
movzx edx, byte [rcx + r13 + 0x1d7000]
xor dx, word [r14 + r12 + 0x1e]
movzx ecx, word [r14 + r12 + 0x20]
xor dx, r8w
xor rcx, r8
and dx, 0x7f
movzx r9d, word [r13 + rcx*2 + 0x1d7080]
movzx ecx, word [r14 + r12 + 0x22]
xor r9w, dx
xor cx, r11w
shl dx, 9
or r9w, dx
movzx edx, cx
movzx ecx, cx
and dx, 0x7f
shr rcx, 7
xor r9w, r11w
movzx ecx, word [r13 + rcx*2 + 0x1d7080]
xor cx, dx
movzx r8d, cx
movzx ecx, dx
movzx edx, byte [rcx + r13 + 0x1d7000]
xor dx, word [r14 + r12 + 0x24]
movzx ecx, word [r14 + r12 + 0x26]
xor dx, r8w
xor rcx, r8
and dx, 0x7f
movzx r10d, word [r13 + rcx*2 + 0x1d7080]
movzx ecx, word [r14 + r12 + 0x28]
xor r10w, dx
xor cx, r9w
shl dx, 9
or r10w, dx
movzx edx, cx
movzx ecx, cx
xor r10w, r9w
shr rcx, 7
and dx, 0x7f
movzx ecx, word [r13 + rcx*2 + 0x1d7080]
xor cx, dx
movzx r8d, cx
movzx ecx, dx
movzx r9d, byte [rcx + r13 + 0x1d7000]
xor r9w, word [r14 + r12 + 0x2a]
movzx ecx, word [r14 + r12 + 0x2e]
xor r9w, r8w
xor cx, r10w
and r9w, 0x7f
xor di, cx
movzx ecx, word [r14 + r12 + 0x2c]
xor rcx, r8
add r12, 0x30
movzx edx, word [r13 + rcx*2 + 0x1d7080]
xor dx, r9w
shl r9w, 9
or dx, r9w
xor dx, r10w
xor ax, dx
cmp r12, 0xc0
jne 0x1800ac280
movzx ecx, word [r14 + 0xc0]
mov r13, qword [rsp + 0x60]
or cx, ax
xor di, cx
movzx ecx, word [r14 + 0xc2]
and cx, di
rol di, 8
xor ax, cx
movzx ecx, word [r14 + 0xc4]
or cx, r11w
rol ax, 8
xor bx, cx
movzx ecx, word [r14 + 0xc6]
and cx, bx
mov word [r15], di
xor r11w, cx
rol bx, 8
mov rcx, qword [rsp + 0x78]
rol r11w, 8
mov word [r15 - 2], r11w
mov word [r15 + 2], ax
add r15, 8
mov word [rcx + rsi], bx
add rsi, 8
sub rbp, 1
jne 0x1800ac250
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x68]
add rsp, 0x38
pop r13
pop rdi
pop rbp
pop rbx
ret