Function at 0x180018a40
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push r12
push r13
push r14
sub rsp, 0x260
mov qword [rsp + 0xc8], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1800ac2b8]
xor rax, rsp
mov qword [rsp + 0x250], rax
xor r13b, r13b
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
xor r14d, r14d
mov qword [rsp + 0x48], r14
mov byte [rsp + 0x38], r13b
lea r8d, [r14 + 0x1d]
lea rdx, str.SoftwareKuaiZipActivateInfo
lea rcx, [rsp + 0x30]
call fcn.180001638
nop
mov dword [rsp + 0x20], r14d
mov r9b, 1
lea r8, [rsp + 0x30]
mov rdx, 0xffffffff80000001
lea rcx, [rsp + 0x100]
call fcn.180080ea0
nop
cmp qword [rsp + 0x50], 0x10
jb 0x180018ae1
mov rcx, qword [rsp + 0x38]
call fcn.18005eeb4
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x48], r14
mov byte [rsp + 0x38], 0
mov qword [rsp + reloc.WS2_32.dll_ntohs0], 0xf
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], 0
mov r8d, 4
lea rdx, [0x18008b3f0]
lea rcx, [rsp + 0xd0]
call fcn.180001638
nop
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x100]
call fcn.180080c90
movzx ebx, al
cmp qword [rsp + 0xf0], 0x10
jb 0x180018b5b
mov rcx, qword [rsp + 0xd8]
call fcn.18005eeb4
test bl, bl
je 0x180018ff7
mov qword [rsp + 0xc0], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0xb8], r14
mov byte [rsp + 0xa8], 0
mov r8d, 4
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.180080f30
nop
cmp qword [rsp + 0xc0], 0x10
jb 0x180018bcd
mov rcx, qword [rsp + 0xa8]
call fcn.18005eeb4
mov qword [rsp + reloc.WS2_32.dll_ntohs0], 0xf
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], 0
mov rbx, qword [rsp + 0x88]
cmp rbx, qword [rsp + 0x90]
jbe 0x180018c00
call fcn.1800610c8
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 rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
nop word [rax + rax]
mov rbx, qword [rsp + 0x90]
cmp qword [rsp + 0x88], rbx
jbe 0x180018c47
call fcn.1800610c8
test rdi, rdi
je 0x180018c53
cmp rdi, qword [rsp + 0x70]
je 0x180018c58
call fcn.1800610c8
cmp rsi, rbx
je 0x180018d74
test rdi, rdi
jne 0x180018c70
call fcn.1800610c8
mov r11, r14
jmp 0x180018c73
mov r11, qword [rdi]
cmp rsi, qword [r11 + 0x20]
jb 0x180018c7e
call fcn.1800610c8
movzx ebp, byte [rsi]
or rax, 0xffffffffffffffff
sub rax, qword [rsp + 0xe8]
cmp rax, 1
ja 0x180018c98
call fcn.18005e1f4
mov rax, qword [rsp + 0xe8]
lea rbx, [rax + 1]
cmp rbx, 0xfffffffffffffffe
jbe 0x180018caf
call fcn.18005e1f4
cmp qword [rsp + 0xf0], rbx
jae 0x180018cd3
mov r8, qword [rsp + 0xe8]
mov rdx, rbx
lea rcx, [rsp + 0xd0]
call fcn.180001ce4
jmp 0x180018cfe
test rbx, rbx
jne 0x180018cfe
mov qword [rsp + 0xe8], r14
lea rax, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 0x10
cmovae rax, qword [rsp + 0xd8]
mov byte [rax], bl
jmp 0x180018d4f
test rbx, rbx
je 0x180018d4f
lea rcx, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 0x10
cmovae rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xe8]
mov byte [rcx + rax], bpl
mov qword [rsp + 0xe8], rbx
lea rax, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 0x10
cmovae rax, qword [rsp + 0xd8]
mov byte [rax + rbx], 0
test rdi, rdi
jne 0x180018d5e
call fcn.1800610c8
mov r11, r14
jmp 0x180018d61
mov r11, qword [rdi]
cmp rsi, qword [r11 + 0x20]
jb 0x180018d6c
call fcn.1800610c8
inc rsi
jmp 0x180018c30
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x48], r14
mov byte [rsp + 0x38], 0
mov r8d, Ordinal_41
lea rdx, str.DA322A99_C9F1_4177_86A0_EF5AE3E22267
lea rcx, [rsp + 0x30]
call fcn.180001638
mov rsi, qword [rsp + 0xe8]
lea rbp, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 0x10
cmovae rbp, qword [rsp + 0xd8]
mov r12, qword [rsp + 0x48]
lea rdi, [rsp + 0x38]
cmp qword [rsp + 0x50], 0x10
cmovae rdi, qword [rsp + 0x38]
movzx eax, r14w
lea rcx, [rsp + 0x140]
mov r9d, pe_nt_image_headers64
nop dword [rax + rax]
mov byte [rcx], al
inc ax
inc rcx
cmp ax, r9w
jl 0x180018df0
mov byte [rsp + 0x240], 0
mov byte [rsp + 0x241], 0
xor bl, bl
xor r11b, r11b
lea r10, [rsp + 0x140]
nop dword [rax + rax]
movzx eax, bl
movzx eax, byte [rax + rdi]
movzx ecx, r11b
add eax, ecx
movzx ecx, byte [r10]
add eax, ecx
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
mov r11d, eax
movzx r8d, al
movzx edx, byte [r10]
movzx ecx, byte [rsp + r8 + 0x140]
mov byte [r10], cl
mov byte [rsp + r8 + 0x140], dl
movzx eax, bl
inc eax
cdq
idiv r12d
mov ebx, edx
inc r10
sub r9, 1
jne 0x180018e20
mov r11b, byte [rsp + 0x240]
mov bl, byte [rsp + 0x241]
test esi, esi
jle 0x180018f1d
mov r10d, esi
nop dword [rax + rax]
movzx eax, r11b
inc eax
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
mov r11d, eax
movzx r9d, al
movzx eax, byte [rsp + r9 + 0x140]
movzx ecx, bl
add eax, ecx
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
mov ebx, eax
movzx r8d, al
movzx edx, byte [rsp + r9 + 0x140]
movzx ecx, 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
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx eax, al
movzx ecx, byte [rsp + rax + 0x140]
xor byte [rbp], cl
inc rbp
sub r10, 1
jne 0x180018e90
cmp qword [rsp + 0x50], 0x10
jb 0x180018f2f
mov rcx, qword [rsp + 0x38]
call fcn.18005eeb4
lea rcx, [rsp + 0xd8]
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xf0]
cmp rdi, 0x10
cmovae rcx, rsi
mov r8d, 3
mov rbx, qword [rsp + 0xe8]
cmp rbx, r8
cmovb r8, rbx
lea rdx, [0x18008b1bc]
call fcn.180061160
movsxd rcx, eax
test eax, eax
jne 0x180018f89
cmp rbx, 3
jb 0x180018f98
mov eax, r14d
cmp rbx, 3
setne al
mov ecx, eax
movzx r13d, r13b
mov eax, 1
test ecx, ecx
cmove r13d, eax
cmp rdi, 0x10
jb 0x180018fa6
mov rcx, rsi
call fcn.18005eeb4
mov qword [rsp + reloc.WS2_32.dll_ntohs0], 0xf
mov qword [rsp + 0xe8], r14
mov byte [rsp + 0xd8], 0
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x180018fd4
call fcn.18005eeb4
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], r14
mov rcx, qword [rsp + 0x70]
call fcn.18005eeb4
nop
lea rcx, [rsp + 0x100]
call fcn.180080e70
mov al, r13b
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.18005f4d0
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop r12
ret