Function at 0x18000bee4
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 - 0x1a8]
sub rsp, 0x2a8
mov ebx, ecx
lea rcx, [rbp + 0x30]
call fcn.180055c48
mov edx, ebx
mov rcx, rax
call fcn.180056584
test al, al
je 0x18000bf30
lea rdx, [rbp + 0x1f0]
call fcn.180055b74
mov rax, qword [rax]
jmp 0x18000d002
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_domain_get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_domain_get_assemblies
and qword [rbp + 0x60], 0
mov rbx, rax
mov qword [rbp + 0x68], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x60]
mov rcx, rbx
call rax
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_domain_get_assemblies
xor esi, esi
mov qword [rbp + 0x30], rax
and qword [rbp + 0x208], rsi
mov r14, rax
mov dword [rbp + 0x200], esi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x208]
mov rcx, rbx
call rax
cmp qword [rbp + 0x208], rsi
jbe 0x18000d000
xor edi, edi
mov qword [rbp + 0x28], rdi
mov rax, qword [r14 + rdi*8]
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x1802ef450]
xor r14d, r14d
mov dword [rbp + 0x1f8], r14d
mov r12, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
test rax, rax
je 0x18000cef0
xor esi, esi
mov rdx, qword [r12]
or r8, 0xffffffffffffffff
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x68], rsi
inc r8
cmp byte [rdx + r8], sil
jne 0x18000c001
lea rcx, [rbp - 0x80]
call fcn.180002560
cmp qword [rbp - 0x68], 0x10
lea rbx, [rbp - 0x80]
mov rdi, qword [rbp - 0x70]
cmovae rbx, qword [rbp - 0x80]
cmp rdi, 4
jb 0x18000c070
lea rsi, [rdi + rbx]
mov rcx, rbx
lea r8, [rsi - 3]
sub r8, rbx
jmp 0x18000c051
cmp dword [r9], 0x6c6c642e
je 0x18000c06b
inc r9
lea r8, [rsi - 3]
sub r8, r9
mov rcx, r9
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
mov r9, rax
test rax, rax
jne 0x18000c03b
or r9, 0xffffffffffffffff
xor esi, esi
jmp 0x18000c074
sub r9, rbx
jmp 0x18000c067
or r9, 0xffffffffffffffff
cmp rdi, r9
jb 0x18000d016
mov rax, rdi
lea rcx, [rbp - 0x80]
sub rax, r9
mov edx, 4
cmp rax, rdx
cmovb rdx, rax
cmp qword [rbp - 0x68], 0x10
cmovae rcx, qword [rbp - 0x80]
sub rdi, rdx
add rcx, r9
mov r8, rdi
sub r8, r9
add rdx, rcx
inc r8
call sub.VCRUNTIME140.dll_memmove
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_image_get_class
mov qword [rbp - 0x70], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movsxd rdx, r14d
mov rcx, r12
call rax
mov r13, rax
test rax, rax
je 0x18000ce68
mov rsi, qword [rax + 0x10]
xor r15d, r15d
mov rbx, qword [rax + 0x18]
or r8, 0xffffffffffffffff
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
inc r8
cmp byte [rbx + r8], r15b
jne 0x18000c0fe
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.180002560
cmp qword [rsp + 0x50], r15
mov rdx, qword [rsp + 0x58]
sete dil
cmp rdx, 0x10
jb 0x18000c15a
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000c155
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cff9
call fcn.18008ead4
test dil, dil
lea rdx, [rbp - 0x80]
lea rdi, [0x18017ddc4]
mov r8, rdi
je 0x18000c1b6
lea rcx, [rbp + 0x138]
call fcn.18005661c
mov rdx, rax
lea rcx, [rbp + 0x118]
mov r8, rsi
call fcn.18005667c
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.180002334
lea rcx, [rbp + 0x118]
call fcn.1800022d8
lea rcx, [rbp + 0x138]
call fcn.1800022d8
xor esi, esi
jmp 0x18000c2c9
lea rcx, [rbp + 0x98]
call fcn.18005661c
mov rdx, rax
lea rcx, [rbp + 0x78]
mov r8, rbx
call fcn.18005667c
mov rdx, rax
lea rcx, [rbp + 0x178]
mov r8, rdi
call fcn.18005667c
mov rdx, rax
lea rcx, [rbp + 0x158]
mov r8, rsi
call fcn.18005667c
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.180002334
lea rcx, [rbp + 0x158]
call fcn.1800022d8
lea rcx, [rbp + 0x178]
call fcn.1800022d8
mov rdx, qword [rbp + 0x90]
cmp rdx, 0x10
jb 0x18000c257
mov rcx, qword [rbp + 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000c252
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf40
call fcn.18008ead4
mov rdx, qword [rbp + 0xb0]
xor esi, esi
mov qword [rbp + 0x88], rsi
mov qword [rbp + 0x90], 0xf
mov byte [rbp + 0x78], sil
cmp rdx, 0x10
jb 0x18000c2b0
mov rcx, qword [rbp + 0x98]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000c2ab
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf40
call fcn.18008ead4
mov qword [rbp + 0xa8], rsi
mov qword [rbp + 0xb0], 0xf
mov byte [rbp + 0x98], sil
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_class_get_methods
mov qword [rbp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x20]
mov rcx, r13
call rax
mov r15, rax
test rax, rax
je 0x18000ce68
mov r14d, 0x10
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_method_get_name
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
mov rdx, qword [rbp - 0x70]
mov rbx, rax
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, 2
jb 0x18000d046
cmp qword [rbp - 0x68], r14
lea r9, [rbp - 0x80]
mov qword [rsp + 0x30], 2
lea rcx, [rsp + 0x40]
cmovae r9, qword [rbp - 0x80]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdx
call fcn.180004630
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.180055e50
mov edi, 0x1000
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], sil
mov rdx, qword [rsp + 0x58]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
cmp rdx, r14
jb 0x18000c3c7
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18000c3c2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf47
call fcn.18008ead4
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_method_get_param_count
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], sil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
test eax, eax
je 0x18000cac3
mov rcx, qword [rsp + 0x70]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 1
jb 0x18000d034
cmp qword [rsp + 0x78], r14
lea rax, [0x18017ddc8]
mov qword [rsp + 0x30], 1
lea r9, [rsp + 0x60]
cmovae r9, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x40]
call fcn.180004630
mov rdx, qword [rsp + 0x78]
cmp rdx, r14
jb 0x18000c482
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18000c47d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf63
call fcn.18008ead4
movups xmm0, xmmword [rbp + 0x40]
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_method_get_param_count
movups xmm1, xmmword [rbp + 0x50]
mov r14d, esi
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
test eax, eax
je 0x18000c7ca
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_method_get_param
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, r14d
mov rcx, r15
call rax
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_type_get_name
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
or r8, 0xffffffffffffffff
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], rsi
inc r8
cmp byte [rax + r8], sil
jne 0x18000c500
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.180002560
cmp qword [rbp - 0x48], 0x10
lea rdi, [rbp - 0x60]
mov rbx, qword [rbp - 0x50]
cmovae rdi, qword [rbp - 0x60]
cmp rbx, 1
jb 0x18000c566
lea rsi, [rbx + rdi]
mov r8, rbx
mov rcx, rdi
jmp 0x18000c54a
cmp byte [rax], 0x2e
je 0x18000c561
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000c539
or rax, 0xffffffffffffffff
xor esi, esi
jmp 0x18000c56a
sub rax, rdi
jmp 0x18000c55d
or rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
cmp rbx, rcx
jb 0x18000d022
sub rbx, rcx
lea rdx, [rbp - 0x60]
or r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
cmp qword [rbp - 0x48], 0x10
cmovae rdx, qword [rbp - 0x60]
add rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.180002560
mov rdx, qword [rbp - 0x48]
mov edi, 0x1000
cmp rdx, 0x10
jb 0x18000c5eb
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18000c5e6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf55
call fcn.18008ead4
movups xmm1, xmmword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
movabs rax, 0x7fffffffffffffff
movups xmm0, xmmword [rsp + 0x40]
sub rax, rcx
movq rdx, xmm1
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm1
cmp rax, rdx
jb 0x18000d01c
cmp qword [rsp + 0x78], 0x10
lea r9, [rsp + 0x60]
mov qword [rsp + 0x30], rdx
lea rax, [rbp - 0x60]
cmovae r9, qword [rsp + 0x60]
cmp qword [rsp + 0x58], 0x10
cmovae rax, qword [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp]
call fcn.180004630
mov rcx, qword [rbp + 0x10]
mov ebx, 1
mov rax, qword [rbp + 0x18]
sub rax, rcx
cmp rax, rbx
jb 0x18000c68d
cmp qword [rbp + 0x18], 0x10
lea rax, [rcx + 1]
mov qword [rbp + 0x10], rax
lea rax, [rbp]
cmovae rax, qword [rbp]
mov word [rax + rcx], 0x2c
lea rax, [rbp]
jmp 0x18000c6a5
lea r9, [0x18017ddcc]
mov qword [rsp + 0x20], rbx
mov rdx, rbx
lea rcx, [rbp]
call fcn.1800027e0
movups xmm0, xmmword [rax]
lea rdx, [rbp + 0xf8]
movups xmm1, xmmword [rax + 0x10]
lea rcx, [rsp + 0x60]
mov qword [rax + 0x10], rsi
movups xmmword [rbp + 0xf8], xmm0
mov qword [rax + 0x18], 0xf
movups xmmword [rbp + 0x108], xmm1
mov byte [rax], sil
call fcn.180002334
mov rdx, qword [rbp + 0x110]
cmp rdx, 0x10
jb 0x18000c717
mov rcx, qword [rbp + 0xf8]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18000c712
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf4e
call fcn.18008ead4
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x18000c74e
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18000c749
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf4e
call fcn.18008ead4
mov rdx, qword [rbp - 0x48]
mov qword [rbp + 0x10], rsi
mov qword [rbp + 0x18], 0xf
mov byte [rbp], sil
cmp rdx, 0x10
jb 0x18000c795
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18000c790
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf55
call fcn.18008ead4
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_method_get_param_count
mov qword [rbp - 0x50], rsi
add r14d, ebx
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], sil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
cmp r14d, eax
jb 0x18000c4b8
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_type_get_name
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
or r8, 0xffffffffffffffff
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rsi
inc r8
cmp byte [rax + r8], sil
jne 0x18000c80f
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.180002560
mov rax, qword [rsp + 0x70]
lea rdx, [rsp + 0x60]
mov r14d, 0x10
mov qword [rsp + 0x40], rsi
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
lea r8, [rax - 1]
cmp rax, r8
cmovb r8, rax
cmp qword [rsp + 0x78], r14
cmovae rdx, qword [rsp + 0x60]
call fcn.180002560
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.180002334
mov rdx, qword [rsp + 0x58]
cmp rdx, r14
jb 0x18000c8aa
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18000c8a5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf63
call fcn.18008ead4
cmp qword [rbp - 0x28], r14
lea rdi, [rbp - 0x40]
mov rbx, qword [rbp - 0x30]
cmovae rdi, qword [rbp - 0x40]
cmp rbx, 1
jb 0x18000c8fa
lea rsi, [rbx + rdi]
mov r8, rbx
mov rcx, rdi
jmp 0x18000c8de
cmp byte [rax], 0x2e
je 0x18000c8f5
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000c8cd
or rax, 0xffffffffffffffff
xor esi, esi
jmp 0x18000c8fe
sub rax, rdi
jmp 0x18000c8f1
or rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
cmp rbx, rcx
jb 0x18000d02e
sub rbx, rcx
lea rdx, [rbp - 0x40]
or r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
cmp qword [rbp - 0x28], r14
cmovae rdx, qword [rbp - 0x40]
add rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.180002560
mov rcx, qword [rsp + 0x70]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 3
jb 0x18000d028
cmp qword [rsp + 0x78], r14
lea rax, [0x18017ddd0]
mov qword [rsp + 0x30], 3
lea r9, [rsp + 0x60]
cmovae r9, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x40]
call fcn.180004630
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0xb8]
call fcn.1800042f0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180002334
mov rdx, qword [rbp + 0xd0]
mov ebx, 0x1000
cmp rdx, r14
jb 0x18000c9f4
mov rcx, qword [rbp + 0xb8]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000c9ef
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf5c
call fcn.18008ead4
mov rdx, qword [rbp + 0x58]
mov edi, 0xf
mov qword [rbp + 0xc8], rsi
mov qword [rbp + 0xd0], rdi
mov byte [rbp + 0xb8], sil
cmp rdx, r14
jb 0x18000ca44
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000ca3f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf5c
call fcn.18008ead4
mov rdx, qword [rsp + 0x58]
cmp rdx, r14
jb 0x18000ca7c
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000ca77
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf5c
call fcn.18008ead4
mov rdx, qword [rbp - 0x28]
cmp rdx, r14
jb 0x18000cab2
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000caad
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf63
call fcn.18008ead4
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rdi
mov byte [rbp - 0x40], sil
jmp 0x18000cd90
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_type_get_name
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
or r8, 0xffffffffffffffff
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rsi
inc r8
cmp byte [rax + r8], sil
jne 0x18000cb08
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.180002560
cmp qword [rbp - 8], r14
lea rdi, [rbp - 0x20]
mov rbx, qword [rbp - 0x10]
cmovae rdi, qword [rbp - 0x20]
cmp rbx, 1
jb 0x18000cb6d
lea rsi, [rbx + rdi]
mov r8, rbx
mov rcx, rdi
jmp 0x18000cb51
cmp byte [rax], 0x2e
je 0x18000cb68
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000cb40
or rax, 0xffffffffffffffff
xor esi, esi
jmp 0x18000cb71
sub rax, rdi
jmp 0x18000cb64
or rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
cmp rbx, rcx
jb 0x18000d040
sub rbx, rcx
lea rdx, [rbp - 0x20]
or r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
cmp qword [rbp - 8], r14
cmovae rdx, qword [rbp - 0x20]
add rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.180002560
mov rcx, qword [rsp + 0x70]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 4
jb 0x18000d03a
cmp qword [rsp + 0x78], r14
lea rax, str.__:
mov qword [rsp + 0x30], 4
lea r9, [rsp + 0x60]
cmovae r9, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x40]
call fcn.180004630
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0xd8]
call fcn.1800042f0
mov rbx, rax
lea rax, [rsp + 0x60]
cmp rax, rbx
je 0x18000cc85
mov rdx, qword [rsp + 0x78]
cmp rdx, r14
jb 0x18000cc62
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000cc5d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf6a
call fcn.18008ead4
movups xmm0, xmmword [rbx]
mov edi, 0xf
movups xmm1, xmmword [rbx + 0x10]
mov qword [rbx + 0x10], rsi
movups xmmword [rsp + 0x60], xmm0
mov qword [rbx + 0x18], rdi
movups xmmword [rsp + 0x70], xmm1
mov byte [rbx], sil
jmp 0x18000cc8a
mov edi, 0xf
mov rdx, qword [rbp + 0xf0]
mov ebx, 0x1000
cmp rdx, r14
jb 0x18000cccb
mov rcx, qword [rbp + 0xd8]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000ccc6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf6a
call fcn.18008ead4
mov rdx, qword [rbp + 0x58]
mov qword [rbp + 0xe8], rsi
mov qword [rbp + 0xf0], rdi
mov byte [rbp + 0xd8], sil
cmp rdx, r14
jb 0x18000cd16
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000cd11
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf6a
call fcn.18008ead4
mov rdx, qword [rsp + 0x58]
cmp rdx, r14
jb 0x18000cd4e
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000cd49
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf6a
call fcn.18008ead4
mov rdx, qword [rbp - 8]
cmp rdx, r14
jb 0x18000cd84
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000cd7f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cf71
call fcn.18008ead4
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rdi
mov byte [rbp - 0x20], sil
mov rdi, qword [rsp + 0x78]
lea rcx, [rsp + 0x60]
mov rbx, qword [rsp + 0x60]
cmp rdi, r14
cmovae rcx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], sil
jne 0x18000cdaa
cmp rdi, r14
lea r8, [rsp + 0x60]
cmovae r8, rbx
or edx, 0xffffffff
test eax, eax
je 0x18000cdeb
mov r9d, eax
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r8
lea rcx, [0x180177e30]
xor edx, dword [rcx + rax*4]
sub r9, 1
jne 0x18000cdc9
mov eax, dword [rbp + 0x1f0]
not edx
cmp edx, eax
je 0x18000cf78
cmp rdi, r14
jb 0x18000ce31
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18000ce29
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cff9
mov rcx, rbx
call fcn.18008ead4
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_class_get_methods
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x20]
mov rcx, r13
call rax
lea rdi, [0x18017ddc4]
mov r15, rax
test rax, rax
jne 0x18000c2fc
mov r14d, dword [rbp + 0x1f8]
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x18000cea3
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000ce9e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cff9
call fcn.18008ead4
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_image_get_class_count
inc r14d
mov qword [rbp - 0x70], rsi
mov dword [rbp + 0x1f8], r14d
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], sil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
movsxd rcx, r14d
cmp rcx, rax
jb 0x18000bfed
mov rbx, qword [rbp + 0x68]
mov rdi, qword [rbp + 0x28]
mov esi, dword [rbp + 0x200]
mov rcx, qword [0x1802ef450]
lea rdx, str.il2cpp_domain_get_assemblies
and qword [rbp + 0x208], 0
inc esi
inc rdi
mov dword [rbp + 0x200], esi
mov qword [rbp + 0x28], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x208]
mov rcx, rbx
call rax
movsxd rax, esi
cmp rax, qword [rbp + 0x208]
jae 0x18000d000
mov r14, qword [rbp + 0x30]
jmp 0x18000bfb8
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
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
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
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 + 0x30]
mov dword [rbp + 0x30], eax
lea rdx, [rbp + 0x68]
mov qword [rbp + 0x38], r15
call fcn.1800566c8
cmp rdi, r14
jb 0x18000cfbe
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18000cfb6
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cff9
mov rcx, rbx
call fcn.18008ead4
mov rdx, qword [rbp - 0x68]
cmp rdx, r14
jb 0x18000cff4
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000cfef
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cff9
call fcn.18008ead4
mov rax, r15
jmp 0x18000d002
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
xor eax, eax
add rsp, 0x2a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180002514
int3
call fcn.180002234
int3
call fcn.180002514
int3
call fcn.180002234
int3
call fcn.180002514
int3
call fcn.180002234
int3
call fcn.180002234
int3
call fcn.180002514
int3
call fcn.180002234
int3