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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov dword [rax + 8], ecx
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x198]
sub rsp, 0x270
mov rax, qword [0x180293020]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov ebx, ecx
lea rcx, [rbp - 0x80]
call fcn.180038d8c
mov edx, ebx
mov rcx, rax
call fcn.18003a744
test al, al
je 0x1800055df
lea rdx, [rbp + 0x1a0]
call fcn.180038cb8
mov rax, qword [rax]
jmp 0x180006829
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_domain_get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_domain_get_assemblies
and qword [rsp + 0x70], 0
mov rbx, rax
mov qword [rsp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x70]
mov rcx, rbx
call rax
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_domain_get_assemblies
xor esi, esi
mov qword [rsp + 0x60], rax
and qword [rsp + 0x48], rsi
mov r14, rax
mov dword [rsp + 0x44], esi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x48]
mov rcx, rbx
call rax
cmp qword [rsp + 0x48], rsi
jbe 0x180006827
xor edi, edi
mov r15d, 0x1000
mov qword [rsp + 0x58], rdi
or r13, 0xffffffffffffffff
mov rax, qword [r14 + rdi*8]
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x18029fbd0]
xor r14d, r14d
mov dword [rsp + 0x40], r14d
mov r12, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
test rax, rax
je 0x180006757
xor edi, edi
mov rdx, qword [r12]
mov r8, r13
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], rdi
inc r8
cmp byte [rdx + r8], dil
jne 0x1800056b4
lea rcx, [rbp - 0x60]
call fcn.18003bfb8
cmp qword [rbp - 0x48], 0x10
lea rbx, [rbp - 0x60]
mov rdi, qword [rbp - 0x50]
cmovae rbx, qword [rbp - 0x60]
cmp rdi, 4
jb 0x18000571a
lea rsi, [rdi + rbx]
mov rcx, rbx
lea r8, [rsi - 3]
sub r8, rbx
jmp 0x180005708
cmp dword [r9], 0x6c6c642e
je 0x18000592a
inc r9
lea r8, [rsi - 3]
sub r8, r9
mov rcx, r9
mov edx, 0x2e
call fcn.1800e3240
mov r9, rax
test rax, rax
jne 0x1800056ee
mov r9, r13
cmp rdi, r9
jb 0x180006859
mov rax, rdi
lea rcx, [rbp - 0x60]
sub rax, r9
mov edx, 4
cmp rax, rdx
cmovb rdx, rax
cmp qword [rbp - 0x48], 0x10
cmovae rcx, qword [rbp - 0x60]
sub rdi, rdx
add rcx, r9
mov r8, rdi
sub r8, r9
add rdx, rcx
inc r8
call fcn.1800e2690
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_image_get_class
mov qword [rbp - 0x50], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movsxd rdx, r14d
mov rcx, r12
call rax
xor edi, edi
mov r13, rax
test rax, rax
je 0x1800066ce
mov rsi, qword [rax + 0x10]
or r8, 0xffffffffffffffff
mov rbx, qword [rax + 0x18]
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rdi
inc r8
cmp byte [rbx + r8], dil
jne 0x1800057a3
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.18003bfb8
cmp qword [rbp - 0x70], rdi
mov rdx, qword [rbp - 0x68]
sete dil
cmp rdx, 0x10
jb 0x1800057f7
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x1800057f2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800068cb
call fcn.1800df824
mov rcx, qword [rbp - 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
test dil, dil
je 0x180005932
cmp rax, 2
jb 0x180006865
cmp qword [rbp - 0x48], 0x10
lea rax, [0x18027b06c]
mov qword [rsp + 0x30], 2
lea r9, [rbp - 0x60]
cmovae r9, qword [rbp - 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xa0]
call fcn.18003cbd8
or r8, 0xffffffffffffffff
xor edi, edi
inc r8
cmp byte [rsi + r8], dil
jne 0x180005855
mov rdx, rsi
lea rcx, [rbp + 0xa0]
call fcn.18003902c
mov ebx, 0xf
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
mov rdx, qword [rbp - 0x48]
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp - 0x80], xmm1
cmp rdx, 0x10
jb 0x1800058cb
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x1800058be
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000685f
call fcn.1800df824
movups xmm0, xmmword [rbp + 0x40]
movups xmm1, xmmword [rbp - 0x80]
mov rdx, qword [rbp + 0xb8]
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm1
cmp rdx, 0x10
jb 0x180005910
mov rcx, qword [rbp + 0xa0]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x18000590b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000685f
call fcn.1800df824
mov qword [rbp + 0xb0], rdi
mov qword [rbp + 0xb8], rbx
mov byte [rbp + 0xa0], dil
jmp 0x180005b66
sub r9, rbx
jmp 0x18000571d
cmp rax, 2
jb 0x1800068d1
cmp qword [rbp - 0x48], 0x10
lea rax, [0x18027b06c]
mov qword [rsp + 0x30], 2
lea r9, [rbp - 0x60]
cmovae r9, qword [rbp - 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xc0]
call fcn.18003cbd8
or r8, 0xffffffffffffffff
xor edi, edi
inc r8
cmp byte [rbx + r8], dil
jne 0x180005976
mov rdx, rbx
lea rcx, [rbp + 0xc0]
call fcn.18003902c
mov qword [rbp + 0x80], rdi
lea rdx, [0x18027b06c]
mov qword [rbp + 0x90], rdi
lea rcx, [rbp + 0x80]
mov qword [rbp + 0x98], rdi
mov ebx, 0xf
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x80], xmm0
lea r8d, [rbx - 0xd]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x90], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
call fcn.18003902c
mov qword [rbp + 0x60], rdi
or r8, 0xffffffffffffffff
mov qword [rbp + 0x70], rdi
mov qword [rbp + 0x78], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x70], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
inc r8
cmp byte [rsi + r8], dil
jne 0x180005a09
mov rdx, rsi
lea rcx, [rbp + 0x60]
call fcn.18003902c
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
mov rdx, qword [rbp - 0x48]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp + 0x40], xmm1
cmp rdx, 0x10
jb 0x180005a77
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x180005a6a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000686b
call fcn.1800df824
movups xmm0, xmmword [rbp - 0x80]
movups xmm1, xmmword [rbp + 0x40]
mov rdx, qword [rbp + 0x78]
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm1
cmp rdx, 0x10
jb 0x180005ab6
mov rcx, qword [rbp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x180005ab1
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000686b
call fcn.1800df824
mov rdx, qword [rbp + 0x98]
mov qword [rbp + 0x70], rdi
mov qword [rbp + 0x78], rbx
mov byte [rbp + 0x60], dil
cmp rdx, 0x10
jb 0x180005aff
mov rcx, qword [rbp + 0x80]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x180005afa
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000686b
call fcn.1800df824
mov rdx, qword [rbp + 0xd8]
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0x98], rbx
mov byte [rbp + 0x80], dil
cmp rdx, 0x10
jb 0x180005b51
mov rcx, qword [rbp + 0xc0]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x180005b4c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000686b
call fcn.1800df824
mov qword [rbp + 0xd0], rdi
mov qword [rbp + 0xd8], rbx
mov byte [rbp + 0xc0], dil
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_class_get_methods
mov qword [rsp + 0x50], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x50]
mov rcx, r13
call rax
mov r15, rax
test rax, rax
je 0x1800066c8
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_method_get_name
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
mov rdx, qword [rbp - 0x50]
movabs r14, 0x7fffffffffffffff
mov rcx, r14
mov rbx, rax
sub rcx, rdx
cmp rcx, 2
jb 0x1800068c5
cmp qword [rbp - 0x48], 0x10
lea rax, [0x18027b06c]
mov qword [rsp + 0x30], 2
lea r9, [rbp - 0x60]
cmovae r9, qword [rbp - 0x60]
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
call fcn.18003cbd8
or r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], dil
jne 0x180005c04
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.18003902c
mov ebx, 0xf
mov esi, 0x1000
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
mov rdx, qword [rbp - 8]
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm1
cmp rdx, 0x10
jb 0x180005c74
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x180005c6f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006871
call fcn.1800df824
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_method_get_param_count
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rbx
mov byte [rbp - 0x20], dil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
test eax, eax
je 0x180006327
mov rcx, qword [rbp - 0x30]
mov rax, r14
sub rax, rcx
cmp rax, 1
jb 0x1800068a7
cmp qword [rbp - 0x28], 0x10
lea rax, [0x18027b070]
mov qword [rsp + 0x30], 1
lea r9, [rbp - 0x40]
cmovae r9, qword [rbp - 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x80]
call fcn.18003cbd8
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x180005d1d
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x180005d18
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006895
call fcn.1800df824
movups xmm0, xmmword [rbp - 0x80]
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_method_get_param_count
movups xmm1, xmmword [rbp - 0x70]
mov r14d, edi
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm1
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
test eax, eax
je 0x180006029
mov rcx, qword [0x18029fbd0]
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 [0x18029fbd0]
lea rdx, str.il2cpp_type_get_name
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
or rsi, 0xffffffffffffffff
mov qword [rbp], rdi
mov r8, rsi
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x18], rdi
inc r8
cmp byte [rax + r8], dil
jne 0x180005d9c
mov rdx, rax
lea rcx, [rbp]
call fcn.18003bfb8
cmp qword [rbp + 0x18], 0x10
lea rdi, [rbp]
mov rbx, qword [rbp + 0x10]
cmovae rdi, qword [rbp]
cmp rbx, 1
jb 0x180005dfd
lea rsi, [rbx + rdi]
mov r8, rbx
mov rcx, rdi
jmp 0x180005dea
cmp byte [rax], 0x2e
je 0x18000612a
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call fcn.1800e3240
test rax, rax
jne 0x180005dd5
or rsi, 0xffffffffffffffff
mov rax, rsi
xor edi, edi
lea rcx, [rax + 1]
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rdi
cmp rbx, rcx
jb 0x180006889
sub rbx, rcx
lea rdx, [rbp]
cmp rbx, rsi
mov r8, rsi
cmovb r8, rbx
cmp qword [rbp + 0x18], 0x10
cmovae rdx, qword [rbp]
add rdx, rcx
lea rcx, [rbp - 0x80]
call fcn.18003bfb8
mov rdx, qword [rbp + 0x18]
mov esi, 0x1000
cmp rdx, 0x10
jb 0x180005e7e
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x180005e79
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000687d
call fcn.1800df824
movups xmm1, xmmword [rbp - 0x70]
mov rcx, qword [rbp - 0x30]
movabs rax, 0x7fffffffffffffff
movups xmm0, xmmword [rbp - 0x80]
sub rax, rcx
movq rdx, xmm1
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm1
cmp rax, rdx
jb 0x180006883
cmp qword [rbp - 0x28], 0x10
lea r9, [rbp - 0x40]
mov qword [rsp + 0x30], rdx
lea rax, [rbp]
cmovae r9, qword [rbp - 0x40]
cmp qword [rbp - 0x68], 0x10
cmovae rax, qword [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xe0]
call fcn.18003cbd8
mov r8d, 1
lea rdx, [0x18027b074]
lea rcx, [rbp + 0xe0]
call fcn.18003902c
mov ebx, 0xf
lea rdx, [rbp + 0x140]
lea rcx, [rbp - 0x40]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rdi
movups xmmword [rbp + 0x140], xmm0
mov qword [rax + 0x18], rbx
movups xmmword [rbp + 0x150], xmm1
mov byte [rax], dil
call fcn.180039110
mov rdx, qword [rbp + 0x158]
cmp rdx, 0x10
jb 0x180005f6f
mov rcx, qword [rbp + 0x140]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x180005f6a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006877
call fcn.1800df824
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0x10
jb 0x180005fac
mov rcx, qword [rbp + 0xe0]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x180005fa7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006877
call fcn.1800df824
mov rdx, qword [rbp + 0x18]
mov qword [rbp + 0xf0], rdi
mov qword [rbp + 0xf8], rbx
mov byte [rbp + 0xe0], dil
cmp rdx, 0x10
jb 0x180005ff8
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x180005ff3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000687d
call fcn.1800df824
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_method_get_param_count
mov qword [rbp + 0x10], rdi
inc r14d
mov qword [rbp + 0x18], rbx
mov byte [rbp], dil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
cmp r14d, eax
jb 0x180005d51
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
mov rcx, qword [0x18029fbd0]
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], rdi
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rdi
inc r8
cmp byte [rax + r8], dil
jne 0x18000606e
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.18003bfb8
mov rax, qword [rbp - 0x30]
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x80]
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rdi
lea r8, [rax - 1]
cmp rax, r8
cmovb r8, rax
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call fcn.18003bfb8
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x40]
call fcn.180039110
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1800060f9
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x1800060f4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006895
call fcn.1800df824
cmp qword [rbp - 8], 0x10
lea rdi, [rbp - 0x20]
mov rbx, qword [rbp - 0x10]
cmovae rdi, qword [rbp - 0x20]
cmp rbx, 1
jb 0x180006161
mov r8, rbx
lea rsi, [rdi + rbx]
mov edx, 0x2e
mov rcx, rdi
call fcn.1800e3240
xor r14d, r14d
jmp 0x180006151
sub rax, rdi
or rsi, 0xffffffffffffffff
jmp 0x180005e00
cmp byte [rax], 0x2e
je 0x18000615c
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call fcn.1800e3240
test rax, rax
jne 0x180006136
or rax, 0xffffffffffffffff
jmp 0x180006168
sub rax, rdi
jmp 0x180006168
or rax, 0xffffffffffffffff
xor r14d, r14d
lea rcx, [rax + 1]
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], r14
cmp rbx, rcx
jb 0x1800068a1
sub rbx, rcx
lea rdx, [rbp - 0x20]
or r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
cmp qword [rbp - 8], 0x10
cmovae rdx, qword [rbp - 0x20]
add rdx, rcx
lea rcx, [rbp - 0x80]
call fcn.18003bfb8
mov rcx, qword [rbp - 0x30]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 3
jb 0x18000689b
cmp qword [rbp - 0x28], 0x10
lea rax, [0x18027b078]
mov qword [rsp + 0x30], 3
lea r9, [rbp - 0x40]
cmovae r9, qword [rbp - 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x40]
call fcn.18003cbd8
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x100]
call fcn.18003a8d0
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.180039110
mov rdx, qword [rbp + 0x118]
mov esi, 0x1000
cmp rdx, 0x10
jb 0x180006257
mov rcx, qword [rbp + 0x100]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x180006252
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000688f
call fcn.1800df824
mov rdx, qword [rbp + 0x58]
mov ebx, 0xf
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x118], rbx
mov byte [rbp + 0x100], r14b
cmp rdx, 0x10
jb 0x1800062a8
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x1800062a3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000688f
call fcn.1800df824
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1800062df
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x1800062da
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000688f
call fcn.1800df824
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x180006316
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x180006311
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006895
call fcn.1800df824
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], rbx
mov byte [rbp - 0x20], r14b
jmp 0x1800065fb
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_type_get_name
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
or rsi, 0xffffffffffffffff
mov qword [rbp + 0x20], rdi
mov r8, rsi
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x38], rdi
inc r8
cmp byte [rax + r8], dil
jne 0x18000636f
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.18003bfb8
cmp qword [rbp + 0x38], 0x10
lea rdi, [rbp + 0x20]
mov rbx, qword [rbp + 0x30]
cmovae rdi, qword [rbp + 0x20]
cmp rbx, 1
jb 0x1800063e4
mov r8, rbx
lea rsi, [rdi + rbx]
mov edx, 0x2e
mov rcx, rdi
call fcn.1800e3240
xor r14d, r14d
jmp 0x1800063d0
cmp byte [rax], 0x2e
je 0x1800063db
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call fcn.1800e3240
test rax, rax
jne 0x1800063b5
or rsi, 0xffffffffffffffff
jmp 0x1800063e7
sub rax, rdi
or rsi, 0xffffffffffffffff
jmp 0x1800063ea
xor r14d, r14d
mov rax, rsi
lea rcx, [rax + 1]
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], r14
cmp rbx, rcx
jb 0x1800068bf
sub rbx, rcx
lea rdx, [rbp + 0x20]
cmp rbx, rsi
mov r8, rsi
cmovb r8, rbx
cmp qword [rbp + 0x38], 0x10
cmovae rdx, qword [rbp + 0x20]
add rdx, rcx
lea rcx, [rbp - 0x80]
call fcn.18003bfb8
mov rcx, qword [rbp - 0x30]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 4
jb 0x1800068b9
cmp qword [rbp - 0x28], 0x10
lea rax, str.__:
mov qword [rsp + 0x30], 4
lea r9, [rbp - 0x40]
cmovae r9, qword [rbp - 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x40]
call fcn.18003cbd8
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x120]
call fcn.18003a8d0
mov rbx, rax
mov esi, 0x1000
lea rax, [rbp - 0x40]
cmp rax, rbx
je 0x1800064f3
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x1800064d2
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x1800064cd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800068ad
call fcn.1800df824
movups xmm0, xmmword [rbx]
mov edi, 0xf
movups xmm1, xmmword [rbx + 0x10]
mov qword [rbx + 0x10], r14
movups xmmword [rbp - 0x40], xmm0
mov qword [rbx + 0x18], rdi
movups xmmword [rbp - 0x30], xmm1
mov byte [rbx], r14b
jmp 0x1800064f8
mov edi, 0xf
mov rdx, qword [rbp + 0x138]
cmp rdx, 0x10
jb 0x180006535
mov rcx, qword [rbp + 0x120]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x180006530
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800068ad
call fcn.1800df824
mov rdx, qword [rbp + 0x58]
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x138], rdi
mov byte [rbp + 0x120], r14b
cmp rdx, 0x10
jb 0x180006581
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x18000657c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800068ad
call fcn.1800df824
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1800065b8
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x1800065b3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800068ad
call fcn.1800df824
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x1800065ef
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x1800065ea
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800068b3
call fcn.1800df824
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], rdi
mov byte [rbp + 0x20], r14b
mov rdi, qword [rbp - 0x28]
lea rcx, [rbp - 0x40]
mov rbx, qword [rbp - 0x40]
cmp rdi, 0x10
cmovae rcx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], r14b
jne 0x180006613
cmp rdi, 0x10
lea r8, [rbp - 0x40]
cmovae r8, rbx
or edx, 0xffffffff
test eax, eax
je 0x180006654
mov r9d, eax
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r8
lea rcx, [0x1802193a0]
xor edx, dword [rcx + rax*4]
sub r9, 1
jne 0x180006632
mov eax, dword [rbp + 0x1a0]
not edx
cmp edx, eax
je 0x1800067a1
cmp rdi, 0x10
jb 0x180006697
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, rsi
jb 0x18000668f
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800068cb
mov rcx, rbx
call fcn.1800df824
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_class_get_methods
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x50]
mov rcx, r13
call rax
xor edi, edi
mov r15, rax
test rax, rax
jne 0x180005b95
mov r14d, dword [rsp + 0x40]
mov r15d, 0x1000
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x180006705
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x180006700
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800068cb
call fcn.1800df824
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_image_get_class_count
inc r14d
mov qword [rbp - 0x50], rdi
mov dword [rsp + 0x40], r14d
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], dil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
movsxd rcx, r14d
mov r13, 0xffffffffffffffff
cmp rcx, rax
jb 0x1800056a1
mov rbx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x58]
mov esi, dword [rsp + 0x44]
mov rcx, qword [0x18029fbd0]
lea rdx, str.il2cpp_domain_get_assemblies
and qword [rsp + 0x48], 0
inc esi
inc rdi
mov dword [rsp + 0x44], esi
mov qword [rsp + 0x58], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0x48]
mov rcx, rbx
call rax
movsxd rax, esi
cmp rax, qword [rsp + 0x48]
jae 0x180006827
mov r14, qword [rsp + 0x60]
jmp 0x18000566e
lea r8, [rsp + 0x60]
mov dword [rsp + 0x60], eax
lea rdx, [rbp - 0x80]
mov qword [rsp + 0x68], r15
call fcn.18003a7dc
cmp rdi, 0x10
jb 0x1800067eb
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, rsi
jb 0x1800067e3
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800068cb
mov rcx, rbx
call fcn.1800df824
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x180006822
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x18000681d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800068cb
call fcn.1800df824
mov rax, r15
jmp 0x180006829
xor eax, eax
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.1800df1e0
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.18003a418
int3
call fcn.1800e7e54
int3
call fcn.180002be0
int3
call fcn.1800e7e54
int3
call fcn.1800e7e54
int3
call fcn.1800e7e54
int3
call fcn.1800e7e54
int3
call fcn.180002be0
int3
call fcn.18003a418
int3
call fcn.1800e7e54
int3
call fcn.1800e7e54
int3
call fcn.180002be0
int3
call fcn.18003a418
int3
call fcn.180002be0
int3
call fcn.1800e7e54
int3
call fcn.1800e7e54
int3
call fcn.180002be0
int3
call fcn.18003a418
int3
call fcn.180002be0
int3
call fcn.1800e7e54
int3
call fcn.180002be0
int3