Function at 0x180001a40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
call fcn.180001380
mov edx, 1
xor ecx, ecx
mov r8d, 0x697a6afe
call fcn.1800012c0
xor ecx, ecx
mov edx, 0x1e0
mov r8d, 0x3000
lea r9d, [rcx + 4]
call rax
mov edx, 1
mov rcx, rax
mov rsi, rax
call 0x180001a40
mov rcx, rsi
call fcn.180002e60
mov edi, 8
test eax, eax
je 0x1800019ed
mov edi, dword [rsi + 0x24]
mov ecx, edi
mov dword [0x1800178e0], 6
mov ebx, 0x57e40
sub ecx, 0x40
jne 0x180001a08
mov ebx, 0x493e0
mov edx, 1
xor ecx, ecx
mov r8d, 0x5cbd6d9e
call fcn.1800012c0
xor edx, edx
mov ecx, ebx
call rax
mov edx, edi
mov rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x180001a40
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xa0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rsi, rcx
cmp edx, 1
jne 0x180001c0e
xor ecx, ecx
mov r8d, 0x697a6afe
call fcn.1800012c0
mov edi, 0x21
mov r8d, 0x3000
mov edx, edi
xor ecx, ecx
lea r9d, [rdi - 0x1d]
call rax
mov qword [rsi + 0x1a0], rax
mov byte [rbp - 0x11], 0
mov dword [rbp - 0xd], 0x642ff22c
mov dword [rbp - 9], 0x397aa570
mov dword [rbp - 5], 0x302ea070
mov dword [rbp - 1], 0x342ef42a
mov dword [rbp + 3], 0x3026ff2d
mov dword [rbp + 7], 0x3827ff78
mov dword [rbp + 0xb], 0x3878a52d
mov dword [rbp + 0xf], 0x6529f47c
mov dword [rbp + 0x13], 0x1ec648
mov eax, dword [rbp - 0xd]
movzx eax, byte [rbp - 0x11]
test al, al
jne 0x180001b06
xor ebx, ebx
nop word [rax + rax]
mov eax, dword [rbp + rbx*4 - 0xd]
xor eax, 0x1ec648
mov dword [rbp + rbx*4 - 0xd], eax
inc rbx
cmp rbx, 9
jb 0x180001af0
mov rcx, qword [rsi + 0x1a0]
test rcx, rcx
je 0x180001b2f
lea rdx, [rbp - 0xd]
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rdx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edi, 1
jne 0x180001b20
mov edx, 1
xor ecx, ecx
mov r8d, 0x774393e8
call fcn.1800012c0
lea rdx, [rsi + 0x28]
xor ecx, ecx
mov r8d, 0x104
call rax
mov edx, 1
xor ecx, ecx
mov r8d, 0xa48d6762
call fcn.1800012c0
xor ecx, ecx
call rax
mov byte [rbp - 0x39], 0
mov rdi, rax
mov dword [rbp - 0x35], 0x642ceea9
mov ecx, dword [rbp - 0x35]
movzx ecx, byte [rbp - 0x39]
test cl, cl
jne 0x180001b8a
mov ecx, dword [rbp - 0x35]
xor ecx, 0x646ba0f9
mov dword [rbp - 0x35], ecx
mov edx, 1
xor ecx, ecx
mov r8d, 0x8fe060c
call fcn.1800012c0
lea r8, [rbp - 0x35]
mov edx, 0x80
mov rcx, rdi
call rax
mov edx, 1
xor ecx, ecx
mov r8d, 0x86867f0e
mov rbx, rax
call fcn.1800012c0
mov rdx, rbx
mov rcx, rdi
call rax
mov edx, 1
mov dword [rsi + 0x20], eax
xor ecx, ecx
mov r8d, 0x1a10bd8b
call fcn.1800012c0
mov rdx, rbx
mov rcx, rdi
call rax
mov edx, 1
xor ecx, ecx
mov r8d, 0x1510bd8a
mov rbx, rax
call fcn.1800012c0
mov rcx, rbx
call rax
mov qword [rsi + 0x18], rax
mov dword [rsi + 0x24], 2
jmp 0x180001de9
cmp edx, 2
jne 0x180001dd0
mov edx, 1
xor ecx, ecx
mov r8d, 0x697a6afe
call fcn.1800012c0
mov edx, 0x20
xor ecx, ecx
mov r8d, 0x3000
lea r9d, [rdx - 0x1c]
call rax
mov qword [rsi + 0x188], rax
xor ebx, ebx
mov byte [rbp - 0x29], 0
mov dword [rbp - 0x25], 0x24745716
mov dword [rbp - 0x21], 0x387a1615
mov dword [rbp - 0x1d], 0x3b7a585e
mov dword [rbp - 0x19], 0x56153b70
mov eax, dword [rbp - 0x25]
movzx eax, byte [rbp - 0x29]
test al, al
jne 0x180001c96
mov ecx, ebx
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rbp + rcx*4 - 0x25]
xor eax, 0x56153b70
mov dword [rbp + rcx*4 - 0x25], eax
inc rcx
cmp rcx, 4
jb 0x180001c80
mov rcx, qword [rsi + 0x188]
mov edx, 0xd
test rcx, rcx
je 0x180001cc0
lea r8, [rbp - 0x25]
sub r8, rcx
nop
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180001cb0
mov rcx, rsi
call fcn.180001f80
test al, al
je 0x180001e38
movdqa xmm0, xmmword [0x180015170]
lea rax, [rbp + 0x17]
mov qword [rsp + 0xc8], r14
lea rdi, [rbp + 0x17]
mov qword [rsp + 0xd0], r15
xorps xmm1, xmm1
mov r15, qword [rsi + 0x188]
mov r14d, ebx
sub r15, rax
movdqu xmmword [rbp + 0x17], xmm0
movdqu xmmword [rbp + 0x27], xmm1
nop word [rax + rax]
mov rcx, qword [rsi + 0x188]
test rcx, rcx
jne 0x180001d21
mov rax, rbx
jmp 0x180001d2b
mov edx, 0x20
call fcn.180005370
movsxd rcx, r14d
cmp rcx, rax
ja 0x180001d42
movzx eax, byte [r15 + rdi]
inc r14d
xor byte [rdi], al
inc rdi
jmp 0x180001d10
mov r15, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xc8]
mov byte [rbp - 0x31], bl
mov dword [rbp - 0x2d], 0xbf13620
mov eax, dword [rbp - 0x2d]
movzx eax, byte [rbp - 0x31]
test al, al
jne 0x180001d72
mov eax, dword [rbp - 0x2d]
xor eax, 0xbf13611
mov dword [rbp - 0x2d], eax
mov edx, 1
xor ecx, ecx
mov r8d, 0x2d40b8e6
call fcn.1800012c0
lea rcx, [rbp + 0x17]
call rax
lea r9, [rbp - 0x2d]
mov rcx, rsi
lea rdx, [rbp + 0x17]
lea r8d, [rax + 1]
call fcn.180002a20
mov rdx, qword [rsi + 0x18]
mov rcx, rsi
add rdx, 0x5f
call fcn.180002f70
test al, al
jne 0x180001dc6
mov edx, 1
xor ecx, ecx
mov r8d, 0x95902b19
call fcn.1800012c0
call rax
mov rcx, rsi
call fcn.180002730
jmp 0x180001e38
cmp edx, 8
jne 0x180001de9
mov edx, 1
xor ecx, ecx
mov r8d, 0x95902b19
call fcn.1800012c0
call rax
mov edx, 1
xor ecx, ecx
mov r8d, 0xd89ad05
call fcn.1800012c0
call rax
mov edx, 1
xor ecx, ecx
mov r8d, 0x52ac19c
mov rbx, rax
call fcn.1800012c0
lea rdx, [rsi + 0x150]
mov rcx, rbx
call rax
mov rcx, rsi
mov dword [rsi + 0x180], 3
call fcn.180001e60
mov rcx, rsi
call fcn.180002d80
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1800033e0
mov rbx, qword [rsp + 0xd8]
add rsp, 0xa0
pop rdi
pop rsi
pop rbp
ret