Function at 0x180039ee8
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 - 0x168]
sub rsp, 0x268
mov ebx, ecx
lea rcx, [rbp - 0x80]
call fcn.18006138c
mov edx, ebx
mov rcx, rax
call fcn.180061e5c
xor r15d, r15d
test al, al
je 0x180039f37
lea rdx, [rbp + 0x1b0]
call fcn.1800612b8
mov rax, qword [rax]
jmp 0x18003ae95
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_domain_get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_domain_get_assemblies
mov rbx, rax
mov qword [rbp - 0x10], rax
mov qword [rbp], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp]
mov rcx, rbx
call rax
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_domain_get_assemblies
mov rsi, rax
mov qword [rbp + 0x10], rax
mov edi, r15d
mov dword [rbp + 0x1c0], r15d
mov qword [rbp + 0x1c8], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x1c8]
mov rcx, rbx
call rax
cmp qword [rbp + 0x1c8], r15
jbe 0x18003ae93
mov rbx, r15
movabs r12, 0x7fffffffffffffff
mov qword [rbp - 0x18], rbx
mov rax, qword [rsi + rbx*8]
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x1801a8db0]
mov ebx, r15d
mov dword [rbp + 0x1b8], ebx
mov r13, qword [rax]
mov qword [rbp + 8], r13
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
test rax, rax
je 0x18003ae48
mov r14, qword [r13]
or rdi, 0xffffffffffffffff
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
inc rdi
cmp byte [r14 + rdi], r15b
jne 0x18003a01c
cmp rdi, 0xf
ja 0x18003a04f
mov r8, rdi
mov qword [rsp + 0x50], rdi
mov rdx, r14
lea rcx, [rsp + 0x40]
call sub.VCRUNTIME140.dll_memmove
mov byte [rsp + rdi + 0x40], r15b
mov rsi, qword [rsp + 0x40]
jmp 0x18003a0f1
cmp rdi, r12
ja 0x18003af61
mov rbx, rdi
or rbx, 0xf
cmp rbx, r12
jbe 0x18003a073
mov rbx, r12
movabs rax, 0x8000000000000027
jmp 0x18003a099
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18003a0b8
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18003af67
mov rcx, rax
call fcn.180065280
test rax, rax
je 0x18003af54
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x18003a0ca
test rcx, rcx
je 0x18003a0c7
call fcn.180065280
mov rsi, rax
jmp 0x18003a0ca
mov rsi, r15
mov r8, rdi
mov qword [rsp + 0x50], rdi
mov rdx, r14
mov qword [rsp + 0x58], rbx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov ebx, dword [rbp + 0x1b8]
mov byte [rsi + rdi], r15b
mov qword [rsp + 0x40], rsi
lea rdx, str..dll
lea rcx, [rsp + 0x40]
call fcn.1800615b8
mov r8, qword [rsp + 0x50]
cmp r8, rax
jb 0x18003af5b
mov rcx, r8
mov edx, 4
sub rcx, rax
cmp rcx, rdx
cmovb rdx, rcx
cmp qword [rsp + 0x58], 0x10
lea rcx, [rsp + 0x40]
cmovae rcx, rsi
sub r8, rdx
mov qword [rsp + 0x50], r8
add rcx, rax
sub r8, rax
add rdx, rcx
inc r8
call sub.VCRUNTIME140.dll_memmove
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_image_get_class
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movsxd rdx, ebx
mov rcx, r13
call rax
mov r13, rax
test rax, rax
jne 0x18003a1b4
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18003adfa
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003a1aa
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003af54
call fcn.1800652bc
jmp 0x18003adfa
mov r12, qword [rax + 0x10]
or rsi, 0xffffffffffffffff
mov r14, qword [rax + 0x18]
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x50], 0xf
inc rsi
cmp byte [r14 + rsi], r15b
jne 0x18003a1cc
cmp rsi, 0xf
ja 0x18003a204
mov r8, rsi
mov qword [rbp + 0x48], rsi
mov rdx, r14
lea rcx, [rbp + 0x38]
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rsi + 0x38], r15b
mov rbx, qword [rbp + 0x50]
mov rsi, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x38]
jmp 0x18003a29b
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
ja 0x18003af61
mov rbx, rsi
or rbx, 0xf
cmp rbx, rax
jbe 0x18003a232
mov rbx, rax
movabs rax, 0x8000000000000027
jmp 0x18003a258
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18003a277
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18003af67
mov rcx, rax
call fcn.180065280
test rax, rax
je 0x18003af54
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18003a289
test rcx, rcx
je 0x18003a286
call fcn.180065280
mov rdi, rax
jmp 0x18003a289
mov rdi, r15
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rsi], r15b
test rsi, rsi
sete sil
cmp rbx, 0x10
jb 0x18003a2dc
lea rdx, [rbx + 1]
mov rax, rdi
mov ebx, 0x1000
cmp rdx, rbx
jb 0x18003a2d2
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003af54
mov rcx, rdi
call fcn.1800652bc
jmp 0x18003a2e1
mov ebx, 0x1000
mov rcx, qword [rsp + 0x50]
movabs rdi, 0x7fffffffffffffff
mov rax, rdi
sub rax, rcx
test sil, sil
je 0x18003a404
cmp rax, 2
jb 0x18003af6d
cmp qword [rsp + 0x58], 0x10
lea rax, [0x18015476c]
mov qword [rsp + 0x30], 2
lea r9, [rsp + 0x40]
cmovae r9, qword [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x78]
call fcn.1800030a8
mov rdx, r12
lea rcx, [rbp + 0x78]
call fcn.180061674
mov esi, 0xf
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], rsi
mov byte [rax], r15b
mov rdx, qword [rsp + 0x58]
movups xmmword [rbp + 0x18], xmm0
movups xmmword [rbp - 0x80], xmm1
cmp rdx, 0x10
jb 0x18003a3a9
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18003a39c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003aea9
call fcn.1800652bc
movups xmm0, xmmword [rbp + 0x18]
movups xmm1, xmmword [rbp - 0x80]
mov rdx, qword [rbp + 0x90]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp rdx, 0x10
jb 0x18003a3ed
mov rcx, qword [rbp + 0x78]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18003a3e8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003aea9
call fcn.1800652bc
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x90], rsi
mov byte [rbp + 0x78], r15b
jmp 0x18003a705
mov ebx, 2
cmp rax, rbx
jb 0x18003af91
cmp qword [rsp + 0x58], 0x10
lea rax, [0x18015476c]
mov qword [rsp + 0x30], rbx
lea r9, [rsp + 0x40]
cmovae r9, qword [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x98]
call fcn.1800030a8
mov rdx, r14
lea rcx, [rbp + 0x98]
call fcn.180061674
movups xmm1, xmmword [rax + 0x10]
movups xmm0, xmmword [rax]
mov qword [rax + 0x10], r15
movq rsi, xmm1
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
movups xmmword [rbp - 0x30], xmm1
psrldq xmm1, 8
movq r14, xmm1
mov rax, r14
sub rax, rsi
movups xmmword [rbp - 0x40], xmm0
cmp rax, rbx
jb 0x18003a4b4
lea rax, [rsi + 2]
cmp r14, 0x10
mov qword [rbp - 0x30], rax
mov ecx, 0x3a3a
lea rax, [rbp - 0x40]
cmovae rax, qword [rbp - 0x40]
mov word [rax + rsi], cx
mov byte [rax + rsi + 2], r15b
jmp 0x18003a5e4
mov rax, rdi
sub rax, rsi
cmp rax, rbx
jb 0x18003af91
lea r15, [rsi + 2]
mov rbx, r15
or rbx, 0xf
cmp rbx, rdi
ja 0x18003a4e4
mov rcx, r14
mov rax, rdi
shr rcx, 1
sub rax, rcx
cmp r14, rax
jbe 0x18003a4f3
mov rbx, rdi
movabs rax, 0x8000000000000027
jmp 0x18003a518
lea rax, [r14 + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18003a537
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18003af73
mov rcx, rax
call fcn.180065280
test rax, rax
je 0x18003aeb0
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18003a548
test rcx, rcx
je 0x18003a546
call fcn.180065280
mov rdi, rax
jmp 0x18003a548
xor edi, edi
mov qword [rbp - 0x30], r15
mov r8, rsi
mov qword [rbp - 0x28], rbx
mov rcx, rdi
cmp r14, 0x10
jb 0x18003a5bc
mov rbx, qword [rbp - 0x40]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rdx, [r14 + 1]
mov eax, 0x3a3a
xor r15d, r15d
mov word [rdi + rsi], ax
mov r14d, 0x1000
mov byte [rdi + rsi + 2], r15b
mov rax, rbx
cmp rdx, r14
jb 0x18003a5a4
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003aeb0
mov rcx, rbx
call fcn.1800652bc
mov qword [rbp - 0x40], rdi
movabs rdi, 0x7fffffffffffffff
jmp 0x18003a5ea
lea rdx, [rbp - 0x40]
call sub.VCRUNTIME140.dll_memcpy
mov eax, 0x3a3a
mov qword [rbp - 0x40], rdi
mov word [rdi + rsi], ax
xor r15d, r15d
mov byte [rdi + rsi + 2], r15b
movabs rdi, 0x7fffffffffffffff
mov r14d, 0x1000
movups xmm0, xmmword [rbp - 0x40]
mov rdx, r12
lea rcx, [rbp + 0x58]
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [rbp + 0x58], xmm0
movups xmmword [rbp + 0x68], xmm1
call fcn.180061674
mov esi, 0xf
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], rsi
mov byte [rax], r15b
mov rdx, qword [rsp + 0x58]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp + 0x18], xmm1
cmp rdx, 0x10
jb 0x18003a666
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, r14
jb 0x18003a659
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003aeb0
call fcn.1800652bc
movups xmm0, xmmword [rbp - 0x80]
movups xmm1, xmmword [rbp + 0x18]
mov rdx, qword [rbp + 0x70]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp rdx, 0x10
jb 0x18003a6a7
mov rcx, qword [rbp + 0x58]
inc rdx
mov rax, rcx
cmp rdx, r14
jb 0x18003a6a2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003aeb0
call fcn.1800652bc
mov rdx, qword [rbp + 0xb0]
mov qword [rbp + 0x68], r15
mov qword [rbp + 0x70], rsi
mov byte [rbp + 0x58], r15b
cmp rdx, 0x10
jb 0x18003a6f0
mov rcx, qword [rbp + 0x98]
inc rdx
mov rax, rcx
cmp rdx, r14
jb 0x18003a6eb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003aeb0
call fcn.1800652bc
mov qword [rbp + 0xa8], r15
mov qword [rbp + 0xb0], rsi
mov byte [rbp + 0x98], r15b
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_class_get_methods
mov qword [rbp - 0x20], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp - 0x20]
mov rcx, r13
call rax
mov r14, rax
test rax, rax
je 0x18003adad
or r12, 0xffffffffffffffff
jmp 0x18003a742
movabs rdi, 0x7fffffffffffffff
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_method_get_name
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r14
call rax
mov rdx, qword [rsp + 0x50]
mov rcx, rdi
sub rcx, rdx
mov rbx, rax
cmp rcx, 2
jb 0x18003af8b
cmp qword [rsp + 0x58], 0x10
lea rax, [0x18015476c]
mov qword [rsp + 0x30], 2
lea r9, [rsp + 0x40]
cmovae r9, qword [rsp + 0x40]
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
call fcn.1800030a8
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.180061674
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], rsi
mov byte [rax], r15b
mov rdx, qword [rbp - 0x68]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
cmp rdx, 0x10
jb 0x18003a80a
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003a805
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003aeb7
call fcn.1800652bc
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_method_get_param_count
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], rsi
mov byte [rbp - 0x80], r15b
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r14
call rax
test eax, eax
je 0x18003ac12
mov rcx, qword [rsp + 0x70]
mov rax, rdi
sub rax, rcx
cmp rax, 1
jb 0x18003af85
cmp qword [rsp + 0x78], 0x10
lea rax, [0x180154770]
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 - 0x80]
call fcn.1800030a8
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18003a8bd
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003a8b8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003aebe
call fcn.1800652bc
movups xmm0, xmmword [rbp - 0x80]
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_method_get_param_count
movups xmm1, xmmword [rbp - 0x70]
mov r12d, r15d
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r14
call rax
test eax, eax
je 0x18003ab10
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_method_get_param
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, r12d
mov rcx, r14
call rax
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_type_get_name
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
and qword [rbp - 0x60], 0
mov r15, rax
and qword [rbp - 0x50], 0
or rdi, 0xffffffffffffffff
mov qword [rbp - 0x48], rsi
inc rdi
cmp byte [rax + rdi], 0
jne 0x18003a940
cmp rdi, rsi
ja 0x18003a96b
mov r8, rdi
mov qword [rbp - 0x50], rdi
mov rdx, r15
lea rcx, [rbp - 0x60]
call sub.VCRUNTIME140.dll_memmove
xor r15d, r15d
mov byte [rbp + rdi - 0x60], r15b
jmp 0x18003a9cc
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x18003af7f
mov rsi, rdi
or rsi, 0xf
cmp rsi, rax
jbe 0x18003a98f
mov rsi, rax
jmp 0x18003a99b
mov eax, 0x16
cmp rsi, rax
cmovb rsi, rax
lea rdx, [rsi + 1]
call fcn.180001c44
mov r8, rdi
mov qword [rbp - 0x50], rdi
mov rdx, r15
mov qword [rbp - 0x48], rsi
mov rcx, rax
mov rbx, rax
call sub.VCRUNTIME140.dll_memcpy
xor r15d, r15d
mov byte [rbx + rdi], r15b
mov qword [rbp - 0x60], rbx
lea esi, [r15 + 0xf]
lea rdx, [0x180154774]
lea rcx, [rbp - 0x60]
call fcn.1800615b8
or r9, 0xffffffffffffffff
lea rdx, [rbp + 0xb8]
lea rcx, [rbp - 0x60]
lea r8, [rax + 1]
call fcn.1800018a8
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.180001a10
lea rcx, [rbp + 0xb8]
call fcn.1800019b4
mov rcx, qword [rsp + 0x70]
movabs rax, 0x7fffffffffffffff
mov rdx, qword [rbp - 0x50]
sub rax, rcx
cmp rax, rdx
jb 0x18003af79
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 [rbp - 0x48], 0x10
cmovae rax, qword [rbp - 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xb8]
call fcn.1800030a8
lea r8, [0x180154778]
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x138]
call fcn.180061f5c
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180001a10
lea rcx, [rbp + 0x138]
call fcn.1800019b4
lea rcx, [rbp + 0xb8]
call fcn.1800019b4
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x18003aadf
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003aada
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003aec5
call fcn.1800652bc
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_method_get_param_count
mov qword [rbp - 0x50], r15
inc r12d
mov qword [rbp - 0x48], rsi
mov byte [rbp - 0x60], r15b
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r14
call rax
cmp r12d, eax
jb 0x18003a8f3
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r14
call rax
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_type_get_name
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
mov rdx, rax
lea rcx, [rbp + 0xd8]
call fcn.180001a98
mov r9, qword [rsp + 0x70]
lea rdx, [rbp - 0x80]
dec r9
lea rcx, [rsp + 0x60]
xor r8d, r8d
call fcn.1800018a8
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180001a10
lea rcx, [rbp - 0x80]
call fcn.1800019b4
lea rdx, [0x180154774]
lea rcx, [rbp + 0xd8]
call fcn.1800615b8
or r12, 0xffffffffffffffff
lea rdx, [rbp + 0x118]
mov r9, r12
lea rcx, [rbp + 0xd8]
lea r8, [rax + 1]
call fcn.1800018a8
lea r8, [0x18015477c]
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x18]
call fcn.180061efc
mov r8, rbx
lea rcx, [rbp - 0x80]
mov rdx, rax
call fcn.180002d6c
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180001a10
lea rcx, [rbp - 0x80]
call fcn.1800019b4
lea rcx, [rbp + 0x18]
call fcn.1800019b4
lea rcx, [rbp + 0x118]
call fcn.1800019b4
lea rcx, [rbp + 0xd8]
jmp 0x18003acdc
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r14
call rax
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_type_get_name
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
mov rdx, rax
lea rcx, [rbp + 0xf8]
call fcn.180001a98
lea rdx, [0x180154774]
lea rcx, [rbp + 0xf8]
call fcn.1800615b8
mov r9, r12
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0xf8]
lea r8, [rax + 1]
call fcn.1800018a8
lea r8, str.__:
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.180061efc
mov r8, rbx
lea rcx, [rbp + 0x118]
mov rdx, rax
call fcn.180002d6c
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180001a10
lea rcx, [rbp + 0x118]
call fcn.1800019b4
lea rcx, [rbp - 0x80]
call fcn.1800019b4
lea rcx, [rbp + 0x18]
call fcn.1800019b4
lea rcx, [rbp + 0xf8]
call fcn.1800019b4
mov rdi, qword [rsp + 0x78]
lea rcx, [rsp + 0x60]
mov rbx, qword [rsp + 0x60]
cmp rdi, 0x10
mov rax, r12
cmovae rcx, rbx
inc rax
cmp byte [rcx + rax], r15b
jne 0x18003acfb
cmp rdi, 0x10
lea r8, [rsp + 0x60]
cmovae r8, rbx
or edx, 0xffffffff
test eax, eax
je 0x18003ad3d
mov r9d, eax
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r8
lea rcx, [0x1800f37c0]
xor edx, dword [rcx + rax*4]
sub r9, 1
jne 0x18003ad1b
mov eax, dword [rbp + 0x1b0]
not edx
cmp edx, eax
je 0x18003aecc
cmp rdi, 0x10
jb 0x18003ad84
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18003ad7c
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003af54
mov rcx, rbx
call fcn.1800652bc
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_class_get_methods
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp - 0x20]
mov rcx, r13
call rax
mov r14, rax
test rax, rax
jne 0x18003a738
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18003adea
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003ade5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003af54
call fcn.1800652bc
mov ebx, dword [rbp + 0x1b8]
movabs r12, 0x7fffffffffffffff
mov rcx, qword [0x1801a8db0]
lea rdx, str.il2cpp_image_get_class_count
inc ebx
mov qword [rsp + 0x50], r15
mov dword [rbp + 0x1b8], ebx
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], r15b
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, qword [rbp + 8]
mov rcx, r13
call rax
movsxd rcx, ebx
cmp rcx, rax
jb 0x18003a001
mov edi, dword [rbp + 0x1c0]
mov rsi, qword [rbp + 0x10]
mov rbx, qword [rbp - 0x18]
lea rdx, str.il2cpp_domain_get_assemblies
mov rcx, qword [0x1801a8db0]
inc rbx
inc edi
mov qword [rbp - 0x18], rbx
mov dword [rbp + 0x1c0], edi
mov qword [rbp + 0x1c8], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp - 0x10]
lea rdx, [rbp + 0x1c8]
call rax
movsxd rax, edi
cmp rax, qword [rbp + 0x1c8]
jb 0x180039fcb
xor eax, eax
add rsp, 0x268
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
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 - 0x10]
mov dword [rbp - 0x10], eax
lea rdx, [rbp - 0x80]
mov qword [rbp - 8], r14
call fcn.180061fa8
cmp rdi, 0x10
jb 0x18003af13
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18003af0b
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003af54
mov rcx, rbx
call fcn.1800652bc
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18003af4c
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003af47
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003af54
call fcn.1800652bc
mov rax, r14
jmp 0x18003ae95
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180001c9c
int3
call fcn.180001894
int3
call fcn.1800017f4
int3
call fcn.180001894
int3
call fcn.1800017f4
int3
call fcn.180001894
int3
call fcn.180001894
int3
call fcn.180001894
int3
call fcn.180001894
int3
call fcn.180001894
int3