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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov dword [rax + 8], ecx
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x180293020]
xor rax, rsp
mov qword [rbp + 0x78], rax
mov ebx, ecx
lea rcx, [rbp - 0x68]
call fcn.180038c24
mov edx, ebx
mov rcx, rax
call fcn.18003a5dc
xor esi, esi
test al, al
je 0x180006b8b
lea rdx, [rbp + 0xb0]
call fcn.180038b50
mov eax, dword [rax]
jmp 0x18000736b
mov rcx, qword [0x18029fbc0]
lea rdx, str.il2cpp_domain_get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rcx, qword [0x18029fbc0]
lea rdx, str.il2cpp_domain_get_assemblies
mov r13, rax
mov qword [rsp + 0x60], rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x60]
mov rcx, r13
call rax
mov rcx, qword [0x18029fbc0]
lea rdx, str.il2cpp_domain_get_assemblies
mov rbx, rax
mov qword [rsp + 0x50], rax
mov edi, esi
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x48], rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x48]
mov rcx, r13
call rax
cmp qword [rsp + 0x48], rsi
jbe 0x180007369
or r14, 0xffffffffffffffff
mov rax, qword [rbx]
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x18029fbc0]
mov r12d, esi
mov r15, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
test rax, rax
je 0x180007329
mov rdx, qword [r15]
mov r8, r14
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x70], rsi
inc r8
cmp byte [rdx + r8], sil
jne 0x180006c45
lea rcx, [rsp + 0x78]
call fcn.18003be50
cmp qword [rbp - 0x70], 0x10
lea rbx, [rsp + 0x78]
mov rdi, qword [rbp - 0x78]
cmovae rbx, qword [rsp + 0x78]
cmp rdi, 4
jb 0x180006cae
lea rsi, [rbx + rdi]
mov rcx, rbx
lea r8, [rsi - 3]
sub r8, rbx
jmp 0x180006c9c
cmp dword [r9], 0x6c6c642e
je 0x180006eb3
inc r9
lea r8, [rsi - 3]
sub r8, r9
mov rcx, r9
mov edx, 0x2e
call fcn.1800e30d0
mov r9, rax
test rax, rax
jne 0x180006c82
mov r9, r14
cmp rdi, r9
jb 0x180007448
mov rax, rdi
lea rcx, [rsp + 0x78]
sub rax, r9
mov edx, 4
cmp rax, rdx
cmovb rdx, rax
cmp qword [rbp - 0x70], 0x10
cmovae rcx, qword [rsp + 0x78]
sub rdi, rdx
add rcx, r9
mov r8, rdi
sub r8, r9
add rdx, rcx
inc r8
call fcn.1800e2520
mov rcx, qword [0x18029fbc0]
lea rdx, str.il2cpp_image_get_class
mov qword [rbp - 0x78], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movsxd rdx, r12d
mov rcx, r15
call rax
xor edi, edi
mov r14, rax
mov qword [rbp - 0x68], rdi
or r8, 0xffffffffffffffff
mov qword [rbp - 0x58], rdi
mov rsi, qword [rax + 0x10]
mov rbx, qword [rax + 0x18]
mov qword [rbp - 0x50], rdi
inc r8
cmp byte [rbx + r8], dil
jne 0x180006d30
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.18003be50
cmp qword [rbp - 0x58], rdi
mov rdx, qword [rbp - 0x50]
sete dil
cmp rdx, 0x10
jb 0x180006d88
mov rcx, qword [rbp - 0x68]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006d83
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000746c
call fcn.1800df6b4
mov rcx, qword [rbp - 0x78]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
test dil, dil
je 0x180006ebb
cmp rax, 2
jb 0x180007454
cmp qword [rbp - 0x70], 0x10
lea rax, [0x18027b04c]
mov qword [rsp + 0x30], 2
lea r9, [rsp + 0x78]
cmovae r9, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 8]
call fcn.18003ca70
or r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x180006de3
mov rdx, rsi
lea rcx, [rbp - 8]
call fcn.180038ec4
xor esi, esi
movups xmm0, xmmword [rax]
lea edi, [rsi + 0xf]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov byte [rax], sil
mov rdx, qword [rbp - 0x70]
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rbp - 0x68], xmm1
cmp rdx, 0x10
jb 0x180006e5e
mov rcx, qword [rsp + 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006e50
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000744e
call fcn.1800df6b4
movups xmm0, xmmword [rsp + 0x68]
movups xmm1, xmmword [rbp - 0x68]
mov rdx, qword [rbp + 0x10]
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm1
cmp rdx, 0x10
jb 0x180006ea2
mov rcx, qword [rbp - 8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180006e9d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000744e
call fcn.1800df6b4
mov qword [rbp + 8], rsi
mov qword [rbp + 0x10], rdi
mov byte [rbp - 8], sil
jmp 0x1800070c9
sub r9, rbx
jmp 0x180006cb1
cmp rax, 2
jb 0x180007442
cmp qword [rbp - 0x70], 0x10
lea rax, [0x18027b04c]
mov qword [rsp + 0x30], 2
lea r9, [rsp + 0x78]
cmovae r9, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x18]
call fcn.18003ca70
or r8, 0xffffffffffffffff
xor edi, edi
inc r8
cmp byte [rbx + r8], dil
jne 0x180006efe
mov rdx, rbx
lea rcx, [rbp + 0x18]
call fcn.180038ec4
mov qword [rbp - 0x28], rdi
lea rdx, [0x18027b04c]
mov qword [rbp - 0x18], rdi
lea rcx, [rbp - 0x28]
mov qword [rbp - 0x10], rdi
mov ebx, 0xf
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x28], xmm0
lea r8d, [rbx - 0xd]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x18], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
call fcn.180038ec4
mov qword [rbp - 0x48], rdi
or r8, 0xffffffffffffffff
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x38], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
inc r8
cmp byte [rsi + r8], dil
jne 0x180006f7c
mov rdx, rsi
lea rcx, [rbp - 0x48]
call fcn.180038ec4
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
mov rdx, qword [rbp - 0x70]
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rsp + 0x68], xmm1
cmp rdx, 0x10
jb 0x180006ff7
mov rcx, qword [rsp + 0x78]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x180006fe9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000745a
call fcn.1800df6b4
movups xmm0, xmmword [rbp - 0x68]
movups xmm1, xmmword [rsp + 0x68]
mov rdx, qword [rbp - 0x30]
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm1
cmp rdx, 0x10
jb 0x180007037
mov rcx, qword [rbp - 0x48]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x180007032
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000745a
call fcn.1800df6b4
mov rdx, qword [rbp - 0x10]
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], rdi
mov byte [rbp - 0x48], sil
cmp rdx, 0x10
jb 0x18000707a
mov rcx, qword [rbp - 0x28]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x180007075
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000745a
call fcn.1800df6b4
mov rdx, qword [rbp + 0x30]
mov qword [rbp - 0x18], rsi
mov qword [rbp - 0x10], rdi
mov byte [rbp - 0x28], sil
cmp rdx, 0x10
jb 0x1800070bd
mov rcx, qword [rbp + 0x18]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x1800070b8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000745a
call fcn.1800df6b4
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], rdi
mov byte [rbp + 0x18], sil
mov rcx, qword [0x18029fbc0]
lea rdx, str.il2cpp_class_get_fields
mov qword [rsp + 0x58], rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x58]
mov rcx, r14
call rax
jmp 0x180007298
mov rcx, qword [0x18029fbc0]
lea rdx, str.il2cpp_field_get_name
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
mov rdx, qword [rbp - 0x78]
mov rdi, rax
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, 2
jb 0x180007466
cmp qword [rbp - 0x70], 0x10
lea rax, [0x18027b04c]
mov qword [rsp + 0x30], 2
lea r9, [rsp + 0x78]
cmovae r9, qword [rsp + 0x78]
lea rcx, [rbp + 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
call fcn.18003ca70
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], sil
jne 0x18000715f
mov rdx, rdi
lea rcx, [rbp + 0x38]
call fcn.180038ec4
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 + 0x50]
movups xmmword [rbp + 0x58], xmm0
movups xmmword [rbp + 0x68], xmm1
cmp rdx, 0x10
jb 0x1800071ce
mov rcx, qword [rbp + 0x38]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800071c9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007460
call fcn.1800df6b4
mov qword [rbp + 0x48], rsi
lea rcx, [rbp + 0x58]
mov byte [rbp + 0x38], sil
mov rsi, qword [rbp + 0x70]
cmp rsi, 0x10
mov qword [rbp + 0x50], rdi
mov rdi, qword [rbp + 0x58]
cmovae rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1800071f2
cmp rsi, 0x10
lea r8, [rbp + 0x58]
cmovae r8, rdi
or edx, 0xffffffff
test eax, eax
je 0x180007233
mov r9d, eax
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 0x180007211
not edx
cmp edx, dword [rbp + 0xb0]
je 0x180007398
cmp rsi, 0x10
jb 0x180007278
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180007270
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000746c
mov rcx, rdi
call fcn.1800df6b4
mov rcx, qword [0x18029fbc0]
lea rdx, str.il2cpp_class_get_fields
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x58]
mov rcx, r14
call rax
xor esi, esi
mov rbx, rax
test rax, rax
jne 0x1800070f1
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x1800072e0
mov rcx, qword [rsp + 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800072db
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000746c
call fcn.1800df6b4
mov rcx, qword [0x18029fbc0]
lea rdx, str.il2cpp_image_get_class_count
mov qword [rbp - 0x78], rsi
inc r12d
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], sil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
movsxd rcx, r12d
mov r14, 0xffffffffffffffff
cmp rcx, rax
jb 0x180006c32
mov rbx, qword [rsp + 0x50]
mov edi, dword [rsp + 0x40]
mov rcx, qword [0x18029fbc0]
lea rdx, str.il2cpp_domain_get_assemblies
inc edi
mov qword [rsp + 0x48], rsi
add rbx, 8
mov dword [rsp + 0x40], edi
mov qword [rsp + 0x50], rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x48]
mov rcx, r13
call rax
movsxd rax, edi
cmp rax, qword [rsp + 0x48]
jb 0x180006c07
xor eax, eax
mov rcx, qword [rbp + 0x78]
xor rcx, rsp
call fcn.1800df070
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rcx, qword [0x18029fbc0]
lea rdx, str.il2cpp_field_get_offset
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
mov ecx, dword [rbp + 0xb0]
lea r8, [rsp + 0x50]
mov ebx, eax
lea rdx, [rbp - 0x68]
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x50], ecx
call fcn.18003a920
cmp rsi, 0x10
jb 0x180007402
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1800073fa
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000746c
mov rcx, rdi
call fcn.1800df6b4
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x18000743a
mov rcx, qword [rsp + 0x78]
inc rdx
mov r8, rcx
cmp rdx, 0x1000
jb 0x180007435
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x18000746c
call fcn.1800df6b4
mov rax, rbx
jmp 0x18000736b
call fcn.180002be0
int3
call fcn.18003a2b0
int3
call fcn.1800e7ce4
int3
call fcn.180002be0
int3
call fcn.1800e7ce4
int3
call fcn.1800e7ce4
int3
call fcn.180002be0
int3
call fcn.1800e7ce4
int3