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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r15
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov rcx, qword [0x1801465e0]
lea rdx, str.il2cpp_domain_get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rcx, qword [0x1801465e0]
lea rdx, str.il2cpp_domain_get_assemblies
xor r15d, r15d
mov qword [rbp + 0xf8], rax
mov qword [rbp + 0xe0], r15
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0xe0]
mov rcx, rbx
call rax
mov rcx, qword [0x1801465e0]
lea rdx, str.il2cpp_domain_get_assemblies
mov rsi, rax
mov qword [rbp + 0xf0], rax
mov edi, r15d
mov dword [rbp + 0x1a0], r15d
mov qword [rbp + 0x1a8], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x1a8]
mov rcx, rbx
call rax
cmp qword [rbp + 0x1a8], rdi
jbe 0x18000af83
mov qword [rsp + 0x258], r12
mov ebx, r15d
mov qword [rsp + 0x250], r13
mov qword [rsp + 0x248], r14
mov qword [rbp + 0x98], rbx
nop word [rax + rax]
mov rax, qword [rsi + rbx*8]
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x1801465e0]
mov dword [rbp + 0x198], r15d
mov r14, qword [rax]
mov qword [rbp + 0xe8], r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r14
call rax
test rax, rax
je 0x18000af1b
xor edi, edi
mov ebx, edi
nop dword [rax + rax]
mov rdx, qword [r14]
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rdi
mov r8, 0xffffffffffffffff
mov qword [rbp - 0x48], rdi
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180009c80
lea rcx, [rbp - 0x60]
call fcn.1800317e0
mov rcx, qword [0x1801465e0]
lea rdx, str.il2cpp_image_get_class
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, rbx
mov rcx, r14
call rax
mov qword [rbp + 0x88], rax
mov r13, rax
test rax, rax
je 0x18000ae9d
mov rdi, qword [rax + 0x10]
xor r12d, r12d
mov rbx, qword [rax + 0x18]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r12
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x78], r12
inc r8
cmp byte [rbx + r8], r12b
jne 0x180009ce6
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.1800317e0
cmp qword [rsp + 0x70], r12
mov r8, qword [rsp + 0x78]
sete sil
cmp r8, 0xf
jbe 0x180009d1a
mov rdx, qword [rsp + 0x60]
call fcn.1800308b0
mov rcx, qword [rbp - 0x50]
test sil, sil
movabs rsi, 0x7fffffffffffffff
mov rax, rsi
je 0x180009e3c
sub rax, rcx
cmp rax, 2
jb 0x18000afd5
cmp qword [rbp - 0x48], 0xf
lea rax, [0x18010a69c]
mov qword [rsp + 0x30], 2
lea r9, [rbp - 0x60]
cmova r9, qword [rbp - 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x100]
call fcn.180031e20
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdi + r8], r12b
jne 0x180009d80
mov rdx, rdi
lea rcx, [rbp + 0x100]
call fcn.18002fe40
mov rdx, qword [rbp - 0x48]
xor edi, edi
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rbp - 0x20], xmm1
cmp rdx, 0xf
jbe 0x180009dfd
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009def
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000af91
call fcn.1800cbd2c
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rbp - 0x20]
mov r8, qword [rbp + 0x118]
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm1
cmp r8, 0xf
jbe 0x180009e1e
mov rdx, qword [rbp + 0x100]
call fcn.1800308b0
mov qword [rbp + 0x110], rdi
mov qword [rbp + 0x118], 0xf
mov byte [rbp + 0x100], dil
jmp 0x18000a051
sub rax, rcx
cmp rax, 2
jb 0x18000afcf
cmp qword [rbp - 0x48], 0xf
lea rax, [0x18010a69c]
mov qword [rsp + 0x30], 2
lea r9, [rbp - 0x60]
cmova r9, qword [rbp - 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x120]
call fcn.180031e20
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], r12b
jne 0x180009e84
mov rdx, rbx
lea rcx, [rbp + 0x120]
call fcn.18002fe40
mov qword [rbp + 0xd0], r12
lea rdx, [0x18010a69c]
mov qword [rbp + 0xd8], r12
lea rcx, [rbp + 0xc0]
xorps xmm0, xmm0
mov r8d, 2
movups xmmword [rbp + 0xc0], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xc0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xd0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], r12b
call fcn.18002fe40
mov qword [rbp + 0xb0], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb8], r12
mov r8, 0xffffffffffffffff
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xa0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xb0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], r12b
inc r8
cmp byte [rdi + r8], r12b
jne 0x180009f34
mov rdx, rdi
lea rcx, [rbp + 0xa0]
call fcn.18002fe40
mov rdx, qword [rbp - 0x48]
xor edi, edi
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rbp - 0x20], xmm1
cmp rdx, 0xf
jbe 0x180009fb1
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009fa3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000af98
call fcn.1800cbd2c
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rbp - 0x20]
mov r8, qword [rbp + 0xb8]
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm1
cmp r8, 0xf
jbe 0x180009fd2
mov rdx, qword [rbp + 0xa0]
call fcn.1800308b0
mov rdx, qword [rbp + 0xd8]
mov qword [rbp + 0xb0], rdi
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], dil
cmp rdx, 0xf
jbe 0x18000a02c
mov rcx, qword [rbp + 0xc0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000a027
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000af98
call fcn.1800cbd2c
lea rcx, [rbp + 0x120]
mov qword [rbp + 0xd0], rdi
mov qword [rbp + 0xd8], 0xf
mov byte [rbp + 0xc0], dil
call fcn.18002fec0
mov rcx, qword [0x1801465e0]
lea rdx, str.il2cpp_class_get_methods
mov qword [rbp + 0x90], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x90]
mov rcx, r13
call rax
mov qword [rbp + 0x40], rax
mov r12, rax
test rax, rax
je 0x18000ae9d
nop dword [rax + rax]
mov rcx, qword [0x1801465e0]
lea rdx, str.il2cpp_method_get_name
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
mov rbx, rax
mov rcx, rsi
mov rax, qword [rbp - 0x50]
sub rcx, rax
cmp rcx, 2
jb 0x18000afc9
cmp qword [rbp - 0x48], 0xf
lea rcx, [0x18010a69c]
mov qword [rsp + 0x30], 2
lea r9, [rbp - 0x60]
cmova r9, qword [rbp - 0x60]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.180031e20
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x18000a100
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.18002fe40
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm0, xmmword [rax + 0x10]
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x78]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rbp - 0x70], xmm0
cmp rdx, 0xf
jbe 0x18000a177
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000a172
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000af9f
call fcn.1800cbd2c
mov rcx, qword [0x1801465e0]
lea rdx, str.il2cpp_method_get_param_count
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
test eax, eax
je 0x18000aa7f
mov rcx, qword [rsp + 0x40]
mov rax, rsi
sub rax, rcx
cmp rax, 1
jb 0x18000aff9
cmp qword [rbp - 0x68], 0xf
lea rax, [0x18010a6a0]
mov qword [rsp + 0x30], 1
lea r9, [rbp - 0x80]
cmova r9, qword [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.180031e20
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x18000a22c
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000a227
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afb4
call fcn.1800cbd2c
movups xmm0, xmmword [rbp - 0x40]
mov rcx, qword [0x1801465e0]
lea rdx, str.il2cpp_method_get_param_count
mov ebx, edi
movups xmmword [rbp - 0x20], xmm0
mov dword [rbp + 0x190], ebx
movups xmmword [rbp - 0x80], xmm0
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rbp - 0x70], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
test eax, eax
je 0x18000a692
nop
mov rcx, qword [0x1801465e0]
lea rdx, str.il2cpp_method_get_param
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, ebx
mov rcx, r12
call rax
mov rcx, qword [0x1801465e0]
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], rdi
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x38], rdi
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18000a2c0
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.1800317e0
mov r15, qword [rbp + 0x38]
lea rsi, [rbp + 0x20]
mov r14, qword [rbp + 0x20]
cmp r15, 0xf
mov rbx, qword [rbp + 0x30]
cmova rsi, r14
cmp rbx, 1
jb 0x18000a336
mov r8, rbx
lea rdi, [rbx + rsi]
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x18000a334
nop dword [rax]
cmp byte [rax], 0x2e
je 0x18000a477
inc rax
mov r8, rdi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000a310
xor edi, edi
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], rdi
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
cmp rbx, rcx
jb 0x18000afe7
sub rbx, rcx
lea rdx, [rbp + 0x20]
mov r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
cmp r15, 0xf
cmova rdx, r14
add rdx, rcx
lea rcx, [rbp - 0x40]
call fcn.1800317e0
mov rdx, qword [rbp + 0x38]
cmp rdx, 0xf
jbe 0x18000a3bd
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000a3b8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afad
call fcn.1800cbd2c
movups xmm0, xmmword [rbp - 0x30]
movabs r9, 0x7fffffffffffffff
movups xmm2, xmmword [rsp + 0x40]
mov rax, r9
movups xmm1, xmmword [rbp - 0x40]
movq r14, xmm2
movq r12, xmm0
sub rax, r14
movups xmmword [rbp + 0x20], xmm1
movups xmmword [rbp + 0x30], xmm0
cmp rax, r12
jb 0x18000afe1
mov rsi, qword [rbp - 0x20]
lea rdx, [rbp - 0x80]
psrldq xmm0, 8
lea r8, [rbp + 0x20]
movq rax, xmm0
psrldq xmm2, 8
movq r13, xmm2
mov qword [rbp + 0x10], rdi
cmp r13, 0xf
mov qword [rbp + 0x18], rdi
movq rcx, xmm1
lea r15, [r12 + r14]
cmova rdx, rsi
lea rdi, [rbp]
cmp rax, 0xf
mov qword [rbp - 0x20], rdx
mov ebx, 0xf
xorps xmm0, xmm0
cmova r8, rcx
mov qword [rsp + 0x40], r8
movups xmmword [rbp], xmm0
cmp r15, rbx
jbe 0x18000a4e4
mov rbx, r15
or rbx, 0xf
cmp rbx, r9
jbe 0x18000a481
movabs rax, 0x8000000000000000
mov rbx, r9
add rax, 0x27
jmp 0x18000a4a8
sub rax, rsi
xor edi, edi
jmp 0x18000a33d
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18000a4cb
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18000afdb
mov rcx, rax
call fcn.1800cb980
test rax, rax
je 0x18000afa6
mov rdx, qword [rbp - 0x20]
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18000a4e0
test rcx, rcx
je 0x18000a4de
call fcn.1800cb980
mov rdx, qword [rbp - 0x20]
mov rdi, rax
jmp 0x18000a4e0
xor edi, edi
mov qword [rbp], rdi
mov r8, r14
mov qword [rbp + 0x10], r15
mov rcx, rdi
mov qword [rbp + 0x18], rbx
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x40]
lea rcx, [r14 + rdi]
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + r15], 0
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x10]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x18000a542
lea rax, [rcx + 1]
cmp rdx, 0xf
mov qword [rbp + 0x10], rax
lea rax, [rbp]
cmova rax, qword [rbp]
mov word [rax + rcx], 0x2c
lea rax, [rbp]
jmp 0x18000a560
lea r9, [0x18010a6a4]
mov qword [rsp + 0x20], 1
mov edx, 1
lea rcx, [rbp]
call fcn.180031650
movups xmm0, xmmword [rax]
xor edi, edi
movups xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rax + 0x10]
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
movups xmmword [rsp + 0x40], xmm0
cmp r13, 0xf
jbe 0x18000a5bd
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x18000a5b0
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afa6
mov rcx, rsi
call fcn.1800cbd2c
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rbp - 0x20]
mov rdx, qword [rbp + 0x18]
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x80], xmm1
cmp rdx, 0xf
jbe 0x18000a604
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000a5ff
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afa6
call fcn.1800cbd2c
mov rdx, qword [rbp + 0x38]
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x18], 0xf
mov byte [rbp], dil
cmp rdx, 0xf
jbe 0x18000a64f
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000a64a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afad
call fcn.1800cbd2c
mov ebx, dword [rbp + 0x190]
lea rdx, str.il2cpp_method_get_param_count
mov rcx, qword [0x1801465e0]
inc ebx
mov dword [rbp + 0x190], ebx
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], dil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, qword [rbp + 0x40]
mov rcx, r12
call rax
cmp ebx, eax
jb 0x18000a270
mov rcx, qword [0x1801465e0]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
mov rcx, qword [0x1801465e0]
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 + 0x58], rdi
movups xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x60], rdi
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18000a6e0
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.1800317e0
mov rax, qword [rbp - 0x70]
lea rdx, [rbp - 0x80]
xorps xmm0, xmm0
mov qword [rsp + 0x70], rdi
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x78], rdi
movups xmmword [rsp + 0x60], xmm0
lea r8, [rax - 1]
cmp rax, r8
cmovb r8, rax
cmp qword [rbp - 0x68], 0xf
cmova rdx, qword [rbp - 0x80]
call fcn.1800317e0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x18000a76a
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000a765
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afb4
call fcn.1800cbd2c
movups xmm0, xmmword [rsp + 0x60]
mov r15, qword [rbp + 0x60]
lea rbx, [rbp + 0x48]
mov r14, qword [rbp + 0x48]
cmp r15, 0xf
mov rdi, qword [rbp + 0x58]
movups xmmword [rbp - 0x80], xmm0
cmova rbx, r14
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rbp - 0x70], xmm0
cmp rdi, 1
jb 0x18000a7e4
mov r8, rdi
lea rsi, [rdi + rbx]
mov edx, 0x2e
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x18000a7e4
nop dword [rax + rax]
cmp byte [rax], 0x2e
je 0x18000a8af
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000a7c0
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
movups xmmword [rbp - 0x40], xmm0
cmp rdi, rcx
jb 0x18000aff3
sub rdi, rcx
lea rdx, [rbp + 0x48]
mov r8, 0xffffffffffffffff
cmp rdi, r8
cmovb r8, rdi
cmp r15, 0xf
cmova rdx, r14
add rdx, rcx
lea rcx, [rbp - 0x40]
call fcn.1800317e0
movups xmm0, xmmword [rsp + 0x40]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
movq r13, xmm0
sub rax, r13
cmp rax, 3
jb 0x18000aff9
mov rsi, qword [rsp + 0x60]
lea r12, [rbp - 0x80]
psrldq xmm0, 8
lea r14, [r13 + 3]
movq r15, xmm0
lea rdi, [rsp + 0x60]
cmp r15, 0xf
mov ebx, 0xf
xorps xmm0, xmm0
cmova r12, rsi
movups xmmword [rsp + 0x60], xmm0
cmp r14, rbx
jbe 0x18000a913
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x18000a8b7
movabs rax, 0x8000000000000000
mov rbx, rcx
add rax, 0x27
jmp 0x18000a8de
sub rax, rbx
jmp 0x18000a7eb
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18000a8fd
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18000afed
mov rcx, rax
call fcn.1800cb980
test rax, rax
je 0x18000afb4
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18000a90e
test rcx, rcx
je 0x18000a90c
call fcn.1800cb980
mov rdi, rax
jmp 0x18000a90e
xor edi, edi
mov qword [rsp + 0x60], rdi
mov r8, r13
mov qword [rsp + 0x70], r14
mov rdx, r12
mov qword [rsp + 0x78], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [0x18010a6a8]
lea r9, [rbp - 0x40]
mov word [rdi + r13], ax
lea r8, [rsp + 0x60]
movzx eax, byte [0x18010a6aa]
lea rcx, [rbp - 0x20]
mov byte [rdi + r13 + 2], al
mov byte [rdi + r14], 0
call fcn.180031c20
cmp r15, 0xf
jbe 0x18000a990
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x18000a988
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afb4
mov rcx, rsi
call fcn.1800cbd2c
movups xmm0, xmmword [rbp - 0x20]
mov rdx, qword [rsp + 0x78]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x70], xmm0
cmp rdx, 0xf
jbe 0x18000a9e6
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000a9e1
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afb4
call fcn.1800cbd2c
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x18000aa21
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000aa1c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afb4
call fcn.1800cbd2c
mov rdx, qword [rbp + 0x60]
cmp rdx, 0xf
jbe 0x18000aa5c
mov rcx, qword [rbp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000aa57
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afb4
call fcn.1800cbd2c
mov r12, qword [rbp + 0x40]
xor r9d, r9d
mov r13, qword [rbp + 0x88]
mov qword [rbp + 0x58], r9
mov byte [rbp + 0x48], r9b
mov qword [rbp + 0x60], 0xf
jmp 0x18000acea
mov rcx, qword [0x1801465e0]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
mov rcx, qword [0x1801465e0]
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 + 0x78], rdi
movups xmmword [rbp + 0x68], xmm0
mov qword [rbp + 0x80], rdi
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18000aad0
mov rdx, rax
lea rcx, [rbp + 0x68]
call fcn.1800317e0
mov r15, qword [rbp + 0x80]
lea rsi, [rbp + 0x68]
mov r14, qword [rbp + 0x68]
cmp r15, 0xf
mov rbx, qword [rbp + 0x78]
cmova rsi, r14
cmp rbx, 1
jb 0x18000ab46
mov r8, rbx
lea rdi, [rsi + rbx]
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x18000ab44
cmp byte [rax], 0x2e
je 0x18000ad99
inc rax
mov r8, rdi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000ab20
xor edi, edi
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], rdi
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
cmp rbx, rcx
jb 0x18000b00b
sub rbx, rcx
lea rdx, [rbp + 0x68]
mov r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
cmp r15, 0xf
cmova rdx, r14
add rdx, rcx
lea rcx, [rbp - 0x40]
call fcn.1800317e0
mov rcx, qword [rsp + 0x40]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 4
jb 0x18000b005
cmp qword [rbp - 0x68], 0xf
lea rax, str.__:
mov qword [rsp + 0x30], 4
lea r9, [rbp - 0x80]
cmova r9, qword [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x60]
call fcn.180031e20
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x60]
lea rcx, [rbp - 0x20]
call fcn.180031c20
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x18000ac2d
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000ac28
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afbb
call fcn.1800cbd2c
movups xmm0, xmmword [rbp - 0x20]
mov r8, qword [rsp + 0x78]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x70], xmm0
cmp r8, 0xf
jbe 0x18000ac5b
mov rdx, qword [rsp + 0x60]
call fcn.1800308b0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x18000ac96
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000ac91
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afbb
call fcn.1800cbd2c
mov rdx, qword [rbp + 0x80]
cmp rdx, 0xf
jbe 0x18000acd4
mov rcx, qword [rbp + 0x68]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000accf
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afbb
call fcn.1800cbd2c
mov qword [rbp + 0x78], rdi
xor r9d, r9d
mov qword [rbp + 0x80], 0xf
mov byte [rbp + 0x68], 0
movups xmm0, xmmword [rbp - 0x20]
mov rsi, qword [rsp + 0x40]
lea rcx, [rbp - 0x80]
mov rax, 0xffffffffffffffff
psrldq xmm0, 8
movq r14, xmm0
cmp r14, 0xf
cmova rcx, rsi
inc rax
cmp byte [rcx + rax], 0
jne 0x18000ad10
cmp r14, 0xf
lea rdx, [rbp - 0x80]
mov ebx, 0xffffffff
cmova rdx, rsi
test eax, eax
je 0x18000ad64
mov r8d, eax
lea r13, [0x180104ff0]
nop dword [rax + rax]
movsx ecx, byte [rdx]
lea rdx, [rdx + 1]
mov eax, ebx
shr ebx, 8
xor rcx, rax
movzx eax, cl
xor ebx, dword [r13 + rax*4]
sub r8, 1
jne 0x18000ad40
mov r13, qword [rbp + 0x88]
mov rdi, qword [0x180146638]
not ebx
mov dword [rsp + 0x48], r9d
mov rcx, rdi
mov rax, qword [rdi + 8]
mov qword [rsp + 0x40], rax
cmp byte [rax + 0x19], 0
jne 0x18000adb7
mov qword [rsp + 0x40], rax
cmp dword [rax + 0x20], ebx
jae 0x18000ada3
mov rax, qword [rax + 0x10]
mov dword [rsp + 0x48], r9d
jmp 0x18000adb1
sub rax, rsi
xor edi, edi
jmp 0x18000ab4d
mov rcx, rax
mov dword [rsp + 0x48], 1
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x18000ad84
cmp byte [rcx + 0x19], 0
jne 0x18000adc2
cmp ebx, dword [rcx + 0x20]
jae 0x18000ae19
movabs rax, 0x555555555555555
cmp qword [0x180146640], rax
je 0x18000afff
mov ecx, 0x30
call fcn.1800cb980
movups xmm0, xmmword [rsp + 0x40]
mov r8, rax
lea rdx, [rsp + 0x40]
lea rcx, [0x180146638]
mov dword [rax + 0x20], ebx
mov qword [rax + 0x28], r12
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movaps xmmword [rsp + 0x40], xmm0
call fcn.180004ae0
cmp r14, 0xf
jbe 0x18000ae50
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x18000ae48
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afc2
mov rcx, rsi
call fcn.1800cbd2c
mov rcx, qword [0x1801465e0]
lea rdx, str.il2cpp_class_get_methods
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x90]
mov rcx, r13
call rax
mov qword [rbp + 0x40], rax
mov r12, rax
mov edi, 0
movabs rsi, 0x7fffffffffffffff
test rax, rax
jne 0x18000a090
mov r14, qword [rbp + 0xe8]
mov r15d, dword [rbp + 0x198]
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x18000aed8
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000aed3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000afc2
call fcn.1800cbd2c
mov rcx, qword [0x1801465e0]
lea rdx, str.il2cpp_image_get_class_count
inc r15d
mov dword [rbp + 0x198], r15d
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r14
movsxd rbx, r15d
call rax
cmp rbx, rax
jb 0x180009c60
mov rbx, qword [rbp + 0x98]
mov edi, dword [rbp + 0x1a0]
mov rsi, qword [rbp + 0xf0]
mov rcx, qword [0x1801465e0]
lea rdx, str.il2cpp_domain_get_assemblies
inc edi
inc rbx
xor r15d, r15d
mov dword [rbp + 0x1a0], edi
mov qword [rbp + 0x98], rbx
mov qword [rbp + 0x1a8], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 0xf8]
lea rdx, [rbp + 0x1a8]
call rax
movsxd rax, edi
cmp rax, qword [rbp + 0x1a8]
jb 0x180009c20
mov r13, qword [rsp + 0x250]
mov r12, qword [rsp + 0x258]
mov r14, qword [rsp + 0x248]
add rsp, 0x260
pop r15
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
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 fcn.180004f20
int3
call fcn.180004f20
int3
call fcn.180004f20
int3
call fcn.180003ef0
int3
call fcn.180004f20
int3
call fcn.1800308f0
int3
call fcn.180003ef0
int3
call fcn.1800308f0
int3
call fcn.180004f20
int3
call fcn.180003f90
int3
call fcn.180004f20
int3
call fcn.1800308f0
int3