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

Disassembly:
mov dword [rsp + 8], ecx
push rbp
push rbx
lea rbp, [rsp - 0x178]
sub rsp, 0x278
mov ebx, ecx
lea rcx, [rbp + 0x98]
call fcn.18003ca70
mov edx, ebx
mov rcx, rax
call fcn.18003df80
test al, al
je 0x1800073da
lea rdx, [rbp + 0x190]
call fcn.18003c990
mov rax, qword [rax]
add rsp, 0x278
pop rbx
pop rbp
ret
mov rcx, qword [0x1801a55e0]
lea rdx, str.il2cpp_domain_get
mov qword [rsp + 0x270], rsi
mov qword [rsp + 0x268], rdi
mov qword [rsp + 0x260], r12
mov qword [rsp + 0x258], r13
mov qword [rsp + 0x250], r14
mov qword [rsp + 0x248], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rcx, rax
mov qword [rbp + 0x98], rax
mov rdi, rax
call fcn.1800068b0
mov rcx, qword [0x1801a55e0]
lea rdx, str.il2cpp_domain_get_assemblies
xor r13d, r13d
mov qword [rbp + 0x130], rax
mov ebx, r13d
mov qword [rbp - 0x10], r13
mov dword [rbp + 0x1a8], ebx
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp - 0x10]
mov rcx, rdi
call rax
cmp qword [rbp - 0x10], rbx
jbe 0x180008a75
mov edi, r13d
mov qword [rbp + 0x90], r13
nop dword [rax]
mov rax, qword [rsi + rdi*8]
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x1801a55e0]
mov r12d, r13d
mov dword [rbp + 0x1a0], r13d
mov r15, qword [rax]
mov qword [rbp + 0x88], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
test rax, rax
je 0x180008a31
nop word [rax + rax]
mov rdx, qword [r15]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r13
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x58], r13
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1800074e0
lea rcx, [rsp + 0x40]
call fcn.18003eed0
mov r15, qword [rsp + 0x58]
lea rbx, [rsp + 0x40]
mov r14, qword [rsp + 0x40]
cmp r15, 0x10
mov rsi, qword [rsp + 0x50]
cmovae rbx, r14
cmp rsi, 4
jb 0x18000756c
lea rdi, [rsi + rbx]
mov edx, 0x2e
lea r8, [rdi - 3]
mov rcx, rbx
sub r8, rbx
call sub.VCRUNTIME140.dll_memchr
mov r9, rax
test rax, rax
je 0x18000756c
nop word [rax + rax]
cmp dword [r9], 0x6c6c642e
je 0x18000762f
inc r9
lea r8, [rdi - 3]
sub r8, r9
mov rcx, r9
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
mov r9, rax
test rax, rax
jne 0x180007540
mov r9, 0xffffffffffffffff
cmp rsi, r9
jb 0x180008b8b
mov rax, rsi
lea rcx, [rsp + 0x40]
sub rax, r9
mov edx, 4
cmp rax, rdx
cmovb rdx, rax
cmp r15, 0x10
cmovae rcx, r14
sub rsi, rdx
add rcx, r9
mov r8, rsi
sub r8, r9
add rdx, rcx
inc r8
call sub.VCRUNTIME140.dll_memmove
mov rcx, qword [0x1801a55e0]
lea rdx, str.il2cpp_image_get_class
mov qword [rsp + 0x50], rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, qword [rbp + 0x88]
mov rcx, r15
movsxd rdx, r12d
call rax
mov qword [rbp + 0xe8], rax
mov r14, rax
test rax, rax
jne 0x180007637
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800089db
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007625
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008b7e
call fcn.1800eeebc
jmp 0x1800089db
sub r9, rbx
jmp 0x180007573
mov rdi, qword [rax + 0x10]
xorps xmm0, xmm0
mov rbx, qword [rax + 0x18]
mov r8, 0xffffffffffffffff
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], r13
inc r8
cmp byte [rbx + r8], 0
jne 0x180007655
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.18003eed0
cmp qword [rbp - 0x40], 0
mov r8, qword [rbp - 0x38]
sete sil
cmp r8, 0x10
jb 0x18000768a
mov rdx, qword [rbp - 0x50]
inc r8
call fcn.18003d850
mov rcx, qword [rsp + 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
test sil, sil
je 0x1800077b4
cmp rax, 2
jb 0x180008b91
cmp qword [rsp + 0x58], 0x10
lea rsi, [0x18018b344]
mov qword [rsp + 0x30], 2
lea r9, [rsp + 0x40]
cmovae r9, qword [rsp + 0x40]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xf0]
call fcn.18003fb20
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x1800076f0
mov rdx, rdi
lea rcx, [rbp + 0xf0]
call fcn.18003cf40
xor ebx, ebx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
mov rdx, qword [rsp + 0x58]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
cmp rdx, 0x10
jb 0x180007771
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007762
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008ab9
call fcn.1800eeebc
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
mov r8, qword [rbp + 0x108]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp r8, 0x10
jb 0x180007797
mov rdx, qword [rbp + 0xf0]
inc r8
call fcn.18003d850
mov qword [rbp + 0x100], rbx
mov qword [rbp + 0x108], 0xf
mov byte [rbp + 0xf0], bl
jmp 0x1800079f9
cmp rax, 2
jb 0x180008b85
cmp qword [rsp + 0x58], 0x10
lea rsi, [0x18018b344]
mov qword [rsp + 0x30], 2
lea r9, [rsp + 0x40]
cmovae r9, qword [rsp + 0x40]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x110]
call fcn.18003fb20
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x180007800
mov rdx, rbx
lea rcx, [rbp + 0x110]
call fcn.18003cf40
xor ebx, ebx
lea rcx, [rbp + 0xc8]
mov qword [rbp + 0xd8], rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0xc8], xmm0
mov qword [rbp + 0xe0], rbx
mov rdx, rsi
movups xmm0, xmmword [rax]
lea r8d, [rbx + 2]
movups xmmword [rbp + 0xc8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xd8], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
call fcn.18003cf40
mov qword [rbp + 0xb8], rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xc0], rbx
mov r8, 0xffffffffffffffff
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xa8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xb8], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
nop dword [rax + rax]
inc r8
cmp byte [rdi + r8], bl
jne 0x1800078b0
mov rdx, rdi
lea rcx, [rbp + 0xa8]
call fcn.18003cf40
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
mov rdx, qword [rsp + 0x58]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
cmp rdx, 0x10
jb 0x18000792e
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000791f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008ac0
call fcn.1800eeebc
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
mov rdx, qword [rbp + 0xc0]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp rdx, 0x10
jb 0x180007979
mov rcx, qword [rbp + 0xa8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007974
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008ac0
call fcn.1800eeebc
mov r8, qword [rbp + 0xe0]
mov qword [rbp + 0xb8], rbx
mov qword [rbp + 0xc0], 0xf
mov byte [rbp + 0xa8], bl
cmp r8, 0x10
jb 0x1800079ad
mov rdx, qword [rbp + 0xc8]
inc r8
call fcn.18003d850
mov r8, qword [rbp + 0x128]
mov qword [rbp + 0xd8], rbx
mov qword [rbp + 0xe0], 0xf
mov byte [rbp + 0xc8], bl
cmp r8, 0x10
jb 0x1800079e1
mov rdx, qword [rbp + 0x110]
inc r8
call fcn.18003d850
mov qword [rbp + 0x120], rbx
mov qword [rbp + 0x128], 0xf
mov byte [rbp + 0x110], bl
mov rcx, qword [0x1801a55e0]
lea rdx, str.il2cpp_class_get_methods
mov qword [rbp + 0x80], rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x80]
mov rcx, r14
call rax
mov qword [rbp + 0x18], rax
mov r13, rax
test rax, rax
je 0x18000899b
jmp 0x180007a42
xor ebx, ebx
mov rcx, qword [0x1801a55e0]
lea rdx, str.il2cpp_method_get_name
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
mov r15, qword [rsp + 0x50]
mov rsi, rax
movabs rax, 0x7fffffffffffffff
mov rcx, rax
sub rcx, r15
cmp rcx, 2
jb 0x180008bd3
cmp qword [rsp + 0x58], 0x10
lea r12, [rsp + 0x40]
mov qword [rbp - 0x80], rbx
lea r14, [r15 + 2]
cmovae r12, qword [rsp + 0x40]
lea rdi, [rsp + 0x70]
mov qword [rbp - 0x78], rbx
xorps xmm0, xmm0
mov ebx, 0xf
movups xmmword [rsp + 0x70], xmm0
cmp r14, rbx
jbe 0x180007b2c
mov rbx, r14
or rbx, 0xf
cmp rbx, rax
jbe 0x180007ad0
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180007af7
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180007b16
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180008b97
mov rcx, rax
call fcn.1800eeb00
test rax, rax
je 0x180008ac7
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180007b27
test rcx, rcx
je 0x180007b25
call fcn.1800eeb00
mov rdi, rax
jmp 0x180007b27
xor edi, edi
mov qword [rsp + 0x70], rdi
mov r8, r15
mov qword [rbp - 0x80], r14
mov rdx, r12
mov qword [rbp - 0x78], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov word [rdi + r15], 0x3a3a
mov r8, 0xffffffffffffffff
mov byte [rdi + r14], 0
inc r8
cmp byte [rsi + r8], 0
jne 0x180007b55
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.18003cf40
xor r12d, r12d
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], r12b
mov rdx, qword [rbp - 0x78]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rbp - 0x20], xmm0
cmp rdx, 0x10
jb 0x180007bce
mov rcx, qword [rsp + 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007bc9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008ac7
call fcn.1800eeebc
mov rcx, qword [0x1801a55e0]
lea rdx, str.il2cpp_method_get_param_count
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], r12b
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
test eax, eax
je 0x180008637
mov rcx, qword [rsp + 0x60]
movabs rdi, 0x7fffffffffffffff
mov rax, rdi
sub rax, rcx
cmp rax, 1
jb 0x180008bc1
cmp qword [rbp - 0x18], 0x10
lea rax, [0x18018b348]
mov qword [rsp + 0x30], 1
lea r9, [rbp - 0x30]
cmovae r9, qword [rbp - 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x50]
call fcn.18003fb20
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x180007c8b
mov rcx, qword [rbp - 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007c86
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008adc
call fcn.1800eeebc
movups xmm0, xmmword [rbp - 0x50]
mov rcx, qword [0x1801a55e0]
lea rdx, str.il2cpp_method_get_param_count
mov ebx, r12d
movups xmmword [rsp + 0x70], xmm0
mov dword [rbp + 0x198], ebx
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rbp - 0x20], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
test eax, eax
je 0x180008177
nop
mov rcx, qword [0x1801a55e0]
lea rdx, str.il2cpp_method_get_param
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, ebx
mov rcx, r13
call rax
mov rcx, qword [0x1801a55e0]
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], r12
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x38], r12
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180007d20
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.18003eed0
mov r13, qword [rbp + 0x38]
lea rsi, [rbp + 0x20]
mov r14, qword [rbp + 0x20]
cmp r13, 0x10
mov rbx, qword [rbp + 0x30]
cmovae rsi, r14
cmp rbx, 1
jb 0x180007d9e
mov r8, rbx
lea rdi, [rbx + rsi]
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x180007d94
nop dword [rax]
cmp byte [rax], 0x2e
je 0x180007e16
inc rax
mov r8, rdi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x180007d70
movabs rdi, 0x7fffffffffffffff
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
cmp rbx, rcx
jb 0x180008baf
sub rbx, rcx
lea r15, [rbp + 0x20]
mov rsi, 0xffffffffffffffff
cmp rbx, rsi
cmovb rsi, rbx
cmp r13, 0x10
cmovae r15, r14
add r15, rcx
cmp rsi, rdi
ja 0x180008ba9
cmp rsi, 0x10
jae 0x180007e25
mov r8, rsi
mov qword [rbp - 0x60], rsi
mov rdx, r15
mov qword [rbp - 0x58], 0xf
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rsi - 0x70], 0
mov rbx, qword [rbp - 0x58]
mov rsi, qword [rbp - 0x60]
mov rdi, qword [rbp - 0x70]
jmp 0x180007e75
sub rax, rsi
movabs rdi, 0x7fffffffffffffff
jmp 0x180007da5
mov rbx, rsi
or rbx, 0xf
cmp rbx, rdi
jbe 0x180007e36
mov rbx, rdi
jmp 0x180007e43
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rdx, [rbx + 1]
call fcn.18003d7f0
mov r8, rsi
mov qword [rbp - 0x70], rax
mov rdx, r15
mov qword [rbp - 0x60], rsi
mov rcx, rax
mov qword [rbp - 0x58], rbx
mov rdi, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rsi], 0
mov r13, qword [rbp + 0x38]
mov r14, qword [rbp + 0x20]
cmp r13, 0x10
jb 0x180007eac
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x180007ea4
mov r14, qword [r14 - 8]
add rdx, 0x27
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008ad5
mov rcx, r14
call fcn.1800eeebc
movups xmm0, xmmword [rbp - 0x70]
movabs rdx, 0x7fffffffffffffff
movups xmm1, xmmword [rbp - 0x60]
mov rax, rdx
movups xmmword [rbp + 0x20], xmm0
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp + 0x30], xmm1
movq r15, xmm0
sub rax, r15
cmp rax, rsi
jb 0x180008ba3
mov r14, qword [rsp + 0x70]
lea rax, [rbp - 0x30]
psrldq xmm0, 8
lea rcx, [rbp + 0x20]
movq r13, xmm0
mov qword [rbp - 0x60], r12
cmp r13, 0x10
mov qword [rbp - 0x58], r12
lea r12, [r15 + rsi]
xorps xmm0, xmm0
cmovae rax, r14
cmp rbx, 0x10
mov ebx, 0xf
mov qword [rsp + 0x70], rax
cmovae rcx, rdi
lea rdi, [rbp - 0x70]
mov qword [rsp + 0x60], rcx
movups xmmword [rbp - 0x70], xmm0
cmp r12, rbx
jbe 0x180007fb9
mov rbx, r12
or rbx, 0xf
cmp rbx, rdx
jbe 0x180007f54
movabs rax, 0x8000000000000000
mov rbx, rdx
add rax, 0x27
jmp 0x180007f7b
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180007f9f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180008b9d
mov rcx, rax
call fcn.1800eeb00
test rax, rax
je 0x180008ace
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov rax, qword [rsp + 0x70]
jmp 0x180007fb5
test rcx, rcx
je 0x180007fb3
call fcn.1800eeb00
mov rdi, rax
mov rax, qword [rsp + 0x70]
jmp 0x180007fb5
xor edi, edi
mov qword [rbp - 0x70], rdi
mov r8, r15
mov qword [rbp - 0x60], r12
mov rdx, rax
mov qword [rbp - 0x58], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x60]
lea rcx, [r15 + rdi]
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + r12], 0
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x60]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x18000801a
lea rax, [rcx + 1]
cmp rdx, 0x10
mov qword [rbp - 0x60], rax
lea rax, [rbp - 0x70]
cmovae rax, qword [rbp - 0x70]
mov word [rax + rcx], 0x2c
lea rax, [rbp - 0x70]
jmp 0x180008038
lea r9, [0x18018b34c]
mov qword [rsp + 0x20], 1
mov edx, 1
lea rcx, [rbp - 0x70]
call fcn.18003ed40
movups xmm0, xmmword [rax]
xor r12d, r12d
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], r12b
movups xmmword [rsp + 0x60], xmm0
cmp r13, 0x10
jb 0x180008097
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x18000808a
mov r14, qword [r14 - 8]
add rdx, 0x27
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008ace
mov rcx, r14
call fcn.1800eeebc
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
mov rdx, qword [rbp - 0x58]
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x30], xmm1
cmp rdx, 0x10
jb 0x1800080df
mov rcx, qword [rbp - 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800080da
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008ace
call fcn.1800eeebc
mov rdx, qword [rbp + 0x38]
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], r12b
cmp rdx, 0x10
jb 0x18000812a
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008125
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008ad5
call fcn.1800eeebc
mov ebx, dword [rbp + 0x198]
lea rdx, str.il2cpp_method_get_param_count
mov rcx, qword [0x1801a55e0]
inc ebx
mov dword [rbp + 0x198], ebx
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], r12b
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, qword [rbp + 0x18]
mov rcx, r13
call rax
movabs rdi, 0x7fffffffffffffff
cmp ebx, eax
jb 0x180007cd0
mov rcx, qword [0x1801a55e0]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
mov rcx, qword [0x1801a55e0]
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], r12
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x58], r12
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x1800081c2
mov rdx, rax
lea rcx, [rbp + 0x40]
call fcn.18003eed0
mov r14, qword [rsp + 0x70]
lea r15, [rbp - 0x30]
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
movups xmm0, xmmword [rsp + 0x60]
movq rax, xmm0
psrldq xmm0, 8
movq r13, xmm0
lea rsi, [rax - 1]
cmp rax, rsi
cmovb rsi, rax
cmp r13, 0x10
cmovae r15, r14
cmp rsi, rdi
ja 0x180008bc1
cmp rsi, 0x10
jae 0x18000824a
mov r8, rsi
mov qword [rbp + 8], rsi
mov rdx, r15
mov qword [rbp + 0x10], 0xf
lea rcx, [rbp - 8]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rsi - 8], 0
movabs r12, 0x7fffffffffffffff
jmp 0x18000829c
mov rdi, rsi
movabs r12, 0x7fffffffffffffff
or rdi, 0xf
cmp rdi, r12
jbe 0x180008265
mov rdi, r12
jmp 0x180008272
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rdx, [rdi + 1]
call fcn.18003d7f0
mov r8, rsi
mov qword [rbp - 8], rax
mov rdx, r15
mov qword [rbp + 8], rsi
mov rcx, rax
mov qword [rbp + 0x10], rdi
mov rbx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rsi], 0
cmp r13, 0x10
jb 0x1800082d3
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x1800082cb
mov r14, qword [r14 - 8]
add rdx, 0x27
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008adc
mov rcx, r14
call fcn.1800eeebc
movups xmm0, xmmword [rbp - 8]
mov r15, qword [rbp + 0x58]
lea rdi, [rbp + 0x40]
mov r14, qword [rbp + 0x40]
cmp r15, 0x10
mov rbx, qword [rbp + 0x50]
movups xmmword [rbp - 0x30], xmm0
cmovae rdi, r14
movups xmm0, xmmword [rbp + 8]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rbp - 0x20], xmm0
cmp rbx, 1
jb 0x180008344
mov r8, rbx
lea rsi, [rbx + rdi]
mov edx, 0x2e
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x180008344
nop
cmp byte [rax], 0x2e
je 0x1800083b1
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x180008320
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
cmp rbx, rcx
jb 0x180008bbb
sub rbx, rcx
lea rax, [rbp + 0x40]
mov rdi, 0xffffffffffffffff
cmp rbx, rdi
cmovb rdi, rbx
cmp r15, 0x10
cmovae rax, r14
lea r14, [rax + rcx]
cmp rdi, r12
ja 0x180008bc1
cmp rdi, 0x10
jae 0x1800083b6
mov r8, rdi
mov qword [rbp - 0x40], rdi
mov rdx, r14
mov qword [rbp - 0x38], 0xf
lea rcx, [rbp - 0x50]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rdi - 0x50], 0
jmp 0x1800083fe
sub rax, rdi
jmp 0x18000834b
mov rsi, rdi
or rsi, 0xf
cmp rsi, r12
jbe 0x1800083c7
mov rsi, r12
jmp 0x1800083d4
cmp rsi, 0x16
mov eax, 0x16
cmovb rsi, rax
lea rdx, [rsi + 1]
call fcn.18003d7f0
mov r8, rdi
mov qword [rbp - 0x50], rax
mov rdx, r14
mov qword [rbp - 0x40], rdi
mov rcx, rax
mov qword [rbp - 0x38], rsi
mov rbx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rdi], 0
movups xmm0, xmmword [rsp + 0x60]
mov rax, r12
movq r14, xmm0
sub rax, r14
cmp rax, 3
jb 0x180008bc1
mov rsi, qword [rbp - 8]
lea r12, [rbp - 0x30]
psrldq xmm0, 8
lea r15, [r14 + 3]
movq r13, xmm0
lea rdi, [rbp - 8]
cmp r13, 0x10
mov ebx, 0xf
xorps xmm0, xmm0
cmovae r12, rsi
movups xmmword [rbp - 8], xmm0
cmp r15, rbx
jbe 0x1800084d3
mov rbx, r15
movabs rax, 0x7fffffffffffffff
or rbx, 0xf
cmp rbx, rax
jbe 0x180008478
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x18000849f
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800084be
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180008bb5
mov rcx, rax
call fcn.1800eeb00
test rax, rax
je 0x180008adc
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1800084cf
test rcx, rcx
je 0x1800084cd
call fcn.1800eeb00
mov rdi, rax
jmp 0x1800084cf
xor edi, edi
mov qword [rbp - 8], rdi
mov r8, r14
mov qword [rbp + 8], r15
mov rdx, r12
mov qword [rbp + 0x10], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [0x18018b350]
lea r9, [rbp - 0x50]
mov word [r14 + rdi], ax
lea r8, [rbp - 8]
movzx eax, byte [0x18018b352]
lea rcx, [rsp + 0x70]
mov byte [r14 + rdi + 2], al
mov byte [rdi + r15], 0
call fcn.18003f970
cmp r13, 0x10
jb 0x18000854e
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180008546
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008adc
mov rcx, rsi
call fcn.1800eeebc
movups xmm0, xmmword [rsp + 0x70]
mov rdx, qword [rbp + 0x10]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x20], xmm0
cmp rdx, 0x10
jb 0x1800085a4
mov rcx, qword [rbp - 8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000859f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008adc
call fcn.1800eeebc
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x1800085df
mov rcx, qword [rbp - 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800085da
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008adc
call fcn.1800eeebc
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x18000861a
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008615
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008adc
call fcn.1800eeebc
mov r13, qword [rbp + 0x18]
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], 0
jmp 0x180008891
mov rcx, qword [0x1801a55e0]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
mov rcx, qword [0x1801a55e0]
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 + 0x70], r12
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x78], r12
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r12b
jne 0x180008682
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.18003eed0
mov r15, qword [rbp + 0x78]
lea rsi, [rbp + 0x60]
mov r14, qword [rbp + 0x60]
cmp r15, 0x10
mov rbx, qword [rbp + 0x70]
cmovae rsi, r14
cmp rbx, 1
jb 0x1800086f4
mov r8, rbx
lea rdi, [rbx + rsi]
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1800086f4
nop
cmp byte [rax], 0x2e
je 0x180008ab1
inc rax
mov r8, rdi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x1800086d0
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], r12
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
cmp rbx, rcx
jb 0x180008bcd
sub rbx, rcx
lea rdx, [rbp + 0x60]
mov r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
cmp r15, 0x10
cmovae rdx, r14
add rdx, rcx
lea rcx, [rbp - 0x50]
call fcn.18003eed0
mov rcx, qword [rsp + 0x60]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 4
jb 0x180008bc7
cmp qword [rbp - 0x18], 0x10
lea rax, str.__:
mov qword [rsp + 0x30], 4
lea r9, [rbp - 0x30]
cmovae r9, qword [rbp - 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 8]
call fcn.18003fb20
lea r9, [rbp - 0x50]
lea r8, [rbp - 8]
lea rcx, [rsp + 0x70]
call fcn.18003f970
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x1800087da
mov rcx, qword [rbp - 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800087d5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008ae3
call fcn.1800eeebc
movups xmm0, xmmword [rsp + 0x70]
mov r8, qword [rbp + 0x10]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x20], xmm0
cmp r8, 0x10
jb 0x18000880b
mov rdx, qword [rbp - 8]
inc r8
call fcn.18003d850
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x180008846
mov rcx, qword [rbp - 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008841
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008ae3
call fcn.1800eeebc
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x180008881
mov rcx, qword [rbp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000887c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008ae3
call fcn.1800eeebc
mov qword [rbp + 0x70], r12
mov qword [rbp + 0x78], 0xf
mov byte [rbp + 0x60], r12b
movups xmm0, xmmword [rsp + 0x70]
mov rbx, qword [rsp + 0x60]
lea rcx, [rbp - 0x30]
mov rax, 0xffffffffffffffff
psrldq xmm0, 8
movq rdi, xmm0
cmp rdi, 0x10
cmovae rcx, rbx
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1800088c0
cmp rdi, 0x10
lea r8, [rbp - 0x30]
mov edx, 0xffffffff
cmovae r8, rbx
test eax, eax
je 0x180008912
mov r9d, eax
lea r13, [0x180171280]
nop dword [rax + rax]
movsx ecx, byte [r8]
lea r8, [r8 + 1]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [r13 + rax*4]
sub r9, 1
jne 0x1800088f0
mov r13, qword [rbp + 0x18]
mov eax, dword [rbp + 0x190]
not edx
cmp edx, eax
je 0x180008aea
cmp rdi, 0x10
jb 0x180008959
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180008951
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008b7e
mov rcx, rbx
call fcn.1800eeebc
mov rcx, qword [0x1801a55e0]
lea rdx, str.il2cpp_class_get_methods
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 0xe8]
lea rdx, [rbp + 0x80]
call rax
mov qword [rbp + 0x18], rax
mov r13, rax
test rax, rax
jne 0x180007a40
mov r12d, dword [rbp + 0x1a0]
mov r15, qword [rbp + 0x88]
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800089d8
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800089d3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008b7e
call fcn.1800eeebc
xor r13d, r13d
mov rcx, qword [0x1801a55e0]
lea rdx, str.il2cpp_image_get_class_count
inc r12d
mov qword [rsp + 0x50], r13
mov dword [rbp + 0x1a0], r12d
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
movsxd rcx, r12d
cmp rcx, rax
jb 0x1800074c0
mov ebx, dword [rbp + 0x1a8]
mov rdi, qword [rbp + 0x90]
mov rsi, qword [rbp + 0x130]
mov rcx, qword [0x1801a55e0]
lea rdx, str.il2cpp_domain_get_assemblies
inc ebx
mov qword [rbp - 0x10], r13
inc rdi
mov dword [rbp + 0x1a8], ebx
mov qword [rbp + 0x90], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 0x98]
lea rdx, [rbp - 0x10]
call rax
movsxd rax, ebx
cmp rax, qword [rbp - 0x10]
jb 0x180007480
xor eax, eax
mov r14, qword [rsp + 0x250]
mov r13, qword [rsp + 0x258]
mov r12, qword [rsp + 0x260]
mov rdi, qword [rsp + 0x268]
mov rsi, qword [rsp + 0x270]
mov r15, qword [rsp + 0x248]
add rsp, 0x278
pop rbx
pop rbp
ret
sub rax, rsi
jmp 0x1800086fb
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 + 0x98]
mov dword [rbp + 0x98], eax
lea rdx, [rbp + 0x130]
mov qword [rbp + 0xa0], r13
call fcn.18003dfe0
cmp rdi, 0x10
jb 0x180008b3d
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180008b35
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008b7e
mov rcx, rbx
call fcn.1800eeebc
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x180008b76
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180008b71
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008b7e
call fcn.1800eeebc
mov rax, r13
jmp 0x180008a77
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180003d00
int3
call fcn.18003db70
int3
call fcn.180003d00
int3
call fcn.180003b10
int3
call fcn.180003b10
int3
call fcn.180003d00
int3
call fcn.180003d00
int3
call fcn.18003db70
int3
call fcn.180003b10
int3
call fcn.18003db70
int3
call fcn.180003d00
int3
call fcn.180003d00
int3
call fcn.18003db70
int3
call fcn.180003d00
int3