Function at 0x18000c274
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 - 0x178]
sub rsp, 0x278
mov ebx, ecx
lea rcx, [rbp]
call fcn.180055ea4
mov edx, ebx
mov rcx, rax
call fcn.180056994
test al, al
je 0x18000c2c0
lea rdx, [rbp + 0x1c0]
call fcn.180055dd0
mov rax, qword [rax]
jmp 0x18000d2b5
mov rcx, qword [0x1802ef4c8]
lea rdx, str.il2cpp_domain_get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rcx, qword [0x1802ef4c8]
lea rdx, str.il2cpp_domain_get_assemblies
and qword [rbp + 0x70], 0
mov rbx, rax
mov qword [rbp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x70]
mov rcx, rbx
call rax
mov rcx, qword [0x1802ef4c8]
lea rdx, str.il2cpp_domain_get_assemblies
xor esi, esi
mov qword [rbp + 0x80], rax
and qword [rbp + 0x1d8], rsi
mov r14, rax
mov dword [rbp + 0x1d0], esi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x1d8]
mov rcx, rbx
call rax
cmp qword [rbp + 0x1d8], rsi
jbe 0x18000d2b3
xor edi, edi
mov qword [rbp + 0x68], rdi
mov rax, qword [r14 + rdi*8]
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x1802ef4c8]
xor r14d, r14d
mov dword [rbp + 0x1c8], r14d
mov r12, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
test rax, rax
je 0x18000d1a4
xor esi, esi
mov rdx, qword [r12]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], rsi
or r8, 0xffffffffffffffff
mov qword [rbp - 0x68], rsi
inc r8
cmp byte [rdx + r8], sil
jne 0x18000c397
lea rcx, [rbp - 0x80]
call fcn.1800025f0
cmp qword [rbp - 0x68], 0xf
lea rbx, [rbp - 0x80]
mov rdi, qword [rbp - 0x70]
cmova rbx, qword [rbp - 0x80]
cmp rdi, 4
jb 0x18000c406
lea rsi, [rdi + rbx]
mov rcx, rbx
lea r8, [rsi - 3]
sub r8, rbx
jmp 0x18000c3e7
cmp dword [r9], 0x6c6c642e
je 0x18000c401
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 0x18000c3d1
or r9, 0xffffffffffffffff
xor esi, esi
jmp 0x18000c40a
sub r9, rbx
jmp 0x18000c3fd
or r9, 0xffffffffffffffff
cmp rdi, r9
jb 0x18000d2c9
mov rax, rdi
lea rcx, [rbp - 0x80]
sub rax, r9
mov edx, 4
cmp rax, rdx
cmovb rdx, rax
cmp qword [rbp - 0x68], 0xf
cmova 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 [0x1802ef4c8]
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 0x18000d11c
mov rsi, qword [rax + 0x10]
xor r15d, r15d
mov rdi, qword [rax + 0x18]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
or r8, 0xffffffffffffffff
mov qword [rsp + 0x58], r15
inc r8
cmp byte [rdi + r8], r15b
jne 0x18000c497
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.1800025f0
cmp qword [rsp + 0x50], r15
lea rcx, [rsp + 0x40]
sete bl
call fcn.180002368
lea rdx, [rbp - 0x80]
test bl, bl
je 0x18000c518
lea rdi, [0x18017dd6c]
mov r8, rdi
lea rcx, [rbp + 0xd0]
call fcn.180056a2c
mov rdx, rax
lea rcx, [rbp + 0xb0]
mov r8, rsi
call fcn.180056a8c
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.1800023c4
lea rcx, [rbp + 0xb0]
call fcn.180002368
lea rcx, [rbp + 0xd0]
call fcn.180002368
jmp 0x18000c5a7
lea rbx, [0x18017dd6c]
mov r8, rbx
lea rcx, [rbp + 0x150]
call fcn.180056a2c
mov rdx, rax
lea rcx, [rbp + 0x130]
mov r8, rdi
call fcn.180056a8c
mov rdx, rax
lea rcx, [rbp + 0x110]
mov r8, rbx
call fcn.180056a8c
mov rdx, rax
lea rcx, [rbp + 0xf0]
mov r8, rsi
call fcn.180056a8c
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.1800023c4
lea rcx, [rbp + 0xf0]
call fcn.180002368
lea rcx, [rbp + 0x110]
call fcn.180002368
lea rcx, [rbp + 0x130]
call fcn.180002368
lea rcx, [rbp + 0x150]
call fcn.180002368
lea rdi, [0x18017dd6c]
mov rcx, qword [0x1802ef4c8]
lea rdx, str.il2cpp_class_get_methods
xor esi, esi
mov qword [rbp + 0x60], rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x60]
mov rcx, r13
call rax
mov r15, rax
test rax, rax
je 0x18000d11c
lea r14d, [rsi + 0xf]
mov rcx, qword [0x1802ef4c8]
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 0x18000d2f9
cmp qword [rbp - 0x68], r14
lea r9, [rbp - 0x80]
mov qword [rsp + 0x30], 2
lea rcx, [rsp + 0x40]
cmova r9, qword [rbp - 0x80]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdx
call fcn.1800046d4
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.1800561cc
mov edi, 0x1000
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r14
mov byte [rax], sil
mov rdx, qword [rsp + 0x58]
movups xmmword [rbp], xmm0
movups xmmword [rsp + 0x70], xmm0
cmp rdx, r14
jbe 0x18000c6a5
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18000c6a0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d1f7
call fcn.18008ee04
mov rcx, qword [0x1802ef4c8]
lea rdx, str.il2cpp_method_get_param_count
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], r14
mov byte [rsp + 0x40], sil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
test eax, eax
je 0x18000cd7e
mov rcx, qword [rbp]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 1
jb 0x18000d2e7
cmp qword [rsp + 0x78], r14
lea rax, [0x18017dd70]
mov qword [rsp + 0x30], 1
lea r9, [rsp + 0x60]
cmova r9, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x40]
call fcn.1800046d4
mov rdx, qword [rsp + 0x78]
cmp rdx, r14
jbe 0x18000c75b
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18000c756
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d213
call fcn.18008ee04
movups xmm0, xmmword [rbp + 0x40]
mov rcx, qword [0x1802ef4c8]
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 0x18000ca93
mov rcx, qword [0x1802ef4c8]
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 [0x1802ef4c8]
lea rdx, str.il2cpp_type_get_name
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
xorps xmm0, xmm0
mov qword [rbp - 0x50], rsi
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x48], rsi
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], sil
jne 0x18000c7dc
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.1800025f0
cmp qword [rbp - 0x48], 0xf
lea rdi, [rbp - 0x60]
mov rbx, qword [rbp - 0x50]
cmova rdi, qword [rbp - 0x60]
cmp rbx, 1
jb 0x18000c842
lea rsi, [rbx + rdi]
mov r8, rbx
mov rcx, rdi
jmp 0x18000c826
cmp byte [rax], 0x2e
je 0x18000c83d
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000c815
or rax, 0xffffffffffffffff
xor esi, esi
jmp 0x18000c846
sub rax, rdi
jmp 0x18000c839
or rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
cmp rbx, rcx
jb 0x18000d2d5
sub rbx, rcx
lea rdx, [rbp - 0x60]
or r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
mov ebx, 0xf
cmp qword [rbp - 0x48], rbx
cmova rdx, qword [rbp - 0x60]
add rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.1800025f0
mov rdx, qword [rbp - 0x48]
mov edi, 0x1000
cmp rdx, rbx
jbe 0x18000c8cd
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18000c8c8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d205
call fcn.18008ee04
movups xmm0, xmmword [rsp + 0x50]
mov r8, qword [rsp + 0x70]
movabs rax, 0x7fffffffffffffff
movups xmm1, xmmword [rsp + 0x40]
sub rax, r8
movq r10, xmm0
movups xmmword [rbp - 0x60], xmm1
movups xmmword [rbp - 0x50], xmm0
cmp rax, r10
jb 0x18000d2cf
cmp qword [rsp + 0x78], rbx
lea r9, [rsp + 0x60]
movq rcx, xmm1
mov qword [rsp + 0x30], r10
cmova r9, qword [rsp + 0x60]
lea rdx, [rbp - 0x60]
psrldq xmm0, 8
movq rax, xmm0
cmp rax, rbx
cmova rdx, rcx
lea rcx, [rbp + 0x20]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r8
call fcn.1800046d4
mov rcx, qword [rbp + 0x30]
mov edx, 1
mov rax, qword [rbp + 0x38]
sub rax, rcx
cmp rax, rdx
jb 0x18000c977
cmp qword [rbp + 0x38], rbx
lea rax, [rcx + 1]
mov qword [rbp + 0x30], rax
lea rax, [rbp + 0x20]
cmova rax, qword [rbp + 0x20]
mov word [rax + rcx], 0x2c
lea rax, [rbp + 0x20]
jmp 0x18000c98c
lea r9, [0x18017dd74]
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x20]
call fcn.180002870
movups xmm0, xmmword [rax]
lea rdx, [rbp + 0x40]
movups xmm1, xmmword [rax + 0x10]
lea rcx, [rsp + 0x60]
mov qword [rax + 0x10], rsi
movups xmmword [rbp + 0x40], xmm0
mov qword [rax + 0x18], rbx
movups xmmword [rbp + 0x50], xmm1
mov byte [rax], sil
call fcn.1800023c4
mov rdx, qword [rbp + 0x58]
cmp rdx, rbx
jbe 0x18000c9ea
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18000c9e5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d1fe
call fcn.18008ee04
mov rdx, qword [rbp + 0x38]
cmp rdx, rbx
jbe 0x18000ca20
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18000ca1b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d1fe
call fcn.18008ee04
mov rdx, qword [rbp - 0x48]
mov qword [rbp + 0x30], rsi
mov qword [rbp + 0x38], rbx
mov byte [rbp + 0x20], sil
cmp rdx, rbx
jbe 0x18000ca62
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18000ca5d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d205
call fcn.18008ee04
mov rcx, qword [0x1802ef4c8]
lea rdx, str.il2cpp_method_get_param_count
mov qword [rbp - 0x50], rsi
inc r14d
mov qword [rbp - 0x48], rbx
mov byte [rbp - 0x60], sil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
cmp r14d, eax
jb 0x18000c791
mov rcx, qword [0x1802ef4c8]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
mov rcx, qword [0x1802ef4c8]
lea rdx, str.il2cpp_type_get_name
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
xorps xmm0, xmm0
mov qword [rbp - 0x30], rsi
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x28], rsi
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], sil
jne 0x18000cadb
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.1800025f0
mov rax, qword [rsp + 0x70]
lea rdx, [rsp + 0x60]
xorps xmm0, xmm0
mov qword [rsp + 0x50], rsi
mov r14d, 0xf
mov qword [rsp + 0x58], rsi
lea rcx, [rsp + 0x40]
lea r8, [rax - 1]
cmp rax, r8
movups xmmword [rsp + 0x40], xmm0
cmovb r8, rax
cmp qword [rsp + 0x78], r14
cmova rdx, qword [rsp + 0x60]
call fcn.1800025f0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.1800023c4
mov rdx, qword [rsp + 0x58]
cmp rdx, r14
jbe 0x18000cb79
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18000cb74
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d213
call fcn.18008ee04
cmp qword [rbp - 0x28], r14
lea rdi, [rbp - 0x40]
mov rbx, qword [rbp - 0x30]
cmova rdi, qword [rbp - 0x40]
cmp rbx, 1
jb 0x18000cbc9
lea rsi, [rbx + rdi]
mov r8, rbx
mov rcx, rdi
jmp 0x18000cbad
cmp byte [rax], 0x2e
je 0x18000cbc4
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000cb9c
or rax, 0xffffffffffffffff
xor esi, esi
jmp 0x18000cbcd
sub rax, rdi
jmp 0x18000cbc0
or rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
cmp rbx, rcx
jb 0x18000d2e1
sub rbx, rcx
lea rdx, [rbp - 0x40]
or r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
cmp qword [rbp - 0x28], r14
cmova rdx, qword [rbp - 0x40]
add rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.1800025f0
mov rcx, qword [rsp + 0x70]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 3
jb 0x18000d2db
cmp qword [rsp + 0x78], r14
lea rax, [0x18017dd78]
mov qword [rsp + 0x30], 3
lea r9, [rsp + 0x60]
cmova r9, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp]
call fcn.1800046d4
lea r8, [rsp + 0x40]
lea rdx, [rbp]
lea rcx, [rbp + 0x40]
call fcn.180004390
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1800023c4
mov rdx, qword [rbp + 0x58]
mov ebx, 0x1000
cmp rdx, r14
jbe 0x18000ccbd
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000ccb8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d20c
call fcn.18008ee04
mov rdx, qword [rbp + 0x18]
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x58], r14
mov byte [rbp + 0x40], sil
cmp rdx, r14
jbe 0x18000ccff
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000ccfa
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d20c
call fcn.18008ee04
mov rdx, qword [rsp + 0x58]
cmp rdx, r14
jbe 0x18000cd37
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000cd32
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d20c
call fcn.18008ee04
mov rdx, qword [rbp - 0x28]
cmp rdx, r14
jbe 0x18000cd6d
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000cd68
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d213
call fcn.18008ee04
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], r14
mov byte [rbp - 0x40], sil
jmp 0x18000d044
mov rcx, qword [0x1802ef4c8]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
mov rcx, qword [0x1802ef4c8]
lea rdx, str.il2cpp_type_get_name
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
xorps xmm0, xmm0
mov qword [rbp - 0x10], rsi
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 8], rsi
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], sil
jne 0x18000cdc6
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.1800025f0
cmp qword [rbp - 8], r14
lea rdi, [rbp - 0x20]
mov rbx, qword [rbp - 0x10]
cmova rdi, qword [rbp - 0x20]
cmp rbx, 1
jb 0x18000ce2b
lea rsi, [rbx + rdi]
mov r8, rbx
mov rcx, rdi
jmp 0x18000ce0f
cmp byte [rax], 0x2e
je 0x18000ce26
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000cdfe
or rax, 0xffffffffffffffff
xor esi, esi
jmp 0x18000ce2f
sub rax, rdi
jmp 0x18000ce22
or rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
cmp rbx, rcx
jb 0x18000d2f3
sub rbx, rcx
lea rdx, [rbp - 0x20]
or r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
cmp qword [rbp - 8], r14
cmova rdx, qword [rbp - 0x20]
add rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.1800025f0
mov rcx, qword [rbp]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 4
jb 0x18000d2ed
cmp qword [rsp + 0x78], r14
lea rax, str.__:
mov qword [rsp + 0x30], 4
lea r9, [rsp + 0x60]
cmova r9, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp]
call fcn.1800046d4
lea r8, [rsp + 0x40]
lea rdx, [rbp]
lea rcx, [rbp + 0x90]
call fcn.180004390
mov rbx, rax
lea rax, [rsp + 0x60]
cmp rax, rbx
je 0x18000cf3e
mov rdx, qword [rsp + 0x78]
cmp rdx, r14
jbe 0x18000cf22
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000cf1d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d21a
call fcn.18008ee04
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
mov qword [rbx + 0x10], rsi
movups xmmword [rsp + 0x60], xmm0
mov qword [rbx + 0x18], r14
movups xmmword [rsp + 0x70], xmm1
mov byte [rbx], sil
mov rdx, qword [rbp + 0xa8]
mov ebx, 0x1000
cmp rdx, r14
jbe 0x18000cf7f
mov rcx, qword [rbp + 0x90]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000cf7a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d21a
call fcn.18008ee04
mov rdx, qword [rbp + 0x18]
mov qword [rbp + 0xa0], rsi
mov qword [rbp + 0xa8], r14
mov byte [rbp + 0x90], sil
cmp rdx, r14
jbe 0x18000cfca
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000cfc5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d21a
call fcn.18008ee04
mov rdx, qword [rsp + 0x58]
cmp rdx, r14
jbe 0x18000d002
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000cffd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d21a
call fcn.18008ee04
mov rdx, qword [rbp - 8]
cmp rdx, r14
jbe 0x18000d038
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18000d033
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d221
call fcn.18008ee04
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], r14
mov byte [rbp - 0x20], sil
mov rdi, qword [rsp + 0x78]
lea rcx, [rsp + 0x60]
mov rbx, qword [rsp + 0x60]
cmp rdi, r14
cmova rcx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], sil
jne 0x18000d05e
cmp rdi, r14
lea r8, [rsp + 0x60]
cmova r8, rbx
or edx, 0xffffffff
test eax, eax
je 0x18000d09f
mov r9d, eax
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r8
lea rcx, [0x180177d90]
xor edx, dword [rcx + rax*4]
sub r9, 1
jne 0x18000d07d
mov eax, dword [rbp + 0x1c0]
not edx
cmp edx, eax
je 0x18000d228
cmp rdi, r14
jbe 0x18000d0e5
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18000d0dd
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d2ac
mov rcx, rbx
call fcn.18008ee04
mov rcx, qword [0x1802ef4c8]
lea rdx, str.il2cpp_class_get_methods
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x60]
mov rcx, r13
call rax
lea rdi, [0x18017dd6c]
mov r15, rax
test rax, rax
jne 0x18000c5da
mov r14d, dword [rbp + 0x1c8]
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x18000d157
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000d152
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d2ac
call fcn.18008ee04
mov rcx, qword [0x1802ef4c8]
lea rdx, str.il2cpp_image_get_class_count
inc r14d
mov qword [rbp - 0x70], rsi
mov dword [rbp + 0x1c8], 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 0x18000c380
mov rbx, qword [rbp + 0x78]
mov rdi, qword [rbp + 0x68]
mov esi, dword [rbp + 0x1d0]
mov rcx, qword [0x1802ef4c8]
lea rdx, str.il2cpp_domain_get_assemblies
and qword [rbp + 0x1d8], 0
inc esi
inc rdi
mov dword [rbp + 0x1d0], esi
mov qword [rbp + 0x68], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x1d8]
mov rcx, rbx
call rax
movsxd rax, esi
cmp rax, qword [rbp + 0x1d8]
jae 0x18000d2b3
mov r14, qword [rbp + 0x80]
jmp 0x18000c34b
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]
mov dword [rbp], eax
lea rdx, [rbp + 0x80]
mov qword [rbp + 8], r15
call fcn.180056ad8
cmp rdi, r14
jbe 0x18000d271
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18000d269
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d2ac
mov rcx, rbx
call fcn.18008ee04
mov rdx, qword [rbp - 0x68]
cmp rdx, r14
jbe 0x18000d2a7
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000d2a2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d2ac
call fcn.18008ee04
mov rax, r15
jmp 0x18000d2b5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
xor eax, eax
add rsp, 0x278
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1800025a4
int3
call fcn.1800022c4
int3
call fcn.1800025a4
int3
call fcn.1800022c4
int3
call fcn.1800025a4
int3
call fcn.1800022c4
int3
call fcn.1800022c4
int3
call fcn.1800025a4
int3
call fcn.1800022c4
int3