Function at 0x180006d28
Capabilities:
Encode data using xor
Hash data with crc32
Link many functions at runtime

Disassembly:
mov dword [rsp + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x58]
sub rsp, 0x158
mov ebx, ecx
lea rcx, [rbp - 0x70]
call fcn.180036598
mov edx, ebx
mov rcx, rax
call fcn.1800370e8
xor r13d, r13d
test al, al
je 0x180006d74
lea rdx, [rbp + 0xa0]
call fcn.1800364c4
mov rax, qword [rax]
jmp 0x180007664
mov rcx, qword [0x1801b5bb0]
lea rdx, str.il2cpp_domain_get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rcx, qword [0x1801b5bb0]
lea rdx, str.il2cpp_domain_get_assemblies
mov rbx, rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], r13
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp - 0x50]
mov rcx, rbx
call rax
mov rcx, qword [0x1801b5bb0]
lea rdx, str.il2cpp_domain_get_assemblies
mov r14, rax
mov qword [rbp - 0x60], rax
mov esi, r13d
mov dword [rbp + 0xb0], r13d
mov qword [rbp + 0xb8], r13
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0xb8]
mov rcx, rbx
call rax
cmp qword [rbp + 0xb8], r13
jbe 0x180007662
mov rdi, r13
mov qword [rbp - 0x78], r13
mov rax, qword [r14 + rdi*8]
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x1801b5bb0]
mov r12d, r13d
mov dword [rbp + 0xa8], r13d
mov r15, qword [rax]
mov qword [rbp - 0x80], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
test rax, rax
je 0x18000761c
mov esi, 0xf
mov r14, qword [r15]
or rdi, 0xffffffffffffffff
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], rsi
inc rdi
cmp byte [r14 + rdi], r13b
jne 0x180006e50
cmp rdi, rsi
ja 0x180006e82
mov r8, rdi
mov qword [rsp + 0x50], rdi
mov rdx, r14
lea rcx, [rsp + 0x40]
call sub.VCRUNTIME140.dll_memmove
mov byte [rsp + rdi + 0x40], r13b
mov rsi, qword [rsp + 0x40]
jmp 0x180006f27
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x1800076e5
mov rbx, rdi
or rbx, rsi
cmp rbx, rax
jbe 0x180006eaf
mov rbx, rax
movabs rax, 0x8000000000000027
jmp 0x180006ed5
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180006ef4
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800076eb
mov rcx, rax
call fcn.18006f980
test rax, rax
je 0x1800076ce
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x180006f06
test rcx, rcx
je 0x180006f03
call fcn.18006f980
mov rsi, rax
jmp 0x180006f06
mov rsi, r13
mov r8, rdi
mov qword [rsp + 0x50], rdi
mov rdx, r14
mov qword [rsp + 0x58], rbx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rdi], r13b
mov qword [rsp + 0x40], rsi
cmp qword [rsp + 0x58], 0x10
lea rbx, [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
cmovae rbx, rsi
cmp rdi, 4
jb 0x180006f7d
lea r14, [rdi + rbx]
mov rcx, rbx
lea r8, [r14 - 3]
sub r8, rbx
jmp 0x180006f6b
cmp dword [r9], 0x6c6c642e
je 0x180007036
inc r9
lea r8, [r14 - 3]
sub r8, r9
mov rcx, r9
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
mov r9, rax
test rax, rax
jne 0x180006f51
or r9, 0xffffffffffffffff
cmp rdi, r9
jb 0x1800076df
mov rax, rdi
lea rcx, [rsp + 0x40]
sub rax, r9
mov edx, 4
cmp rax, rdx
cmovb rdx, rax
cmp qword [rsp + 0x58], 0x10
cmovae rcx, rsi
sub rdi, rdx
mov qword [rsp + 0x50], rdi
add rcx, r9
sub rdi, r9
add rdx, rcx
lea r8, [rdi + 1]
call sub.VCRUNTIME140.dll_memmove
mov rcx, qword [0x1801b5bb0]
lea rdx, str.il2cpp_image_get_class
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movsxd rdx, r12d
mov rcx, r15
call rax
xor edi, edi
mov qword [rbp - 0x18], 0xf
mov r13, rax
mov qword [rbp - 0x30], rdi
or rsi, 0xffffffffffffffff
mov r12, qword [rax + 0x10]
mov r14, qword [rax + 0x18]
inc rsi
cmp byte [r14 + rsi], dil
jne 0x180006ffe
cmp rsi, 0xf
ja 0x18000703e
mov r8, rsi
mov qword [rbp - 0x20], rsi
mov rdx, r14
lea rcx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rsi - 0x30], dil
mov rbx, qword [rbp - 0x18]
mov rsi, qword [rbp - 0x20]
mov rdi, qword [rbp - 0x30]
jmp 0x1800070d0
sub r9, rbx
jmp 0x180006f81
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
ja 0x1800076e5
mov rbx, rsi
or rbx, 0xf
cmp rbx, rax
jbe 0x18000706c
mov rbx, rax
movabs rax, 0x8000000000000027
jmp 0x180007092
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800070b1
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800076eb
mov rcx, rax
call fcn.18006f980
test rax, rax
je 0x1800076ce
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1800070be
test rcx, rcx
je 0x1800070be
call fcn.18006f980
mov rdi, rax
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rsi], 0
test rsi, rsi
sete sil
cmp rbx, 0x10
jb 0x180007111
lea rdx, [rbx + 1]
mov rax, rdi
mov ebx, 0x1000
cmp rdx, rbx
jb 0x180007107
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800076ce
mov rcx, rdi
call fcn.18006f9bc
jmp 0x180007116
mov ebx, 0x1000
mov rcx, qword [rsp + 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
xor edi, edi
test sil, sil
je 0x18000722d
cmp rax, 2
jb 0x1800076f1
cmp qword [rsp + 0x58], 0x10
lea rax, [0x18015dbf4]
mov qword [rsp + 0x30], 2
lea r9, [rsp + 0x40]
cmovae r9, qword [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x10]
call fcn.18000432c
mov rdx, r12
lea rcx, [rbp + 0x10]
call fcn.1800367c4
lea esi, [rdi + 0xf]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rsi
mov byte [rax], dil
mov rdx, qword [rsp + 0x58]
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x70], xmm1
cmp rdx, 0x10
jb 0x1800071db
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x1800071ce
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007678
call fcn.18006f9bc
movups xmm0, xmmword [rbp - 0x40]
movups xmm1, xmmword [rbp - 0x70]
mov rdx, qword [rbp + 0x28]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp rdx, 0x10
jb 0x18000721c
mov rcx, qword [rbp + 0x10]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x180007217
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007678
call fcn.18006f9bc
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], rsi
mov byte [rbp + 0x10], dil
jmp 0x18000751e
mov ebx, 2
cmp rax, rbx
jb 0x1800076fd
cmp qword [rsp + 0x58], 0x10
lea rax, [0x18015dbf4]
mov qword [rsp + 0x30], rbx
lea r9, [rsp + 0x40]
cmovae r9, qword [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x30]
call fcn.18000432c
mov rdx, r14
lea rcx, [rbp + 0x30]
call fcn.1800367c4
movups xmm1, xmmword [rax + 0x10]
movups xmm0, xmmword [rax]
mov qword [rax + 0x10], rdi
movq rsi, xmm1
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
movups xmmword [rsp + 0x70], xmm1
psrldq xmm1, 8
movq r14, xmm1
mov rax, r14
sub rax, rsi
movups xmmword [rsp + 0x60], xmm0
cmp rax, rbx
jb 0x1800072dc
lea rax, [rsi + 2]
cmp r14, 0x10
mov qword [rsp + 0x70], rax
mov ecx, 0x3a3a
lea rax, [rsp + 0x60]
cmovae rax, qword [rsp + 0x60]
mov word [rax + rsi], cx
mov byte [rax + rsi + 2], dil
jmp 0x18000740a
movabs rdx, 0x7fffffffffffffff
mov rax, rdx
sub rax, rsi
cmp rax, rbx
jb 0x1800076fd
lea r15, [rsi + 2]
mov rbx, r15
or rbx, 0xf
cmp rbx, rdx
ja 0x180007316
mov rcx, r14
mov rax, rdx
shr rcx, 1
sub rax, rcx
cmp r14, rax
jbe 0x180007325
mov rbx, rdx
movabs rax, 0x8000000000000027
jmp 0x18000734a
lea rax, [rcx + r14]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180007369
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800076f7
mov rcx, rax
call fcn.18006f980
test rax, rax
je 0x18000767f
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180007376
test rcx, rcx
je 0x180007376
call fcn.18006f980
mov rdi, rax
mov qword [rsp + 0x70], r15
mov r8, rsi
mov qword [rsp + 0x78], rbx
mov rcx, rdi
cmp r14, 0x10
jb 0x1800073e7
mov rbx, qword [rsp + 0x60]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rdx, [r14 + 1]
mov eax, 0x3a3a
mov word [rdi + rsi], ax
mov r14d, 0x1000
mov byte [rdi + rsi + 2], 0
mov rax, rbx
cmp rdx, r14
jb 0x1800073d2
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000767f
mov rcx, rbx
call fcn.18006f9bc
mov r15, qword [rbp - 0x80]
mov qword [rsp + 0x60], rdi
xor edi, edi
jmp 0x180007410
lea rdx, [rsp + 0x60]
call sub.VCRUNTIME140.dll_memcpy
mov r15, qword [rbp - 0x80]
mov eax, 0x3a3a
mov word [rdi + rsi], ax
mov byte [rdi + rsi + 2], 0
mov qword [rsp + 0x60], rdi
xor edi, edi
mov r14d, 0x1000
movups xmm0, xmmword [rsp + 0x60]
mov rdx, r12
lea rcx, [rbp - 0x10]
movups xmm1, xmmword [rsp + 0x70]
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm1
call fcn.1800367c4
mov esi, 0xf
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rsi
mov byte [rax], dil
mov rdx, qword [rsp + 0x58]
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x40], xmm1
cmp rdx, 0x10
jb 0x18000748e
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, r14
jb 0x180007481
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000767f
call fcn.18006f9bc
movups xmm0, xmmword [rbp - 0x70]
movups xmm1, xmmword [rbp - 0x40]
mov rdx, qword [rbp + 8]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp rdx, 0x10
jb 0x1800074cf
mov rcx, qword [rbp - 0x10]
inc rdx
mov rax, rcx
cmp rdx, r14
jb 0x1800074ca
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000767f
call fcn.18006f9bc
mov rdx, qword [rbp + 0x48]
mov qword [rbp], rdi
mov qword [rbp + 8], rsi
mov byte [rbp - 0x10], dil
cmp rdx, 0x10
jb 0x180007512
mov rcx, qword [rbp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, r14
jb 0x18000750d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000767f
call fcn.18006f9bc
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rsi
mov byte [rbp + 0x30], dil
mov r10, qword [rsp + 0x58]
lea rcx, [rsp + 0x40]
mov r8, qword [rsp + 0x40]
cmp r10, 0x10
cmovae rcx, r8
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], dil
jne 0x180007539
cmp r10, 0x10
lea r9, [rsp + 0x40]
cmovae r9, r8
or edx, 0xffffffff
test eax, eax
je 0x18000757b
mov r11d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r9
lea rcx, [0x180158d00]
xor edx, dword [rcx + rax*4]
sub r11, 1
jne 0x180007559
mov eax, dword [rbp + 0xa0]
not edx
cmp eax, edx
je 0x180007686
cmp r10, 0x10
jb 0x1800075c2
lea rdx, [r10 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x1800075ba
mov r8, qword [r8 - 8]
add rdx, 0x27
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800076ce
mov rcx, r8
call fcn.18006f9bc
mov r12d, dword [rbp + 0xa8]
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x1801b5bb0]
xor r13d, r13d
inc r12d
mov qword [rsp + 0x50], r13
mov dword [rbp + 0xa8], r12d
mov qword [rsp + 0x58], rsi
mov byte [rsp + 0x40], r13b
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
movsxd rcx, r12d
cmp rcx, rax
jb 0x180006e3a
mov rbx, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x78]
mov esi, dword [rbp + 0xb0]
mov r14, qword [rbp - 0x60]
mov rcx, qword [0x1801b5bb0]
lea rdx, str.il2cpp_domain_get_assemblies
inc esi
mov qword [rbp + 0xb8], r13
inc rdi
mov dword [rbp + 0xb0], esi
mov qword [rbp - 0x78], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0xb8]
mov rcx, rbx
call rax
movsxd rax, esi
cmp rax, qword [rbp + 0xb8]
jb 0x180006dfe
xor eax, eax
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea r8, [rbp - 0x60]
mov dword [rbp - 0x60], eax
lea rdx, [rbp - 0x70]
mov qword [rbp - 0x58], r13
call fcn.180037234
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800076da
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800076d5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800076d5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18006f9bc
mov rax, r13
jmp 0x180007664
call fcn.180001f8c
int3
call fcn.180001c44
int3
call fcn.180001ba4
int3
call fcn.180001c44
int3
call fcn.180001ba4
int3
call fcn.180001c44
int3