Function at 0x180068310
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.18007fb80
mov rdx, qword [rax]
mov rcx, qword [rdx + 8]
cmp byte [rcx + 0x19], r14b
jne 0x180068367
nop
cmp dword [rcx + 0x20], ebx
jae 0x18006835b
mov rcx, qword [rcx + 0x10]
jmp 0x180068361
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], r14b
je 0x180068350
cmp byte [rdx + 0x19], r14b
jne 0x180068391
cmp ebx, dword [rdx + 0x20]
jb 0x180068391
mov rdx, rax
mov rcx, rax
call fcn.180081ad0
lea rdx, [rbp + 0x80]
call fcn.18007fa80
mov rax, qword [rax]
jmp 0x180068d4b
mov rdx, rax
mov rcx, rax
call fcn.180081ad0
lea rdx, str.il2cpp_domain_get
mov rcx, qword [0x1800f8a28]
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 [0x1800f8a28]
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 [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x50]
mov rcx, rbx
call rax
cmp qword [rsp + 0x50], rsi
jbe 0x180068d49
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 [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
test rax, rax
je 0x180068c74
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 0x180068493
lea rcx, [rsp + 0x30]
call fcn.180056af0
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 0x18006854b
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 0x180068545
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 0x180068519
cmp rcx, 4
jne 0x180068500
xor eax, eax
jmp 0x18006851e
sbb eax, eax
or eax, 1
test eax, eax
je 0x1800686b4
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 0x1800684f0
mov edi, dword [rbp + 0x90]
mov r9, 0xffffffffffffffff
cmp rsi, r9
jb 0x180068d5f
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 [0x1800f8a28]
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 0x1800685e0
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.180056af0
cmp qword [rsp + 0x68], rdi
sete bl
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x18006863b
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180068636
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180068cbe
call fcn.18008976c
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
test bl, bl
je 0x180068839
mov rsi, qword [rsp + 0x40]
sub rax, rsi
cmp rax, 2
jb 0x180068d6b
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 0x18006871e
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x1800686c2
mov rbx, rcx
movabs rax, 0x8000000000000027
jmp 0x1800686e9
sub r9, rbx
mov edi, dword [rbp + 0x90]
jmp 0x180068552
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180068708
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180068d65
mov rcx, rax
call fcn.18008939c
test rax, rax
je 0x180068ccc
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180068719
test rcx, rcx
je 0x180068717
call fcn.18008939c
mov rdi, rax
jmp 0x180068719
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 0x180068754
mov rdx, r15
lea rcx, [rsp + 0x58]
call fcn.180056c50
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 0x1800687da
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800687cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180068cc5
call fcn.18008976c
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 0x180068821
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006881c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180068ccc
call fcn.18008976c
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
jmp 0x180068b68
mov r14, qword [rsp + 0x40]
sub rax, r14
cmp rax, 2
jb 0x180068d77
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 0x1800688f0
mov rbx, r12
or rbx, 0xf
cmp rbx, rcx
jbe 0x180068895
mov rbx, rcx
movabs rax, 0x8000000000000027
jmp 0x1800688bc
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800688db
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180068d71
mov rcx, rax
call fcn.18008939c
test rax, rax
je 0x180068ce8
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1800688ec
test rcx, rcx
je 0x1800688ea
call fcn.18008939c
mov rdi, rax
jmp 0x1800688ec
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 0x180068925
mov rdx, rsi
lea rcx, [rbp - 0x58]
call fcn.180056c50
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 0x1800689a5
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 0x1800689c4
mov qword [rsp + 0x20], 2
lea r9, [0x1800a1944]
mov edx, 2
lea rcx, [rsp + 0x78]
call fcn.180058fc0
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 0x1800689f5
mov rdx, r15
lea rcx, [rbp - 0x28]
call fcn.180056c50
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 0x180068a77
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180068a6a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180068cd3
call fcn.18008976c
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 0x180068abc
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180068ab7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180068cda
call fcn.18008976c
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], 0
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x180068b08
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180068b03
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180068ce1
call fcn.18008976c
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], 0
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x180068b54
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180068b4f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180068ce8
call fcn.18008976c
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 0x180068b86
lea r8, [rsp + 0x30]
cmp r11, 0x10
cmovae r8, r10
mov edx, 0xffffffff
test eax, eax
je 0x180068bd2
mov r9d, eax
lea r13, [0x180096f80]
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 0x180068bb0
mov r13, qword [rbp - 0x38]
not edx
mov eax, dword [rbp + 0x80]
cmp eax, edx
je 0x180068cef
cmp r11, 0x10
jb 0x180068c19
lea rdx, [r11 + 1]
mov rax, r10
cmp rdx, 0x1000
jb 0x180068c11
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180068d38
mov rcx, r10
call fcn.18008976c
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 [0x1800f8a28]
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 0x180068470
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 [0x1800f8a28]
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 0x180068d49
mov rdi, qword [rbp - 0x68]
jmp 0x180068430
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.180081030
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x180068d44
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180068d3f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180068d3f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18008976c
mov rax, r13
jmp 0x180068d4b
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.1800592d0
nop
call fcn.180011b40
int3
call fcn.180044ef0
int3
call fcn.180011b40
int3
call fcn.180044ef0
int3