Function at 0x18001778c
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 [0x1800a7120]
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.18000164c
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.18007dda0
nop
cmp qword [rsp + 0x50], 0x10
jb 0x180017830
mov rcx, qword [rsp + 0x38]
call fcn.18005bda0
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, [0x180087410]
lea rcx, [rsp + 0xd0]
call fcn.18000164c
nop
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x100]
call fcn.18007db90
mov bl, al
cmp qword [rsp + 0xf0], 0x10
jb 0x1800178a3
mov rcx, qword [rsp + 0xd8]
call fcn.18005bda0
cmp bl, r14b
je 0x180017c51
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.18000164c
nop
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x100]
call fcn.18007de30
nop
cmp qword [rsp + 0xc0], 0x10
jb 0x18001790f
mov rcx, qword [rsp + 0xa8]
call fcn.18005bda0
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 0x180017954
call fcn.18005dfbc
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 0x180017982
call fcn.18005dfbc
cmp rbx, r14
je 0x18001798e
cmp rbx, qword [rsp + 0x70]
je 0x180017993
call fcn.18005dfbc
cmp rdi, rsi
je 0x1800179fd
cmp rbx, r14
jne 0x1800179a7
call fcn.18005dfbc
mov r11, r14
jmp 0x1800179aa
mov r11, qword [rbx]
cmp rdi, qword [r11 + 0x20]
jb 0x1800179b5
call fcn.18005dfbc
mov r8b, byte [rdi]
mov rdx, r12
lea rcx, [rsp + 0xd0]
call fcn.180002470
cmp rbx, r14
jne 0x1800179d7
call fcn.18005dfbc
mov r11, r14
jmp 0x1800179da
mov r11, qword [rbx]
cmp rdi, qword [r11 + 0x20]
jb 0x1800179e5
call fcn.18005dfbc
add rdi, r12
mov rsi, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
jmp 0x180017978
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.18000164c
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 0x180017a6d
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 0x180017aa0
mov bl, byte [rsp + 0x240]
mov sil, byte [rsp + 0x241]
cmp r11d, r14d
lea r15d, [r10 + 0xf]
jle 0x180017ba2
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 0x180017b18
jmp 0x180017ba8
mov r12d, 1
cmp qword [rsp + 0x50], 0x10
jb 0x180017bba
mov rcx, qword [rsp + 0x38]
call fcn.18005bda0
mov qword [rsp + 0x20], 3
lea r9, [0x1800871dc]
mov r8, qword [rsp + 0xe8]
xor edx, edx
lea rcx, [rsp + 0xd0]
call fcn.180008be0
movzx ebp, bpl
cmp eax, r14d
cmove ebp, r12d
cmp qword [rsp + 0xf0], 0x10
jb 0x180017c04
mov rcx, qword [rsp + 0xd8]
call fcn.18005bda0
mov qword [rsp + 0xf0], r15
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], r14b
mov rcx, qword [rsp + 0x88]
cmp rcx, r14
je 0x180017c2e
call fcn.18005bda0
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], r14
mov rcx, qword [rsp + 0x70]
call fcn.18005bda0
nop
lea rcx, [rsp + 0x100]
call fcn.18007dd70
mov al, bpl
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.18005c4c0
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