Function at 0x180108c90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov r13, rdx
xor edi, edi
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rdi
call fcn.18011e4a0
mov rbx, rax
mov qword [rbp + 0xf8], rax
movabs r14, 0x7ffffffdfffe
mov rdx, qword [0x18019d760]
cmp rax, rdx
jbe 0x180108cf4
add rdx, qword [0x18019d768]
cmp rax, rdx
jb 0x180108d04
lea rcx, [rax - 0x10000]
cmp rcx, r14
ja 0x180109329
test rax, rax
je 0x1801092f0
mov dword [rbp + 0xf0], edi
lea rdx, [rax + 0x18]
mov r8d, 4
lea rcx, [rbp + 0xf0]
call fcn.180185c30
mov r12d, dword [rbp + 0xf0]
mov r15d, edi
test r12d, r12d
jle 0x1801092f0
nop dword [rax]
mov edi, r12d
mov esi, r15d
mov qword [rbp + 0xf0], 0
movsxd rax, r15d
add rax, 4
lea rdx, [rbx + rax*8]
mov r8d, 8
lea rcx, [rbp + 0xf0]
call fcn.180185c30
mov rbx, qword [rbp + 0xf0]
mov rcx, qword [0x18019d760]
cmp rbx, rcx
jbe 0x180108d8d
add rcx, qword [0x18019d768]
cmp rbx, rcx
jb 0x180108d9d
lea rax, [rbx - 0x10000]
cmp rax, r14
ja 0x1801092cc
mov rcx, rbx
call fcn.1800ef440
mov r14, rax
mov rcx, qword [0x18019d760]
cmp rax, rcx
jbe 0x180108dc3
mov rdx, qword [0x18019d768]
add rdx, rcx
cmp rax, rdx
jb 0x180108ddc
add rax, 0xffffffffffff0000
movabs rcx, 0x7ffffffdfffe
cmp rax, rcx
ja 0x1801092c5
mov rcx, rbx
call fcn.18010f770
cmp dword [rax + 0x10], 0
jle 0x1801092d0
lea rdx, [rax + 0x14]
mov r8, rdx
mov r9d, 0x84222325
movzx ecx, word [rdx]
test cx, cx
je 0x180108e37
movzx eax, cx
nop word [rax + rax]
movzx eax, ax
xor eax, r9d
imul r9d, eax, 0x1b3
lea r8, [r8 + 2]
movzx eax, word [r8]
test ax, ax
jne 0x180108e10
cmp r9d, 0xc741d8af
je 0x1801092d0
mov r8, rdx
mov r9d, 0x84222325
test cx, cx
je 0x180108e77
movzx eax, cx
nop dword [rax + rax]
movzx eax, ax
xor eax, r9d
imul r9d, eax, 0x1b3
lea r8, [r8 + 2]
movzx eax, word [r8]
test ax, ax
jne 0x180108e50
cmp r9d, 0x58eab558
je 0x1801092d0
mov r8, rdx
mov r9d, 0x84222325
test cx, cx
je 0x180108eb7
movzx eax, cx
nop dword [rax + rax]
movzx eax, ax
xor eax, r9d
imul r9d, eax, 0x1b3
lea r8, [r8 + 2]
movzx eax, word [r8]
test ax, ax
jne 0x180108e90
cmp r9d, 0xdc268177
je 0x1801092d0
mov r8d, 0x84222325
test cx, cx
je 0x180108ee8
movzx eax, cx
xor eax, r8d
imul r8d, eax, 0x1b3
lea rdx, [rdx + 2]
movzx ecx, word [rdx]
test cx, cx
jne 0x180108ec2
cmp r8d, 0x7e0bc773
je 0x1801092d0
mov rcx, r14
call fcn.18011cf80
mov rcx, rax
call fcn.18010bd40
cmp dword [rax + 0x10], 0
jle 0x1801092d0
mov rcx, r14
call fcn.18011f930
add rax, 0x14
mov r8d, 0x84222325
movzx ecx, word [rax]
test cx, cx
je 0x180108f39
nop dword [rax]
movzx ecx, cx
xor ecx, r8d
imul r8d, ecx, 0x1b3
lea rax, [rax + 2]
movzx ecx, word [rax]
test cx, cx
jne 0x180108f20
lea rdx, [rbp - 0x20]
lea rcx, [0x18019bfeb]
call fcn.1800ea0d0
nop
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x48], xmm0
xor edi, edi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], dil
mov qword [rsp + 0x68], rdi
mov word [rsp + 0x70], di
mov byte [rsp + 0x72], dil
vmovups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], di
vmovups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], di
mov eax, dword [rbp - 0x20]
mov dword [rsp + 0x40], eax
mov rbx, qword [rsp + 0x28]
cmp rbx, qword [rsp + 0x30]
je 0x180109015
mov qword [rbp + 0xf0], rbx
mov dword [rbx], eax
lea rcx, [rbx + 8]
lea rdx, [rsp + 0x48]
call fcn.1800e2dc0
nop
mov rax, qword [rsp + 0x68]
mov qword [rbx + 0x28], rax
movzx eax, byte [rsp + 0x70]
mov byte [rbx + 0x30], al
movzx eax, byte [rsp + 0x71]
mov byte [rbx + 0x31], al
movzx eax, byte [rsp + 0x72]
mov byte [rbx + 0x32], al
lea rcx, [rbx + 0x38]
lea rdx, [rsp + 0x78]
call fcn.1800e2f20
nop
lea rcx, [rbx + 0x58]
lea rdx, [rbp - 0x68]
call fcn.1800e2f20
nop
add qword [rsp + 0x28], 0x78
jmp 0x180109027
lea r8, [rsp + 0x40]
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.1800dbe50
mov rcx, r14
call fcn.180108350
test al, al
je 0x1801090c6
mov rcx, r14
call fcn.1800ff170
mov rdx, qword [0x18019d760]
cmp rax, rdx
jbe 0x180109057
add rdx, qword [0x18019d768]
cmp rax, rdx
jb 0x180109071
lea rcx, [rax - 0x10000]
movabs r14, 0x7ffffffdfffe
cmp rcx, r14
ja 0x1801091c9
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.1800ff360
nop
mov r8, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
cmp r8, rcx
je 0x1801090bc
sub rcx, r8
movabs rax, 0x8888888888888889
imul rcx
add rdx, rcx
sar rdx, 6
mov r9, rdx
shr r9, 0x3f
add r9, rdx
mov rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x20]
call fcn.1800dc970
nop
lea rcx, [rbp - 0x38]
call fcn.1800e77f0
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 7
jbe 0x180109106
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180109101
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801093e9
call fcn.180182790
mov rdx, qword [rbp - 0x70]
cmp rdx, 7
jbe 0x180109147
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180109142
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801093e9
call fcn.180182790
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x180109185
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010917f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801093e9
call fcn.180182790
nop
mov rdx, qword [rbp]
cmp rdx, 0xf
jbe 0x1801092d2
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801091bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801093ef
call fcn.180182790
jmp 0x1801092d2
mov rdx, qword [rbp - 0x50]
cmp rdx, 7
jbe 0x180109209
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180109204
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801093dd
call fcn.180182790
mov rdx, qword [rbp - 0x70]
cmp rdx, 7
jbe 0x18010924a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180109245
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801093dd
call fcn.180182790
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x180109288
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180109282
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801093dd
call fcn.180182790
nop
mov rdx, qword [rbp]
cmp rdx, 0xf
jbe 0x1801092dc
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801092be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801093e3
call fcn.180182790
jmp 0x1801092dc
xor edi, edi
mov r14, rcx
jmp 0x1801092dc
xor edi, edi
jmp 0x1801092dc
xor edi, edi
movabs r14, 0x7ffffffdfffe
inc r15d
cmp r15d, r12d
jge 0x1801092f0
mov rbx, qword [rbp + 0xf8]
jmp 0x180108d40
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdi
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x28], rdi
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdi
mov qword [r13], rax
mov qword [r13 + 8], rcx
mov qword [r13 + 0x10], rdx
lea rcx, [rsp + 0x20]
call fcn.1800e77f0
jmp 0x1801093b9
mov qword [r13], rdi
mov qword [r13 + 8], rdi
mov qword [r13 + 0x10], rdi
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x1801093b9
mov rdi, qword [rsp + 0x28]
cmp rbx, rdi
je 0x180109366
nop dword [rax]
mov rcx, rbx
call fcn.1800e5ad0
add rbx, 0x78
cmp rbx, rdi
jne 0x180109350
mov rbx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
sub rcx, rbx
movabs rax, 0x8888888888888889
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, rbx
cmp rdx, 0x1000
jb 0x1801093b1
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801093d7
mov rcx, rbx
call fcn.180182790
mov rax, r13
mov rbx, qword [rsp + 0x1e0]
add rsp, 0x1a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800e6e30
nop
call fcn.1800e6e30
nop
call fcn.1800e6e30
nop
call fcn.1800e6e30
nop
call fcn.1800e6e30
int3