Function at 0x180017e20
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x260
mov qword [rsp + 0xc8], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov rax, qword [0x1800a8120]
xor rax, rsp
mov qword [rsp + 0x250], rax
xor r14d, r14d
mov bpl, r14b
lea r15d, [r14 + 0xf]
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], r14
mov byte [rsp + 0x38], r14b
lea r8d, [r14 + 0x1d]
lea rdx, str.SoftwareKuaiZipActivateInfo
lea rcx, [rsp + 0x30]
call fcn.180001638
nop
mov dword [rsp + 0x20], r14d
lea r12d, [r14 + 1]
mov r9b, r12b
lea r8, [rsp + 0x30]
mov rdx, 0xffffffff80000001
lea rcx, [rsp + 0x100]
call fcn.18007e490
nop
cmp qword [rsp + 0x50], 0x10
jb 0x180017ec4
mov rcx, qword [rsp + 0x38]
call fcn.18005c410
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], r14
mov byte [rsp + 0x38], r14b
mov qword [rsp + 0xf0], r15
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], r14b
mov edi, 4
mov r8, rdi
lea rdx, [0x180088510]
lea rcx, [rsp + 0xd0]
call fcn.180001638
nop
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x100]
call fcn.18007e1f0
mov bl, al
cmp qword [rsp + 0xf0], 0x10
jb 0x180017f37
mov rcx, qword [rsp + 0xd8]
call fcn.18005c410
cmp bl, r14b
je 0x1800182e5
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xb8], r14
mov byte [rsp + 0xa8], r14b
mov r8, rdi
lea rdx, str.mark
lea rcx, [rsp + 0xa0]
call fcn.180001638
nop
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x100]
call fcn.18007e720
nop
cmp qword [rsp + 0xc0], 0x10
jb 0x180017fa3
mov rcx, qword [rsp + 0xa8]
call fcn.18005c410
mov qword [rsp + 0xf0], r15
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], r14b
mov rcx, qword [rsp + 0x88]
mov rbx, rcx
mov rsi, qword [rsp + 0x90]
cmp rcx, rsi
jbe 0x180017fe8
call fcn.18005e62c
mov rsi, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
cmp rcx, rsi
jbe 0x180018016
call fcn.18005e62c
cmp rbx, r14
je 0x180018022
cmp rbx, qword [rsp + 0x70]
je 0x180018027
call fcn.18005e62c
cmp rdi, rsi
je 0x180018091
cmp rbx, r14
jne 0x18001803b
call fcn.18005e62c
mov r11, r14
jmp 0x18001803e
mov r11, qword [rbx]
cmp rdi, qword [r11 + 0x20]
jb 0x180018049
call fcn.18005e62c
mov r8b, byte [rdi]
mov rdx, r12
lea rcx, [rsp + 0xd0]
call fcn.180002470
cmp rbx, r14
jne 0x18001806b
call fcn.18005e62c
mov r11, r14
jmp 0x18001806e
mov r11, qword [rbx]
cmp rdi, qword [r11 + 0x20]
jb 0x180018079
call fcn.18005e62c
add rdi, r12
mov rsi, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
jmp 0x18001800c
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], r14
mov byte [rsp + 0x38], r14b
mov r8d, Ordinal_41
lea rdx, str.DA322A99_C9F1_4177_86A0_EF5AE3E22267
lea rcx, [rsp + 0x30]
call fcn.180001638
mov r11, qword [rsp + 0xe8]
lea rdi, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 0x10
cmovae rdi, qword [rsp + 0xd8]
mov r13, qword [rsp + 0x48]
lea r9, [rsp + 0x38]
cmp qword [rsp + 0x50], 0x10
cmovae r9, qword [rsp + 0x38]
movzx eax, r14w
lea rcx, [rsp + 0x140]
mov r10d, 0x100
mov byte [rcx], al
add ax, r12w
add rcx, r12
cmp ax, r10w
jl 0x180018101
mov byte [rsp + 0x240], r14b
mov byte [rsp + 0x241], r14b
mov r12b, r14b
mov sil, r14b
lea rbx, [rsp + 0x140]
mov r15d, 1
movzx eax, r12b
movzx eax, byte [rax + r9]
movzx ecx, byte [rbx]
add eax, ecx
movzx ecx, sil
add eax, ecx
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
mov esi, eax
movzx r8d, al
mov dl, byte [rbx]
mov cl, byte [rsp + r8 + 0x140]
mov byte [rbx], cl
mov byte [rsp + r8 + 0x140], dl
movzx eax, r12b
add eax, r15d
cdq
idiv r13d
mov r12d, edx
add rbx, r15
sub r10, r15
jne 0x180018134
mov bl, byte [rsp + 0x240]
mov sil, byte [rsp + 0x241]
cmp r11d, r14d
lea r15d, [r10 + 0xf]
jle 0x180018236
mov r10d, r11d
lea r12d, [r15 - 0xe]
mov r11d, 0xff
movzx eax, bl
add eax, r12d
cdq
and edx, r11d
add eax, edx
and eax, r11d
sub eax, edx
mov ebx, eax
movzx r9d, al
movzx eax, byte [rsp + r9 + 0x140]
movzx ecx, sil
add eax, ecx
cdq
and edx, r11d
add eax, edx
and eax, r11d
sub eax, edx
mov esi, eax
movzx r8d, al
mov dl, byte [rsp + r9 + 0x140]
mov cl, byte [rsp + r8 + 0x140]
mov byte [rsp + r9 + 0x140], cl
mov byte [rsp + r8 + 0x140], dl
movzx eax, dl
movzx ecx, byte [rsp + r9 + 0x140]
add eax, ecx
cdq
and edx, r11d
add eax, edx
and eax, r11d
sub eax, edx
movzx eax, al
mov cl, byte [rsp + rax + 0x140]
xor byte [rdi], cl
add rdi, r12
sub r10, r12
jne 0x1800181ac
jmp 0x18001823c
mov r12d, 1
cmp qword [rsp + 0x50], 0x10
jb 0x18001824e
mov rcx, qword [rsp + 0x38]
call fcn.18005c410
mov qword [rsp + 0x20], 3
lea r9, [0x1800882dc]
mov r8, qword [rsp + 0xe8]
xor edx, edx
lea rcx, [rsp + 0xd0]
call fcn.180008c20
movzx ebp, bpl
cmp eax, r14d
cmove ebp, r12d
cmp qword [rsp + 0xf0], 0x10
jb 0x180018298
mov rcx, qword [rsp + 0xd8]
call fcn.18005c410
mov qword [rsp + 0xf0], r15
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], r14b
mov rcx, qword [rsp + 0x88]
cmp rcx, r14
je 0x1800182c2
call fcn.18005c410
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], r14
mov rcx, qword [rsp + 0x70]
call fcn.18005c410
nop
lea rcx, [rsp + 0x100]
call fcn.18007e460
mov al, bpl
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.18005cb30
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret