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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x180293020]
xor rax, rsp
mov qword [rbp + 0x68], rax
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_domain_get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_domain_get_assemblies
xor esi, esi
mov r12, rax
mov qword [rsp + 0x60], rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x60]
mov rcx, r12
call rax
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_domain_get_assemblies
mov ebx, esi
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x44], ebx
mov r13, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x48]
mov rcx, r12
call rax
cmp qword [rsp + 0x48], rsi
jbe 0x1800093d4
mov rax, qword [r13]
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x18029fbd0]
mov dword [rsp + 0x40], esi
mov r15, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
test rax, rax
je 0x180009399
mov rbx, rsi
mov rdx, qword [r15]
or r8, 0xffffffffffffffff
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], rsi
inc r8
cmp byte [rdx + r8], sil
jne 0x180008d76
lea rcx, [rbp - 0x78]
call fcn.18003bf44
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_image_get_class
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, rbx
mov rcx, r15
call rax
xor edi, edi
mov r14, rax
mov qword [rbp - 0x58], rdi
or r8, 0xffffffffffffffff
mov qword [rbp - 0x48], rdi
mov rsi, qword [rax + 0x10]
mov rbx, qword [rax + 0x18]
mov qword [rbp - 0x40], rdi
inc r8
cmp byte [rbx + r8], dil
jne 0x180008dc1
mov rdx, rbx
lea rcx, [rbp - 0x58]
call fcn.18003bf44
cmp qword [rbp - 0x48], rdi
mov rdx, qword [rbp - 0x40]
sete dil
cmp rdx, 0x10
jb 0x180008e19
mov rcx, qword [rbp - 0x58]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008e14
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009401
call fcn.1800df7a4
mov rcx, qword [rbp - 0x68]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
test dil, dil
je 0x180008f40
cmp rax, 2
jb 0x180009413
cmp qword [rbp - 0x60], 0x10
lea rax, [0x18027b04c]
mov qword [rsp + 0x30], 2
lea r9, [rbp - 0x78]
cmovae r9, qword [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 8]
call fcn.18003cb64
or r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x180008e72
mov rdx, rsi
lea rcx, [rbp + 8]
call fcn.180038fb8
mov rdx, qword [rbp - 0x60]
xor esi, esi
movups xmm0, xmmword [rax]
lea edi, [rsi + 0xf]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov byte [rax], sil
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rbp - 0x58], xmm1
cmp rdx, 0x10
jb 0x180008eec
mov rcx, qword [rbp - 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008ede
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000940d
call fcn.1800df7a4
movups xmm0, xmmword [rsp + 0x68]
movups xmm1, xmmword [rbp - 0x58]
mov rdx, qword [rbp + 0x20]
movups xmmword [rbp - 0x78], xmm0
movups xmmword [rbp - 0x68], xmm1
cmp rdx, 0x10
jb 0x180008f2f
mov rcx, qword [rbp + 8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008f2a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000940d
call fcn.1800df7a4
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x20], rdi
mov byte [rbp + 8], sil
jmp 0x18000914a
cmp rax, 2
jb 0x180009407
cmp qword [rbp - 0x60], 0x10
lea rax, [0x18027b04c]
mov qword [rsp + 0x30], 2
lea r9, [rbp - 0x78]
cmovae r9, qword [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x28]
call fcn.18003cb64
or r8, 0xffffffffffffffff
xor edi, edi
inc r8
cmp byte [rbx + r8], dil
jne 0x180008f81
mov rdx, rbx
lea rcx, [rbp + 0x28]
call fcn.180038fb8
mov qword [rbp - 0x18], rdi
lea rdx, [0x18027b04c]
mov qword [rbp - 8], rdi
lea rcx, [rbp - 0x18]
mov qword [rbp], rdi
mov ebx, 0xf
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x18], xmm0
lea r8d, [rbx - 0xd]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 8], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
call fcn.180038fb8
mov qword [rbp - 0x38], rdi
or r8, 0xffffffffffffffff
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x28], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
inc r8
cmp byte [rsi + r8], dil
jne 0x180008fff
mov rdx, rsi
lea rcx, [rbp - 0x38]
call fcn.180038fb8
mov rdx, qword [rbp - 0x60]
xor esi, esi
mov rdi, rbx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x18], rbx
mov ebx, 0x1000
mov qword [rax + 0x10], rsi
mov byte [rax], sil
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rsp + 0x68], xmm1
cmp rdx, 0x10
jb 0x180009079
mov rcx, qword [rbp - 0x78]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000906b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009419
call fcn.1800df7a4
movups xmm0, xmmword [rbp - 0x58]
movups xmm1, xmmword [rsp + 0x68]
mov rdx, qword [rbp - 0x20]
movups xmmword [rbp - 0x78], xmm0
movups xmmword [rbp - 0x68], xmm1
cmp rdx, 0x10
jb 0x1800090b8
mov rcx, qword [rbp - 0x38]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x1800090b3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009419
call fcn.1800df7a4
mov rdx, qword [rbp]
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], rdi
mov byte [rbp - 0x38], sil
cmp rdx, 0x10
jb 0x1800090fb
mov rcx, qword [rbp - 0x18]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x1800090f6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009419
call fcn.1800df7a4
mov rdx, qword [rbp + 0x40]
mov qword [rbp - 8], rsi
mov qword [rbp], rdi
mov byte [rbp - 0x18], sil
cmp rdx, 0x10
jb 0x18000913e
mov rcx, qword [rbp + 0x28]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x180009139
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009419
call fcn.1800df7a4
mov qword [rbp + 0x38], rsi
mov qword [rbp + 0x40], rdi
mov byte [rbp + 0x28], sil
mov qword [rsp + 0x58], rsi
jmp 0x180009301
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_field_get_name
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
mov rdx, qword [rbp - 0x68]
mov rdi, rax
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, 2
jb 0x180009425
cmp qword [rbp - 0x60], 0x10
lea rax, [0x18027b04c]
mov qword [rsp + 0x30], 2
lea r9, [rbp - 0x78]
cmovae r9, qword [rbp - 0x78]
lea rcx, [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
call fcn.18003cb64
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], sil
jne 0x1800091c0
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.180038fb8
mov edi, 0xf
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov byte [rax], sil
mov rdx, qword [rbp - 0x40]
movups xmmword [rbp + 0x48], xmm0
movups xmmword [rbp + 0x58], xmm1
cmp rdx, 0x10
jb 0x18000922f
mov rcx, qword [rbp - 0x58]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000922a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000941f
call fcn.1800df7a4
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_field_get_offset
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], rdi
mov byte [rbp - 0x58], sil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
mov rdi, qword [rbp + 0x60]
lea rdx, [rbp + 0x48]
mov rbx, qword [rbp + 0x48]
cmp rdi, 0x10
mov r10d, eax
cmovae rdx, rbx
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], sil
jne 0x18000926f
cmp rdi, 0x10
lea r8, [rbp + 0x48]
cmovae r8, rbx
or edx, 0xffffffff
test ecx, ecx
je 0x1800092b0
mov r9d, ecx
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r8
lea rcx, [0x180219380]
xor edx, dword [rcx + rax*4]
sub r9, 1
jne 0x18000928e
not edx
mov dword [rsp + 0x54], r10d
mov dword [rsp + 0x50], edx
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x78]
call fcn.18003aa14
cmp rdi, 0x10
jb 0x180009301
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1800092f9
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009401
mov rcx, rbx
call fcn.1800df7a4
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_class_get_fields
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x58]
mov rcx, r14
call rax
mov rbx, rax
test rax, rax
jne 0x180009154
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x180009366
mov rcx, qword [rbp - 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009361
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009401
call fcn.1800df7a4
mov edi, dword [rsp + 0x40]
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x18029fbd0]
inc edi
mov dword [rsp + 0x40], edi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
movsxd rbx, edi
call rax
cmp rbx, rax
jb 0x180008d63
mov ebx, dword [rsp + 0x44]
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_domain_get_assemblies
inc ebx
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x44], ebx
add r13, 8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x48]
mov rcx, r12
call rax
movsxd rax, ebx
cmp rax, qword [rsp + 0x48]
jb 0x180008d33
mov rcx, qword [rbp + 0x68]
xor rcx, rsp
call fcn.1800df160
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800e7dd4
int3
call fcn.180002be0
int3
call fcn.1800e7dd4
int3
call fcn.180002be0
int3
call fcn.1800e7dd4
int3
call fcn.1800e7dd4
int3
call fcn.180002be0
int3