Function at 0x18005fc30
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 - 0x38]
sub rsp, 0x138
mov ebx, ecx
xor r14d, r14d
mov dword [rbp + 0x88], r14d
lea rcx, [rbp - 0x68]
call fcn.180076ff0
mov rdx, qword [rax]
mov rcx, qword [rdx + 8]
cmp byte [rcx + 0x19], r14b
jne 0x18005fc87
nop
cmp dword [rcx + 0x20], ebx
jae 0x18005fc7b
mov rcx, qword [rcx + 0x10]
jmp 0x18005fc81
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], r14b
je 0x18005fc70
cmp byte [rdx + 0x19], r14b
jne 0x18005fcb1
cmp ebx, dword [rdx + 0x20]
jb 0x18005fcb1
mov rdx, rax
mov rcx, rax
call fcn.180079120
lea rdx, [rbp + 0x80]
call fcn.180076ef0
mov rax, qword [rax]
jmp 0x18006066b
mov rdx, rax
mov rcx, rax
call fcn.180079120
lea rdx, str.il2cpp_domain_get
mov rcx, qword [0x1800ca5d0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rbx, rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 8], r14
lea rdx, str.il2cpp_domain_get_assemblies
mov rcx, qword [0x1800ca5d0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 8]
mov rcx, rbx
call rax
mov rdi, rax
mov qword [rbp - 0x68], rax
mov esi, r14d
mov dword [rbp + 0x98], r14d
mov qword [rsp + 0x50], r14
lea rdx, str.il2cpp_domain_get_assemblies
mov rcx, qword [0x1800ca5d0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x50]
mov rcx, rbx
call rax
cmp qword [rsp + 0x50], rsi
jbe 0x180060669
mov rbx, r14
mov qword [rbp - 0x30], rbx
lea r13, str..dll
nop word [rax + rax]
mov rax, qword [rdi + rbx*8]
mov r12, qword [rax]
mov qword [rbp + 0x10], r12
mov edi, r14d
mov dword [rbp + 0x90], r14d
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x1800ca5d0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
test rax, rax
je 0x180060594
nop word [rax + rax]
mov rdx, qword [r12]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x18005fdb3
lea rcx, [rsp + 0x30]
call fcn.18004d0c0
nop
lea rbx, [rsp + 0x30]
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
cmp r15, 0x10
cmovae rbx, r14
mov rsi, qword [rsp + 0x40]
cmp rsi, 4
jb 0x18005fe6b
lea rdi, [rsi + rbx]
lea r8, [rdi - 3]
sub r8, rbx
mov edx, 0x2e
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov r9, rax
test rax, rax
je 0x18005fe65
nop
xor ecx, ecx
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [r9 + rcx]
inc rcx
cmp dl, byte [rcx + r13 - 1]
jne 0x18005fe39
cmp rcx, 4
jne 0x18005fe20
xor eax, eax
jmp 0x18005fe3e
sbb eax, eax
or eax, 1
test eax, eax
je 0x18005ffd4
inc r9
lea r8, [rdi - 3]
sub r8, r9
mov edx, 0x2e
mov rcx, r9
call sub.VCRUNTIME140.dll_memchr
mov r9, rax
test rax, rax
jne 0x18005fe10
mov edi, dword [rbp + 0x90]
mov r9, 0xffffffffffffffff
cmp rsi, r9
jb 0x18006067f
mov rax, rsi
sub rax, r9
mov edx, 4
cmp rax, rdx
cmovb rdx, rax
lea rcx, [rsp + 0x30]
cmp r15, 0x10
cmovae rcx, r14
add rcx, r9
sub rsi, rdx
mov qword [rsp + 0x40], rsi
sub rsi, r9
lea r8, [rsi + 1]
add rdx, rcx
call sub.VCRUNTIME140.dll_memmove
lea rdx, str.il2cpp_image_get_class
mov rcx, qword [0x1800ca5d0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movsxd rdx, edi
mov rcx, r12
call rax
mov r13, rax
mov qword [rbp - 0x38], rax
mov r15, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
xor edi, edi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], 0xf
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rsi + r8], dil
jne 0x18005ff00
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.18004d0c0
cmp qword [rsp + 0x68], rdi
sete bl
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x18005ff5b
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005ff56
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800605de
call fcn.1800816dc
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
test bl, bl
je 0x180060159
mov rsi, qword [rsp + 0x40]
sub rax, rsi
cmp rax, 2
jb 0x18006068b
lea r12, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae r12, qword [rsp + 0x30]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
lea r14, [rsi + 2]
mov ebx, 0xf
lea rdi, [rsp + 0x58]
cmp r14, rbx
jbe 0x18006003e
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x18005ffe2
mov rbx, rcx
movabs rax, 0x8000000000000027
jmp 0x180060009
sub r9, rbx
mov edi, dword [rbp + 0x90]
jmp 0x18005fe72
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180060028
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180060685
mov rcx, rax
call fcn.180081320
test rax, rax
je 0x1800605ec
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180060039
test rcx, rcx
je 0x180060037
call fcn.180081320
mov rdi, rax
jmp 0x180060039
xor edi, edi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], rbx
mov r8, rsi
mov rdx, r12
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov ebx, 0x3a3a
mov word [rdi + rsi], bx
mov byte [rdi + r14], 0
mov edi, dword [rbp + 0x88]
or edi, 1
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r15 + r8], 0
jne 0x180060074
mov rdx, r15
lea rcx, [rsp + 0x58]
call fcn.18004d220
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 8], xmm1
xor r14d, r14d
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
or edi, 2
mov dword [rbp + 0x88], edi
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1800600fa
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800600ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800605e5
call fcn.1800816dc
movups xmm0, xmmword [rbp + 0x20]
movups xmm1, xmmword [rbp - 8]
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm1
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x180060141
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006013c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800605ec
call fcn.1800816dc
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
jmp 0x180060488
mov r14, qword [rsp + 0x40]
sub rax, r14
cmp rax, 2
jb 0x180060697
lea r13, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae r13, qword [rsp + 0x30]
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x40], rdi
lea r12, [r14 + 2]
mov ebx, 0xf
lea rdi, [rbp - 0x58]
cmp r12, rbx
jbe 0x180060210
mov rbx, r12
or rbx, 0xf
cmp rbx, rcx
jbe 0x1800601b5
mov rbx, rcx
movabs rax, 0x8000000000000027
jmp 0x1800601dc
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800601fb
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180060691
mov rcx, rax
call fcn.180081320
test rax, rax
je 0x180060608
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18006020c
test rcx, rcx
je 0x18006020a
call fcn.180081320
mov rdi, rax
jmp 0x18006020c
xor edi, edi
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], rbx
mov r8, r14
mov rdx, r13
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov ebx, 0x3a3a
mov word [rdi + r14], bx
mov byte [rdi + r12], 0
mov edi, dword [rbp + 0x88]
or edi, 4
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x180060245
mov rdx, rsi
lea rcx, [rbp - 0x58]
call fcn.18004d220
xor r14d, r14d
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], r14
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x70]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x1800602c5
lea rax, [rcx + 2]
mov qword [rbp - 0x78], rax
lea rax, [rsp + 0x78]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x78]
mov word [rax + rcx], bx
mov byte [rax + rcx + 2], r14b
lea rax, [rsp + 0x78]
jmp 0x1800602e4
mov qword [rsp + 0x20], 2
lea r9, [0x180096d54]
mov edx, 2
lea rcx, [rsp + 0x78]
call fcn.18004f590
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x18], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r15 + r8], 0
jne 0x180060315
mov rdx, r15
lea rcx, [rbp - 0x28]
call fcn.18004d220
movups xmm0, xmmword [rax]
movups xmmword [rbp - 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x20], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or edi, 0x38
mov dword [rbp + 0x88], edi
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x180060397
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006038a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800605f3
call fcn.1800816dc
movups xmm0, xmmword [rbp - 8]
movups xmm1, xmmword [rbp + 0x20]
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm1
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x1800603dc
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800603d7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800605fa
call fcn.1800816dc
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], 0
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x180060428
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180060423
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180060601
call fcn.1800816dc
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], 0
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x180060474
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006046f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180060608
call fcn.1800816dc
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], 0
mov r13, qword [rbp - 0x38]
lea rcx, [rsp + 0x30]
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x48]
cmp r11, 0x10
cmovae rcx, r10
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1800604a6
lea r8, [rsp + 0x30]
cmp r11, 0x10
cmovae r8, r10
mov edx, 0xffffffff
test eax, eax
je 0x1800604f2
mov r9d, eax
lea r13, [0x180091660]
nop
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
movzx eax, cl
shr edx, 8
xor edx, dword [r13 + rax*4]
lea r8, [r8 + 1]
sub r9, 1
jne 0x1800604d0
mov r13, qword [rbp - 0x38]
not edx
mov eax, dword [rbp + 0x80]
cmp eax, edx
je 0x18006060f
cmp r11, 0x10
jb 0x180060539
lea rdx, [r11 + 1]
mov rax, r10
cmp rdx, 0x1000
jb 0x180060531
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180060658
mov rcx, r10
call fcn.1800816dc
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
mov edi, dword [rbp + 0x90]
inc edi
mov dword [rbp + 0x90], edi
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x1800ca5d0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, qword [rbp + 0x10]
mov rcx, r12
call rax
movsxd rcx, edi
cmp rcx, rax
lea r13, str..dll
jb 0x18005fd90
mov rbx, qword [rbp - 0x30]
mov esi, dword [rbp + 0x98]
inc esi
mov dword [rbp + 0x98], esi
inc rbx
mov qword [rbp - 0x30], rbx
mov qword [rsp + 0x50], r14
lea rdx, str.il2cpp_domain_get_assemblies
mov rcx, qword [0x1800ca5d0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x50]
mov rcx, qword [rbp + 0x18]
call rax
movsxd rax, esi
cmp rax, qword [rsp + 0x50]
jae 0x180060669
mov rdi, qword [rbp - 0x68]
jmp 0x18005fd50
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov dword [rbp - 0x68], eax
mov qword [rbp - 0x60], r13
lea r8, [rbp - 0x68]
lea rdx, [rbp - 8]
call fcn.180078680
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x180060664
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006065f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18006065f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800816dc
mov rax, r13
jmp 0x18006066b
xor eax, eax
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18004f8a0
nop
call fcn.180008030
int3
call fcn.18003b4c0
int3
call fcn.180008030
int3
call fcn.18003b4c0
int3