Function at 0x180011950
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 [0x1801630c0]
lea rdx, str.il2cpp_domain_get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_domain_get_assemblies
xor r15d, r15d
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xc8], r15
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0xc8]
mov rcx, rbx
call rax
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_domain_get_assemblies
mov rdi, rax
mov qword [rbp + 0xd8], rax
mov esi, r15d
mov dword [rbp + 0x198], r15d
mov qword [rbp + 0x1a0], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x1a0]
mov rcx, rbx
call rax
cmp qword [rbp + 0x1a0], rsi
jbe 0x180013048
mov qword [rsp + 0x258], r12
mov ebx, r15d
mov qword [rsp + 0x250], r13
mov qword [rsp + 0x248], r14
movabs r14, 0x7fffffffffffffff
mov qword [rbp + 0xb0], rbx
mov rax, qword [rdi + rbx*8]
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x1801630c0]
mov dword [rbp + 0x190], r15d
mov rdi, qword [rax]
mov qword [rbp + 0xa8], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rdi
call rax
test rax, rax
je 0x180012fa3
mov rbx, r15
nop
mov rdx, qword [rdi]
mov r8, 0xffffffffffffffff
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], 0xf
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180011a80
lea rcx, [rbp - 0x80]
call fcn.18000c7a0
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_image_get_class
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, rbx
mov rcx, rdi
call rax
mov qword [rbp + 0xa0], rax
test rax, rax
jne 0x180011aff
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x180012f63
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011af5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013029
call fcn.1800d6ce0
jmp 0x180012f63
mov r13, qword [rax + 0x10]
mov r8, 0xffffffffffffffff
mov rsi, qword [rax + 0x18]
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], 0xf
nop
inc r8
cmp byte [rsi + r8], 0
jne 0x180011b20
mov rdx, rsi
lea rcx, [rbp - 0x40]
call fcn.18000c7a0
cmp qword [rbp - 0x30], 0
mov rdx, qword [rbp - 0x28]
sete bl
cmp rdx, 0x10
jb 0x180011b79
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011b74
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013029
call fcn.1800d6ce0
mov rax, r14
test bl, bl
je 0x180011d4b
mov rsi, qword [rbp - 0x70]
sub rax, rsi
cmp rax, 2
jb 0x180013062
cmp qword [rbp - 0x68], 0x10
lea r12, [rbp - 0x80]
mov r14, qword [rbp - 0x80]
lea rdi, [rbp - 0x40]
mov qword [rbp - 0x40], r15
mov ebx, 0xf
mov qword [rbp - 0x30], r15
cmovae r12, r14
mov qword [rbp - 0x28], r15
lea r15, [rsi + 2]
cmp r15, rbx
jbe 0x180011c48
mov rbx, r15
movabs rcx, 0x7fffffffffffffff
or rbx, 0xf
cmp rbx, rcx
jbe 0x180011bed
mov rbx, rcx
movabs rax, 0x8000000000000027
jmp 0x180011c14
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180011c33
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18001305c
mov rcx, rax
call fcn.1800d6924
test rax, rax
je 0x180012ff8
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180011c44
test rcx, rcx
je 0x180011c3f
call fcn.1800d6924
jmp 0x180011c41
xor eax, eax
mov rdi, rax
mov qword [rbp - 0x40], rdi
mov r8, rsi
mov qword [rbp - 0x30], r15
mov rdx, r12
mov qword [rbp - 0x28], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov eax, 0x3a3a
mov r8, 0xffffffffffffffff
mov word [rdi + rsi], ax
mov byte [rdi + r15], 0
inc r8
cmp byte [r8 + r13], 0
jne 0x180011c73
mov rdx, r13
lea rcx, [rbp - 0x40]
call fcn.180039e40
xor r15d, r15d
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
mov rax, qword [rbp - 0x68]
movups xmmword [rbp + 0xb8], xmm0
movups xmmword [rbp + 0x40], xmm1
cmp rax, 0x10
jb 0x180011cf3
lea rdx, [rax + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x180011ce0
mov r14, qword [r14 - 8]
add rdx, 0x27
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012ff8
mov rcx, r14
call fcn.1800d6ce0
movups xmm0, xmmword [rbp + 0xb8]
movups xmm1, xmmword [rbp + 0x40]
mov rdx, qword [rbp - 0x28]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm1
cmp rdx, 0x10
jb 0x180011d36
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011d31
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012ff8
call fcn.1800d6ce0
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], r15b
jmp 0x1800120e3
mov r14, qword [rbp - 0x70]
sub rax, r14
cmp rax, 2
jb 0x180013056
cmp qword [rbp - 0x68], 0x10
lea r12, [rbp - 0x80]
mov rax, qword [rbp - 0x80]
lea rdi, [rbp + 0x80]
mov qword [rbp + 0x80], r15
mov ebx, 0xf
mov qword [rbp + 0x90], r15
cmovae r12, rax
mov qword [rbp + 0x98], r15
lea r15, [r14 + 2]
mov qword [rbp + 0x40], rax
cmp r15, rbx
jbe 0x180011e22
mov rbx, r15
movabs rcx, 0x7fffffffffffffff
or rbx, 0xf
cmp rbx, rcx
jbe 0x180011dc4
mov rbx, rcx
movabs rax, 0x8000000000000027
jmp 0x180011deb
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180011e0a
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180013068
mov rcx, rax
call fcn.1800d6924
test rax, rax
je 0x180012fff
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180011e1b
test rcx, rcx
je 0x180011e16
call fcn.1800d6924
jmp 0x180011e18
xor eax, eax
mov rdi, rax
mov qword [rbp + 0x80], rdi
mov r8, r14
mov qword [rbp + 0x90], r15
mov rdx, r12
mov qword [rbp + 0x98], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov ebx, 0x3a3a
mov r8, 0xffffffffffffffff
mov word [rdi + r14], bx
mov byte [rdi + r15], 0
inc r8
cmp byte [rsi + r8], 0
jne 0x180011e54
mov rdx, rsi
lea rcx, [rbp + 0x80]
call fcn.180039e40
xor r15d, r15d
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x38], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x30], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x30]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x180011ed2
lea rax, [rcx + 2]
cmp rdx, 0x10
mov qword [rbp + 0x30], rax
lea rax, [rbp + 0x20]
cmovae rax, qword [rbp + 0x20]
mov word [rax + rcx], bx
mov byte [rax + rcx + 2], r15b
lea rax, [rbp + 0x20]
jmp 0x180011ef0
lea r9, [0x180117994]
mov qword [rsp + 0x20], 2
mov edx, 2
lea rcx, [rbp + 0x20]
call fcn.18003bc60
mov qword [rbp], r15
mov rdi, 0xffffffffffffffff
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
inc rdi
cmp byte [rdi + r13], r15b
jne 0x180011f21
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x10]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x180011f6d
cmp rdx, 0x10
lea rax, [rdi + rcx]
lea rbx, [rbp]
mov qword [rbp + 0x10], rax
cmovae rbx, qword [rbp]
mov r8, rdi
add rbx, rcx
mov rdx, r13
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbp]
mov byte [rdi + rbx], r15b
jmp 0x180011f81
mov r9, r13
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp]
call fcn.18003bc60
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
mov rax, qword [rbp - 0x68]
movups xmmword [rbp + 0xb8], xmm0
movups xmmword [rsp + 0x40], xmm1
cmp rax, 0x10
jb 0x180011feb
mov rcx, qword [rbp + 0x40]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011fda
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012fff
call fcn.1800d6ce0
movups xmm0, xmmword [rbp + 0xb8]
movups xmm1, xmmword [rsp + 0x40]
mov rdx, qword [rbp + 0x18]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm1
cmp rdx, 0x10
jb 0x18001202e
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012029
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012fff
call fcn.1800d6ce0
mov rdx, qword [rbp + 0x38]
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], 0xf
mov byte [rbp], r15b
cmp rdx, 0x10
jb 0x180012079
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012074
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012fff
call fcn.1800d6ce0
mov rdx, qword [rbp + 0x98]
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], r15b
cmp rdx, 0x10
jb 0x1800120ca
mov rcx, qword [rbp + 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800120c5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012fff
call fcn.1800d6ce0
mov qword [rbp + 0x90], r15
mov qword [rbp + 0x98], 0xf
mov byte [rbp + 0x80], r15b
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_class_get_methods
mov qword [rbp + 0x1a8], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 0xa0]
lea rdx, [rbp + 0x1a8]
call rax
mov rbx, qword [rbp - 0x80]
mov r13, rax
mov qword [rbp + 0xb8], rbx
mov qword [rbp + 0x40], rax
test rax, rax
je 0x180012f17
mov r12, qword [rbp - 0x70]
nop dword [rax]
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_method_get_name
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
movabs rdx, 0x7fffffffffffffff
mov rsi, rax
mov rcx, rdx
sub rcx, r12
cmp rcx, 2
jb 0x1800130b0
cmp qword [rbp - 0x68], 0x10
lea r15, [rbp - 0x80]
lea r14, [r12 + 2]
cmovae r15, rbx
lea rdi, [rbp - 0x60]
xor eax, eax
mov ebx, 0xf
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
cmp r14, rbx
jbe 0x180012206
mov rbx, r14
or rbx, 0xf
cmp rbx, rdx
jbe 0x1800121af
mov rbx, rdx
movabs rax, 0x8000000000000027
jmp 0x1800121d6
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800121f5
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18001306e
mov rcx, rax
call fcn.1800d6924
test rax, rax
je 0x180013006
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180012202
test rcx, rcx
je 0x1800121ff
call fcn.1800d6924
mov rdi, rax
mov qword [rbp - 0x60], rdi
mov r8, r12
mov qword [rbp - 0x50], r14
mov rdx, r15
mov qword [rbp - 0x48], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov eax, 0x3a3a
mov r8, 0xffffffffffffffff
mov word [r12 + rdi], ax
mov byte [rdi + r14], 0
inc r8
cmp byte [rsi + r8], 0
jne 0x180012232
mov rdx, rsi
lea rcx, [rbp - 0x60]
call fcn.180039e40
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
mov rdx, qword [rbp - 0x48]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
cmp rdx, 0x10
jb 0x1800122a5
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800122a0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013006
call fcn.1800d6ce0
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_method_get_param_count
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], dil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
test eax, eax
je 0x180012b1a
mov r14, qword [rsp + 0x70]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r14
cmp rax, 1
jb 0x180013098
mov r13, qword [rsp + 0x78]
lea r12, [rsp + 0x60]
mov rsi, qword [rsp + 0x60]
lea r15, [r14 + 1]
cmp r13, 0x10
mov qword [rsp + 0x40], rdi
mov ebx, 0xf
lea rdi, [rsp + 0x40]
cmovae r12, rsi
cmp r15, rbx
jbe 0x18001239b
mov rbx, r15
or rbx, 0xf
cmp rbx, rcx
jbe 0x18001233f
mov rbx, rcx
movabs rax, 0x8000000000000027
jmp 0x180012366
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180012385
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180013074
mov rcx, rax
call fcn.1800d6924
test rax, rax
je 0x18001301b
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180012396
test rcx, rcx
je 0x180012391
call fcn.1800d6924
jmp 0x180012393
xor eax, eax
mov rdi, rax
mov qword [rsp + 0x40], rdi
mov r8, r14
mov qword [rsp + 0x50], r15
mov rdx, r12
mov qword [rsp + 0x58], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + r14], 0x28
mov byte [rdi + r15], 0
cmp r13, 0x10
jb 0x1800123f4
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1800123ec
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001301b
mov rcx, rsi
call fcn.1800d6ce0
movups xmm0, xmmword [rsp + 0x40]
mov rcx, qword [0x1801630c0]
xor esi, esi
movups xmm1, xmmword [rsp + 0x50]
lea rdx, str.il2cpp_method_get_param_count
mov r12d, esi
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, qword [rbp + 0x40]
mov rcx, r13
call rax
test eax, eax
je 0x180012814
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_method_get_param
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, r12d
mov rcx, r13
call rax
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_type_get_name
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
mov r8, 0xffffffffffffffff
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], 0xf
inc r8
cmp byte [rax + r8], 0
jne 0x180012481
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.18000c7a0
mov r15, qword [rbp - 8]
lea rsi, [rbp - 0x20]
mov r14, qword [rbp - 0x20]
cmp r15, 0x10
mov rbx, qword [rbp - 0x10]
cmovae rsi, r14
cmp rbx, 1
jb 0x1800124f4
mov r8, rbx
lea rdi, [rsi + rbx]
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1800124f4
nop
cmp byte [rax], 0x2e
je 0x180012579
inc rax
mov r8, rdi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x1800124d0
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x58], 0xf
cmp rbx, rcx
jb 0x18001308c
sub rbx, rcx
lea rax, [rbp - 0x20]
mov rdi, 0xffffffffffffffff
cmp rbx, rdi
cmovb rdi, rbx
cmp r15, 0x10
cmovae rax, r14
lea r14, [rax + rcx]
cmp rdi, 0xf
ja 0x180012581
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], 0
movabs r15, 0x7fffffffffffffff
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x40]
jmp 0x180012627
sub rax, rsi
jmp 0x1800124fb
movabs r15, 0x7fffffffffffffff
cmp rdi, r15
ja 0x180013086
mov rbx, rdi
or rbx, 0xf
cmp rbx, r15
jbe 0x1800125af
mov rbx, r15
movabs rax, 0x8000000000000027
jmp 0x1800125d6
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800125f5
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18001307a
mov rcx, rax
call fcn.1800d6924
test rax, rax
je 0x180013014
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x180012606
test rcx, rcx
je 0x180012604
call fcn.1800d6924
mov rsi, rax
jmp 0x180012606
xor esi, esi
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 byte [rsi + rdi], 0
mov qword [rsp + 0x40], rsi
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x180012662
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001265d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013014
call fcn.1800d6ce0
mov rcx, qword [rsp + 0x70]
mov rax, r15
movups xmm0, xmmword [rsp + 0x40]
sub rax, rcx
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm1
cmp rax, rdi
jb 0x180013080
cmp qword [rsp + 0x78], 0x10
lea r9, [rsp + 0x60]
mov qword [rsp + 0x30], rdi
lea rax, [rbp - 0x20]
cmovae r9, qword [rsp + 0x60]
cmp rbx, 0x10
cmovae rax, rsi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xe0]
call fcn.18000c940
mov r8d, 1
lea rdx, [0x180117998]
lea rcx, [rbp + 0xe0]
call fcn.180039e40
mov rdx, qword [rsp + 0x78]
xor esi, esi
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], sil
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rbp + 0x40], xmm1
cmp rdx, 0x10
jb 0x180012740
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012732
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001300d
call fcn.1800d6ce0
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rbp + 0x40]
mov rdx, qword [rbp + 0xf8]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
cmp rdx, 0x10
jb 0x18001278b
mov rcx, qword [rbp + 0xe0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012786
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001300d
call fcn.1800d6ce0
mov rdx, qword [rbp - 8]
mov qword [rbp + 0xf0], rsi
mov qword [rbp + 0xf8], 0xf
mov byte [rbp + 0xe0], sil
cmp rdx, 0x10
jb 0x1800127df
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800127da
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013014
call fcn.1800d6ce0
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_method_get_param_count
mov qword [rbp - 0x10], rsi
inc r12d
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], sil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
cmp r12d, eax
jb 0x180012432
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_type_get_name
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
mov r8, 0xffffffffffffffff
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], 0xf
inc r8
cmp byte [rax + r8], 0
jne 0x180012860
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.18000c7a0
mov rax, qword [rsp + 0x70]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 0xf
lea r8, [rax - 1]
cmp rax, r8
cmovb r8, rax
cmp qword [rsp + 0x78], 0x10
cmovae rdx, qword [rsp + 0x60]
call fcn.18000c7a0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800128f1
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800128ec
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001301b
call fcn.1800d6ce0
mov r15, qword [rbp - 0x48]
lea rdi, [rbp - 0x60]
movups xmm0, xmmword [rsp + 0x40]
mov r14, qword [rbp - 0x60]
cmp r15, 0x10
movups xmm1, xmmword [rsp + 0x50]
mov rbx, qword [rbp - 0x50]
cmovae rdi, r14
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
cmp rbx, 1
jb 0x180012966
mov r8, rbx
lea rsi, [rbx + rdi]
mov edx, 0x2e
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x180012964
nop dword [rax]
cmp byte [rax], 0x2e
je 0x180012b10
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x180012940
xor esi, esi
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x58], 0xf
cmp rbx, rcx
jb 0x180013092
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 + 0x40]
call fcn.18000c7a0
mov rcx, qword [rsp + 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 3
jb 0x180013098
cmp qword [rsp + 0x58], 0x10
lea rax, [0x18011799c]
mov qword [rsp + 0x30], 3
lea r9, [rsp + 0x60]
cmovae r9, qword [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x120]
call fcn.18000c940
lea r9, [rbp + 0x40]
lea r8, [rbp + 0x120]
lea rcx, [rbp + 0x100]
call fcn.18003bfd0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x180012a5a
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012a55
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001301b
call fcn.1800d6ce0
movups xmm0, xmmword [rbp + 0x100]
lea rcx, [rbp + 0x120]
movups xmm1, xmmword [rbp + 0x110]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
call fcn.18000c740
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x180012ab9
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012ab4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001301b
call fcn.1800d6ce0
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x180012af4
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012aef
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001301b
call fcn.1800d6ce0
mov r12, qword [rbp - 0x70]
xor r15d, r15d
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
jmp 0x180012d80
sub rax, rdi
xor esi, esi
jmp 0x18001296d
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_type_get_name
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
mov r8, 0xffffffffffffffff
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x70], rdi
mov qword [rbp + 0x78], 0xf
inc r8
cmp byte [rax + r8], dil
jne 0x180012b66
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.18000c7a0
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 0x180012bd8
mov r8, rbx
lea rdi, [rsi + rbx]
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x180012bd6
cmp byte [rax], 0x2e
je 0x180012e25
inc rax
mov r8, rdi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x180012bb2
xor edi, edi
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
cmp rbx, rcx
jb 0x1800130aa
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, [rsp + 0x40]
call fcn.18000c7a0
mov rcx, qword [rsp + 0x70]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 4
jb 0x1800130a4
cmp qword [rsp + 0x78], 0x10
lea rax, str.__:
mov qword [rsp + 0x30], 4
lea r9, [rsp + 0x60]
cmovae r9, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x100]
call fcn.18000c940
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x100]
lea rcx, [rbp + 0x120]
call fcn.18003bfd0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x180012cd1
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012ccc
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013022
call fcn.1800d6ce0
movups xmm0, xmmword [rbp + 0x120]
lea rcx, [rbp + 0x100]
movups xmm1, xmmword [rbp + 0x130]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
call fcn.18000c740
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x180012d32
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012d2d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013022
call fcn.1800d6ce0
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x180012d6d
mov rcx, qword [rbp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012d68
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013022
call fcn.1800d6ce0
xor r15d, r15d
mov qword [rbp + 0x78], 0xf
mov qword [rbp + 0x70], r15
mov byte [rbp + 0x60], r15b
mov r14, qword [rsp + 0x78]
lea rcx, [rsp + 0x60]
mov rsi, qword [rsp + 0x60]
cmp r14, 0x10
mov rax, 0xffffffffffffffff
cmovae rcx, rsi
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x180012da0
cmp r14, 0x10
lea rdx, [rsp + 0x60]
mov ebx, 0xffffffff
cmovae rdx, rsi
test eax, eax
je 0x180012df0
mov r8d, eax
lea r12, [0x180111250]
nop dword [rax]
movsx ecx, byte [rdx]
lea rdx, [rdx + 1]
mov eax, ebx
shr ebx, 8
xor rcx, rax
movzx eax, cl
xor ebx, dword [r12 + rax*4]
sub r8, 1
jne 0x180012dd0
mov r12, qword [rbp - 0x70]
mov rdi, qword [0x180163120]
not ebx
mov dword [rsp + 0x48], r15d
mov rcx, rdi
mov rax, qword [rdi + 8]
mov qword [rsp + 0x40], rax
cmp byte [rax + 0x19], 0
jne 0x180012e43
mov qword [rsp + 0x40], rax
cmp dword [rax + 0x20], ebx
jae 0x180012e2f
mov rax, qword [rax + 0x10]
mov dword [rsp + 0x48], r15d
jmp 0x180012e3d
sub rax, rsi
xor edi, edi
jmp 0x180012bdf
mov rcx, rax
mov dword [rsp + 0x48], 1
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180012e10
cmp byte [rcx + 0x19], 0
jne 0x180012e4e
cmp ebx, dword [rcx + 0x20]
jae 0x180012ea5
movabs rax, 0x555555555555555
cmp qword [0x180163128], rax
je 0x18001309e
mov ecx, 0x30
call fcn.1800d6924
movups xmm0, xmmword [rsp + 0x40]
mov r8, rax
lea rdx, [rsp + 0x40]
lea rcx, [0x180163120]
mov dword [rax + 0x20], ebx
mov qword [rax + 0x28], r13
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.180004fe0
cmp r14, 0x10
jb 0x180012edc
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180012ed4
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013029
mov rcx, rsi
call fcn.1800d6ce0
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_class_get_methods
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 0xa0]
lea rdx, [rbp + 0x1a8]
call rax
mov rbx, qword [rbp + 0xb8]
mov r13, rax
mov qword [rbp + 0x40], rax
test rax, rax
jne 0x180012130
mov rax, qword [rbp - 0x68]
cmp rax, 0x10
jb 0x180012f52
lea rdx, [rax + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180012f4a
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013029
mov rcx, rbx
call fcn.1800d6ce0
mov rdi, qword [rbp + 0xa8]
movabs r14, 0x7fffffffffffffff
mov ebx, dword [rbp + 0x190]
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x1801630c0]
inc ebx
mov dword [rbp + 0x190], ebx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rdi
movsxd rbx, ebx
call rax
cmp rbx, rax
jb 0x180011a60
mov rbx, qword [rbp + 0xb0]
mov esi, dword [rbp + 0x198]
mov rcx, qword [0x1801630c0]
lea rdx, str.il2cpp_domain_get_assemblies
inc esi
mov qword [rbp + 0x1a0], r15
inc rbx
mov dword [rbp + 0x198], esi
mov qword [rbp + 0xb0], rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 0xd0]
lea rdx, [rbp + 0x1a0]
call rax
movsxd rax, esi
cmp rax, qword [rbp + 0x1a0]
jae 0x180013030
mov rdi, qword [rbp + 0xd8]
jmp 0x180011a24
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
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 fcn.18000c380
int3
call fcn.1800043e0
int3
call fcn.18000c380
int3
call fcn.1800043e0
int3
call fcn.1800043e0
int3
call fcn.1800043e0
int3
call fcn.1800043e0
int3
call fcn.18000c380
int3
call fcn.18000c380
int3
call fcn.18003aa30
int3
call fcn.18003aa30
int3
call fcn.18000c380
int3
call fcn.180004480
int3
call fcn.18000c380
int3
call fcn.18003aa30
int3
call fcn.18000c380
int3