Function at 0x180071e30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov edi, dword [rbp + 0x40]
lea r11, [0x180000000]
imul eax, ecx, 0x84
mov r15, r9
xor r10d, r10d
mov dword [rbp - 0x50], ecx
mov r9, r8
mov r8, rdx
mov edx, ecx
mov dword [rbp - 0x30], eax
cmp ecx, eax
ja 0x1800722b4
mov r13, qword [rbp - 0x40]
movzx esi, byte [rbp + 0x40]
movzx r14d, byte [rbp + 0x40]
mov ebx, dword [rbp + 0x40]
movzx r12d, byte [rbp + 0x40]
mov qword [rbp - 0x18], rdi
nop dword [rax]
cmp ecx, 0x1133
ja 0x180072001
je 0x180071fe4
mov eax, ecx
sub eax, 0x77
je 0x1800720ba
sub eax, 0x58
je 0x180071f99
sub eax, 0x53c
je 0x180071f90
sub eax, 0x478
je 0x180071f0c
cmp eax, 0x11c
jne 0x18007228c
mov eax, dword [r15]
lea rdx, [rbp - 0x38]
mov ecx, 0x9d
mov dword [rbp - 0x38], eax
call fcn.180088890
mov ecx, dword [rbp - 0x50]
lea r11, [0x180000000]
mov edx, dword [rbp + 0x40]
mov dword [r15], eax
jmp 0x18007228c
mov r8, qword [rbp - 0x28]
mov edx, 2
mov rax, qword [r15]
mov rcx, r8
nop dword [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180071f20
movups xmm0, xmmword [rax]
mov edx, dword [rbp + 0x40]
movups xmmword [rcx], xmm0
mov rax, qword [rax + 0x10]
mov qword [rcx + 0x10], rax
mov ecx, dword [rbp - 0x50]
mov qword [r8 + 0x18], r10
jmp 0x18007228c
mov r13, qword [rbp - 0x40]
jmp 0x18007228c
mov rax, qword [r15]
cmp dword [rax], 0x7f2bb701
jne 0x1800722aa
lea r9, [rbp - 0x38]
mov dword [rbp - 0x38], 0x118
mov r8d, 0x28
lea rdx, [rbp - 0x28]
xor ecx, ecx
call fcn.1800a5750
mov edi, eax
mov qword [rbp - 0x18], rdi
test eax, eax
jne 0x1800725f9
mov ecx, dword [rbp - 0x50]
lea r11, [0x180000000]
mov edx, dword [rbp + 0x40]
jmp 0x18007228c
mov r8, qword [r8]
mov rax, r13
sub rax, r9
mov qword [rbp - 0x20], r9
cmp rax, r8
cmovbe r8, rax
mov qword [rbp - 0x10], r8
jmp 0x18007228c
cmp ecx, 0x1437
je 0x180072275
cmp ecx, 0x16c7
je 0x18007220c
cmp ecx, 0x1c5b
je 0x1800720e2
cmp ecx, 0x1deb
je 0x1800720c7
cmp ecx, 0x21ef
jne 0x18007228c
mov r10d, 0x7d
mov eax, r10d
sub eax, 0x7d
je 0x180072069
cmp eax, 0x48
jne 0x1800720a7
mov eax, dword [r15]
lea rdx, [rbp + 0x40]
mov ecx, 0x9d
mov dword [rbp + 0x40], eax
call fcn.180088890
jmp 0x1800725f9
mov rax, qword [rbp - 0x40]
add r13, 4
mov r8, r13
test rax, rax
je 0x1800720a7
mov edx, dword [r15]
mov r9, rax
nop
movzx esi, byte [r8]
lea r8, [r8 + 1]
xor sil, byte [r15]
mov eax, edx
shr eax, 8
movzx ecx, sil
mov edx, dword [r11 + rcx*4 + 0xc4f80]
xor edx, eax
mov dword [r15], edx
sub r9, 1
jne 0x180072080
add r10d, 0x48
cmp r10d, 0x10d
jb 0x180072043
mov ecx, dword [rbp - 0x50]
mov edx, dword [rbp + 0x40]
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x20], rax
jmp 0x18007228c
mov rax, qword [rbp - 0x28]
mov qword [rax + 0x50], r10
mov qword [rax + 0x80], r10
mov qword [rax + 0x88], r10
jmp 0x18007228c
mov r9, qword [rbp - 8]
test r9, r9
je 0x18007228c
movzx edi, byte [rbp - 0x48]
mov r8d, 0xb1
nop dword [rax]
cmp r8d, 0x1b0
ja 0x1800721c5
je 0x1800721bc
mov eax, r8d
sub eax, 0xb1
je 0x1800721ac
sub eax, 0x55
je 0x18007216b
cmp eax, 0x55
jne 0x18007217e
movzx ecx, dil
movzx eax, r12b
mov edx, dword [r11 + rcx*4 + 0xc6b80]
xor edx, dword [r11 + rax*4 + 0xc6380]
movzx eax, r14b
xor edx, dword [r11 + rax*4 + 0xc6780]
movzx eax, sil
xor edx, dword [r11 + rax*4 + 0xc5f80]
add r13, 4
mov dword [r15], edx
mov ebx, dword [r13]
movzx edi, bl
jmp 0x18007217e
mov r14d, ebx
shr r14d, 8
mov r12d, ebx
mov esi, ebx
shr r12d, 0x10
shr esi, 0x18
add r8d, 0x55
cmp r8d, 0x2af
jb 0x180072100
mov byte [rbp - 0x48], dil
sub r9, 1
jne 0x1800720f3
mov rdi, qword [rbp - 0x18]
mov ecx, dword [rbp - 0x50]
mov edx, dword [rbp + 0x40]
jmp 0x18007228c
mov ebx, dword [r13 + 4]
add r13, 4
xor ebx, dword [r15]
movzx edi, bl
jmp 0x18007217e
mov r14d, ebx
shr r14d, 8
jmp 0x18007217e
mov eax, r8d
sub eax, 0x205
je 0x180072172
cmp eax, 0x55
jne 0x18007217e
movzx eax, r12b
movzx ecx, dil
mov edx, dword [r11 + rcx*4 + 0xc5b80]
xor edx, dword [r11 + rax*4 + 0xc5380]
movzx eax, r14b
xor edx, dword [r11 + rax*4 + 0xc5780]
movzx eax, sil
xor edx, dword [r11 + rax*4 + 0xc4f80]
xor dword [r15], edx
jmp 0x18007217e
mov rax, qword [r8]
mov r8, qword [rbp - 0x10]
sub rax, r8
mov r9, rax
and eax, 7
shr r9, 3
mov qword [rbp - 8], r9
mov qword [rbp - 0x40], rax
test r8, r8
je 0x18007226f
mov edx, dword [r15]
mov r9, qword [rbp - 0x20]
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r9]
inc r9
xor al, byte [r15]
movzx esi, al
mov eax, edx
shr eax, 8
mov edx, dword [r11 + rsi*4 + 0xc4f80]
xor edx, eax
mov dword [r15], edx
sub r8, 1
jne 0x180072240
mov ecx, dword [rbp - 0x50]
mov edx, dword [rbp + 0x40]
mov qword [rbp - 0x20], r9
sub r13, 4
jmp 0x18007228c
mov r8, qword [rbp - 0x28]
mov qword [r8 + 0x20], r10
mov qword [r8 + 0x98], r10
mov qword [r8 + 0x38], r10
mov qword [r8 + 0x48], r10
mov r9, qword [rbp + 0x50]
lea eax, [rdx + rdx*2]
lea ecx, [rcx + rax*4]
xor r10d, r10d
mov dword [rbp - 0x50], ecx
cmp ecx, dword [rbp - 0x30]
ja 0x1800722b4
mov r8, qword [rbp + 0x48]
jmp 0x180071ea0
mov eax, 0x7f2bb701
jmp 0x1800725f9
mov ebx, dword [rbp + 0x40]
lea esi, [rdx + 0xb]
cmp edx, esi
jae case.0x1800722ea.216
mov r14, qword [rbp - 0x28]
nop word [rax + rax]
lea eax, [rdx - 0xcf]
cmp eax, 0xa
ja case.default.0x1800722ea
mov ecx, dword [r11 + rax*4 + 0x72614]
add rcx, r11
jmp rcx
mov r8d, dword [r14 + 0x34]
mov eax, dword [r14 + 0x28]
mov rdx, qword [r15]
mov rcx, qword [r14 + 0x38]
imul r8, rax
mov rdx, qword [rdx + 0x38]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r15]
mov rcx, qword [rax + 0x48]
test rcx, rcx
je 0x180072337
mov qword [rbp - 0x40], rcx
lea r8, [rbp - 0x40]
lea rcx, [r14 + 0x48]
xor r9d, r9d
mov edx, 0xc3
call fcn.1800bc3a0
mov edi, eax
test eax, eax
jne 0x180072516
mov rax, qword [r15]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x180072366
mov qword [rbp - 0x40], rcx
lea r8, [rbp - 0x40]
lea rcx, [r14 + 0x50]
xor r9d, r9d
mov edx, 0xc3
call fcn.1800bc3a0
mov edi, eax
test eax, eax
jne 0x180072516
mov rax, qword [r15]
mov rcx, qword [rax + 0x80]
test rcx, rcx
je 0x1800725d4
mov qword [rbp - 0x40], rcx
lea rdx, [r14 + 0x80]
lea rcx, [rbp - 0x40]
mov r8d, 0x52
call fcn.180067e90
mov edi, eax
test eax, eax
jne 0x180072516
jmp 0x1800725d4
mov rax, qword [r15]
mov rdx, qword [r14 + 0x18]
mov rcx, qword [rax + 0x18]
nop dword [rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1800723b0
jmp 0x1800725d8
test edi, edi
jne 0x180072516
mov rax, qword [r15]
lea edx, [rdi + 8]
mov rcx, qword [rax + 0x98]
mov rax, qword [r14 + 0x98]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm1, xmmword [rcx - 0x70]
movups xmmword [rax - 0x70], xmm1
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x60], xmm0
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x50], xmm1
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x40], xmm0
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x30], xmm1
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x20], xmm0
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x1800723e2
mov eax, dword [r14 + 0x28]
lea r8d, [rdx + 0x27]
mov dword [rbp - 0x30], eax
lea rcx, [r14 + 0x38]
mov eax, dword [r14 + 0x34]
lea r9, [rbp - 0x30]
lea rdx, [rbp - 0x38]
mov dword [rbp - 0x38], eax
call fcn.180048ee0
mov rdi, rax
test eax, eax
jne 0x180072516
jmp 0x1800725d4
mov rax, qword [r14 + 0xe0]
test rax, rax
je 0x180072477
inc dword [rax + 0x14]
mov rax, qword [r15]
mov rcx, qword [rax + 0x18]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x180072485
xor ecx, ecx
lea rdx, [r14 + 0x18]
inc eax
lea r9, [rbp - 0x50]
mov dword [rbp - 0x50], eax
lea r8d, [rcx + 0x28]
call fcn.1800a5750
mov edi, eax
test eax, eax
jne 0x180072516
jmp 0x1800725d4
xor ecx, ecx
mov dword [rbp - 0x50], 0x400
lea rdx, [r14 + 0x20]
lea r9, [rbp - 0x50]
lea r8d, [rcx + 0x28]
call fcn.1800a5750
mov edi, eax
test eax, eax
jne 0x180072516
jmp 0x1800725d4
mov ebx, r10d
jmp case.default.0x1800722ea
mov rax, qword [r15]
mov rcx, qword [rax + 0x88]
test rcx, rcx
je 0x18007253e
mov qword [rbp - 0x40], rcx
lea rax, [rbp - 0x40]
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea r9, [r14 + 0x88]
xor edx, edx
mov r8d, 0xc8
call fcn.180078580
mov edi, eax
test eax, eax
je 0x180072537
xor r8d, r8d
mov dword [rbp + 0x40], 0xd8
mov edx, 0xc7
mov qword [rbp - 0x40], r14
lea rcx, [rbp - 0x40]
call fcn.180053740
jmp 0x1800725d4
mov edx, dword [rbp + 0x40]
mov r9, qword [rbp + 0x50]
mov qword [r9], r14
jmp case.default.0x1800722ea
mov rax, qword [r14 + 8]
inc dword [rax + 0x30]
jmp case.default.0x1800722ea
mov rax, qword [r15]
mov edx, 8
mov rcx, qword [rax + 0x20]
mov rax, qword [r14 + 0x20]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm1, xmmword [rcx - 0x70]
movups xmmword [rax - 0x70], xmm1
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x60], xmm0
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x50], xmm1
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x40], xmm0
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x30], xmm1
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x20], xmm0
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x180072562
xor ecx, ecx
mov dword [rbp - 0x50], 0x400
lea rdx, [r14 + 0x98]
lea r9, [rbp - 0x50]
lea r8d, [rcx + 0x28]
call fcn.1800a5750
mov edi, eax
mov r9, qword [rbp + 0x50]
mov edx, dword [rbp + 0x40]
inc edx
mov dword [rbp + 0x40], edx
cmp edx, esi
jae case.0x1800722ea.216
lea r11, [0x180000000]
xor r10d, r10d
jmp 0x1800722d0
mov eax, edi
jmp 0x1800725f9
mov eax, ebx
mov rbx, qword [rsp + 0xd8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret