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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x198]
sub rsp, 0x298
xor r15d, r15d
mov dword [rbp + 0x1e0], r15d
lea rdx, str.il2cpp_domain_get
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rbx, rax
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x120], r15
lea rdx, str.il2cpp_domain_get_assemblies
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x120]
mov rcx, rbx
call rax
mov rdi, rax
mov qword [rbp + 0x130], rax
mov esi, r15d
mov dword [rbp + 0x1f0], r15d
mov qword [rbp + 0x1f8], r15
lea rdx, str.il2cpp_domain_get_assemblies
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x1f8]
mov rcx, rbx
call rax
cmp qword [rbp + 0x1f8], rsi
jbe 0x18006d635
mov ebx, r15d
mov qword [rbp + 0xc8], rbx
movabs r14, 0x7fffffffffffffff
nop dword [rax]
mov rax, qword [rdi + rbx*8]
mov rdi, qword [rax]
mov qword [rbp + 0xc0], rdi
mov dword [rbp + 0x1e8], r15d
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rdi
call rax
test rax, rax
je 0x18006d550
mov rbx, r15
nop word [rax + rax]
mov rdx, qword [rdi]
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x18006bf00
lea rcx, [rbp - 0x80]
call fcn.180056af0
nop
lea rdx, str.il2cpp_image_get_class
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, rbx
mov rcx, rdi
call rax
mov rcx, rax
mov qword [rbp + 0xb8], rax
test rax, rax
jne 0x18006bf83
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x18006d510
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006bf79
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d62e
call fcn.18008976c
jmp 0x18006d510
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x60], rax
mov rsi, qword [rcx + 0x18]
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], 0xf
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x18006bfa6
mov rdx, rsi
lea rcx, [rbp - 0x30]
call fcn.180056af0
cmp qword [rbp - 0x20], 0
sete bl
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x18006bfff
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006bffa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d627
call fcn.18008976c
mov rax, r14
test bl, bl
je 0x18006c208
mov rsi, qword [rbp - 0x70]
sub rax, rsi
cmp rax, 2
jb 0x18006d655
lea r12, [rbp - 0x80]
mov r14, qword [rbp - 0x80]
mov r13, qword [rbp - 0x68]
cmp r13, 0x10
cmovae r12, r14
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], r15
lea r15, [rsi + 2]
mov ebx, 0xf
lea rdi, [rbp + 0x70]
cmp r15, rbx
jbe 0x18006c0d7
mov rbx, r15
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jbe 0x18006c07c
mov rbx, rax
movabs rax, 0x8000000000000027
jmp 0x18006c0a3
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18006c0c2
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18006d64f
mov rcx, rax
call fcn.18008939c
test rax, rax
je 0x18006d5b0
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18006c0d3
test rcx, rcx
je 0x18006c0d1
call fcn.18008939c
mov rdi, rax
jmp 0x18006c0d3
xor edi, edi
mov qword [rbp + 0x70], rdi
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], rbx
mov r8, rsi
mov rdx, r12
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov eax, 0x3a3a
mov word [rdi + rsi], ax
mov byte [rdi + r15], 0
mov r12d, dword [rbp + 0x1e0]
or r12d, 1
mov r8, 0xffffffffffffffff
mov rax, qword [rbp - 0x60]
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18006c120
mov rdx, rax
lea rcx, [rbp + 0x70]
call fcn.180056c50
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xd0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x60], xmm1
xor r15d, r15d
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
or r12d, 2
mov dword [rbp + 0x1e0], r12d
cmp r13, 0x10
jb 0x18006c1a7
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x18006c194
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d5a9
mov rcx, r14
call fcn.18008976c
movups xmm0, xmmword [rbp + 0xd0]
movups xmm1, xmmword [rbp - 0x60]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm1
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x18006c1ed
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006c1e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d5b0
call fcn.18008976c
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
jmp 0x18006c592
mov r14, qword [rbp - 0x70]
sub rax, r14
cmp rax, 2
jb 0x18006d649
lea r12, [rbp - 0x80]
mov r13, qword [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae r12, r13
mov qword [rbp + 0x90], r15
mov qword [rbp + 0xa0], r15
mov qword [rbp + 0xa8], r15
lea r15, [r14 + 2]
mov ebx, 0xf
lea rdi, [rbp + 0x90]
cmp r15, rbx
jbe 0x18006c2db
mov rbx, r15
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jbe 0x18006c27d
mov rbx, rax
movabs rax, 0x8000000000000027
jmp 0x18006c2a4
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18006c2c3
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18006d65b
mov rcx, rax
call fcn.18008939c
test rax, rax
je 0x18006d5cc
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18006c2d4
test rcx, rcx
je 0x18006c2d2
call fcn.18008939c
mov rdi, rax
jmp 0x18006c2d4
xor edi, edi
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0xa0], r15
mov qword [rbp + 0xa8], rbx
mov r8, r14
mov rdx, r12
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov ebx, 0x3a3a
mov word [rdi + r14], bx
mov byte [rdi + r15], 0
mov r12d, dword [rbp + 0x1e0]
or r12d, 4
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rsi + r8], 0
jne 0x18006c320
mov rdx, rsi
lea rcx, [rbp + 0x90]
call fcn.180056c50
xor r15d, r15d
mov qword [rbp - 0x10], r15
mov qword [rbp], r15
mov qword [rbp + 8], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x18006c39e
lea rax, [rcx + 2]
mov qword [rbp], rax
lea rax, [rbp - 0x10]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x10]
mov word [rax + rcx], bx
mov byte [rax + rcx + 2], r15b
lea rax, [rbp - 0x10]
jmp 0x18006c3bc
mov qword [rsp + 0x20], 2
lea r9, [0x1800a1944]
mov edx, 2
lea rcx, [rbp - 0x10]
call fcn.180058fc0
mov qword [rbp + 0xe0], r15
mov qword [rbp + 0xf0], r15
mov qword [rbp + 0xf8], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xe0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xf0], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8, 0xffffffffffffffff
mov rax, qword [rbp - 0x60]
inc r8
cmp byte [rax + r8], 0
jne 0x18006c400
mov rdx, rax
lea rcx, [rbp + 0xe0]
call fcn.180056c50
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xd0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x60], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r12d, 0x38
mov dword [rbp + 0x1e0], r12d
mov rax, qword [rbp - 0x68]
cmp rax, 0x10
jb 0x18006c48b
lea rdx, [rax + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x18006c478
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d5b7
mov rcx, r13
call fcn.18008976c
movups xmm0, xmmword [rbp + 0xd0]
movups xmm1, xmmword [rbp - 0x60]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm1
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0x10
jb 0x18006c4d4
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006c4cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d5be
call fcn.18008976c
mov qword [rbp + 0xf0], r15
mov qword [rbp + 0xf8], 0xf
mov byte [rbp + 0xe0], 0
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x18006c528
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006c523
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d5c5
call fcn.18008976c
mov qword [rbp], r15
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x18006c579
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006c574
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d5cc
call fcn.18008976c
mov qword [rbp + 0xa0], r15
mov qword [rbp + 0xa8], 0xf
mov byte [rbp + 0x90], 0
mov qword [rbp + 0xb0], r15
lea rdx, str.il2cpp_class_get_methods
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0xb0]
mov rcx, qword [rbp + 0xb8]
call rax
mov r13, rax
mov qword [rbp - 0x60], rax
mov rbx, qword [rbp - 0x80]
mov qword [rbp + 0xd0], rbx
test rax, rax
je 0x18006d4c4
nop dword [rax + rax]
lea rdx, str.il2cpp_method_get_name
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
mov rsi, rax
movabs r8, 0x7fffffffffffffff
mov rcx, r8
mov rax, qword [rbp - 0x70]
sub rcx, rax
cmp rcx, 2
jb 0x18006d6a9
lea r15, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae r15, rbx
xor edx, edx
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], rdx
lea r14, [rax + 2]
mov ebx, 0xf
lea rdi, [rbp - 0x30]
cmp r14, rbx
jbe 0x18006c6c6
mov rbx, r14
or rbx, 0xf
cmp rbx, r8
jbe 0x18006c662
mov rbx, r8
movabs rax, 0x8000000000000027
jmp 0x18006c689
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18006c6ac
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18006d661
mov rcx, rax
call fcn.18008939c
test rax, rax
je 0x18006d5d3
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov rax, qword [rbp - 0x70]
jmp 0x18006c6c2
test rcx, rcx
je 0x18006c6bf
call fcn.18008939c
mov rdi, rax
mov rax, qword [rbp - 0x70]
jmp 0x18006c6c2
mov rdi, rdx
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], rbx
mov r8, rax
mov rdx, r15
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbp - 0x70]
mov ecx, 0x3a3a
mov word [rax + rdi], cx
mov byte [rdi + r14], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x18006c6f5
mov rdx, rsi
lea rcx, [rbp - 0x30]
call fcn.180056c50
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
xor edi, edi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x18006c768
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006c763
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d5da
call fcn.18008976c
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
lea rdx, str.il2cpp_method_get_param_count
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
test eax, eax
je 0x18006d069
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov r14, qword [rsp + 0x70]
sub rax, r14
cmp rax, 1
jb 0x18006d691
lea r12, [rsp + 0x60]
mov rsi, qword [rsp + 0x60]
mov r13, qword [rsp + 0x78]
cmp r13, 0x10
cmovae r12, rsi
mov qword [rsp + 0x40], rdi
lea r15, [r14 + 1]
mov ebx, 0xf
lea rdi, [rsp + 0x40]
cmp r15, rbx
jbe 0x18006c85e
mov rbx, r15
or rbx, 0xf
cmp rbx, rcx
jbe 0x18006c802
mov rbx, rcx
movabs rax, 0x8000000000000027
jmp 0x18006c829
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18006c848
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18006d667
mov rcx, rax
call fcn.18008939c
test rax, rax
je 0x18006d60b
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18006c859
test rcx, rcx
je 0x18006c857
call fcn.18008939c
mov rdi, rax
jmp 0x18006c859
xor edi, edi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], rbx
mov r8, r14
mov rdx, r12
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + r14], 0x28
mov byte [rdi + r15], 0
mov edi, dword [rbp + 0x1e0]
or edi, 0x1c0
mov dword [rbp + 0x1e0], edi
cmp r13, 0x10
jb 0x18006c8c9
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x18006c8c1
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d60b
mov rcx, rsi
call fcn.18008976c
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rsp + 0x70], xmm1
xor esi, esi
mov r12d, esi
lea rdx, str.il2cpp_method_get_param_count
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, qword [rbp - 0x60]
mov rcx, r13
call rax
test eax, eax
je 0x18006cd13
mov dword [rbp + 0x1e0], edi
nop dword [rax]
lea rdx, str.il2cpp_method_get_param
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, r12d
mov rcx, r13
call rax
mov rbx, rax
lea rdx, str.il2cpp_type_get_name
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x18006c963
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.180056af0
nop
lea rsi, [rbp - 0x50]
mov r14, qword [rbp - 0x50]
mov r15, qword [rbp - 0x38]
cmp r15, 0x10
cmovae rsi, r14
mov rbx, qword [rbp - 0x40]
cmp rbx, 1
jb 0x18006c9e2
lea rdi, [rsi + rbx]
mov r8, rbx
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x18006c9e2
cmp byte [rax], 0x2e
jne 0x18006c9ba
xor ecx, ecx
jmp 0x18006c9bf
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x18006ca67
inc rax
mov r8, rdi
sub r8, rax
mov edx, 0x2e
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18006c9b1
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x58], 0xf
cmp rbx, rcx
jb 0x18006d67f
sub rbx, rcx
mov rdi, 0xffffffffffffffff
cmp rbx, rdi
cmovb rdi, rbx
lea rax, [rbp - 0x50]
cmp r15, 0x10
cmovae rax, r14
lea r14, [rax + rcx]
cmp rdi, 0xf
ja 0x18006ca6f
mov qword [rsp + 0x50], rdi
mov r8, rdi
mov rdx, r14
lea rcx, [rsp + 0x40]
call sub.VCRUNTIME140.dll_memmove
mov byte [rsp + rdi + 0x40], 0
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x40]
movabs r15, 0x7fffffffffffffff
jmp 0x18006cb15
sub rax, rsi
jmp 0x18006c9e9
movabs r15, 0x7fffffffffffffff
cmp rdi, r15
ja 0x18006d679
mov rbx, rdi
or rbx, 0xf
cmp rbx, r15
jbe 0x18006ca9d
mov rbx, r15
movabs rax, 0x8000000000000027
jmp 0x18006cac4
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18006cae3
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18006d66d
mov rcx, rax
call fcn.18008939c
test rax, rax
je 0x18006d5e1
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x18006caf4
test rcx, rcx
je 0x18006caf2
call fcn.18008939c
mov rsi, rax
jmp 0x18006caf4
xor esi, esi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rbx
mov r8, rdi
mov rdx, r14
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rdi], 0
mov qword [rsp + 0x40], rsi
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x18006cb50
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006cb4b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d5e1
call fcn.18008976c
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rbp - 0x40], xmm1
mov rax, r15
mov rcx, qword [rsp + 0x70]
sub rax, rcx
cmp rax, rdi
jb 0x18006d673
lea r9, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae r9, qword [rsp + 0x60]
lea rax, [rbp - 0x50]
cmp rbx, 0x10
cmovae rax, rsi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x138]
call fcn.180059150
nop
mov r8d, 1
lea rdx, [0x1800a1948]
lea rcx, [rbp + 0x138]
call fcn.180056c50
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x100], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x40], xmm1
xor esi, esi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], sil
or dword [rbp + 0x1e0], 0xe00
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18006cc3f
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006cc2e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d5e8
call fcn.18008976c
movups xmm0, xmmword [rbp + 0x100]
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
mov rdx, qword [rbp + 0x150]
cmp rdx, 0x10
jb 0x18006cc8a
inc rdx
mov rcx, qword [rbp + 0x138]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006cc85
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d5ef
call fcn.18008976c
mov qword [rbp + 0x148], rsi
mov qword [rbp + 0x150], 0xf
mov byte [rbp + 0x138], 0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x18006ccde
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006ccd9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d5f6
call fcn.18008976c
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
inc r12d
lea rdx, str.il2cpp_method_get_param_count
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
cmp r12d, eax
jb 0x18006c910
lea rdx, str.il2cpp_method_get_return_type
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
mov rbx, rax
lea rdx, str.il2cpp_type_get_name
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
mov qword [rbp + 0x10], rsi
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x18006cd63
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.180056af0
nop
mov rax, qword [rsp + 0x70]
lea r8, [rax - 1]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 0xf
cmp rax, r8
cmovb r8, rax
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.180056af0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18006cdf5
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006cdf0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d604
call fcn.18008976c
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rsp + 0x70], xmm1
lea rdi, [rbp + 0x10]
mov r14, qword [rbp + 0x10]
mov r15, qword [rbp + 0x28]
cmp r15, 0x10
cmovae rdi, r14
mov rbx, qword [rbp + 0x20]
cmp rbx, 1
jb 0x18006ce73
lea rsi, [rbx + rdi]
mov r8, rbx
mov edx, 0x2e
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x18006ce71
cmp byte [rax], 0x2e
jne 0x18006ce49
xor ecx, ecx
jmp 0x18006ce4e
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x18006d05f
inc rax
mov r8, rsi
sub r8, rax
mov edx, 0x2e
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18006ce40
xor esi, esi
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rbp + 0x100], rsi
mov qword [rbp + 0x110], rsi
mov qword [rbp + 0x118], 0xf
mov byte [rbp + 0x100], 0
cmp rbx, rcx
jb 0x18006d68b
sub rbx, rcx
mov r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
lea rdx, [rbp + 0x10]
cmp r15, 0x10
cmovae rdx, r14
add rdx, rcx
lea rcx, [rbp + 0x100]
call fcn.180056af0
nop
movabs rax, 0x7fffffffffffffff
mov rcx, qword [rsp + 0x50]
sub rax, rcx
cmp rax, 3
jb 0x18006d685
lea r9, [rsp + 0x60]
cmp qword [rsp + 0x58], 0x10
cmovae r9, qword [rsp + 0x40]
mov qword [rsp + 0x30], 3
lea rax, [0x1800a194c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x168]
call fcn.180059150
nop
lea r9, [rbp + 0x100]
lea r8, [rbp + 0x168]
lea rcx, [rbp + 0x50]
call fcn.180082a40
mov r12d, dword [rbp + 0x1e0]
or r12d, 0xf000
mov dword [rbp + 0x1e0], r12d
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18006cf91
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006cf8c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d5fd
call fcn.18008976c
movups xmm0, xmmword [rbp + 0x50]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rbp + 0x60]
movups xmmword [rsp + 0x70], xmm1
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
lea rcx, [rbp + 0x50]
call fcn.180056a50
nop
lea rcx, [rbp + 0x168]
call fcn.180056a50
nop
mov rdx, qword [rbp + 0x118]
cmp rdx, 0x10
jb 0x18006d00c
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006d006
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d604
call fcn.18008976c
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x18006d047
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006d042
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d60b
call fcn.18008976c
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], 0
xor r15d, r15d
jmp 0x18006d312
sub rax, rdi
xor esi, esi
jmp 0x18006ce7a
lea rdx, str.il2cpp_method_get_return_type
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r13
call rax
mov rbx, rax
lea rdx, str.il2cpp_type_get_name
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18006d0c0
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.180056af0
nop
lea rsi, [rbp + 0x30]
mov r14, qword [rbp + 0x30]
mov r15, qword [rbp + 0x48]
cmp r15, 0x10
cmovae rsi, r14
mov rdi, qword [rbp + 0x40]
cmp rdi, 1
jb 0x18006d141
lea rbx, [rsi + rdi]
mov r8, rdi
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x18006d141
nop
cmp byte [rax], 0x2e
jne 0x18006d119
xor ecx, ecx
jmp 0x18006d11e
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x18006d3b6
inc rax
mov r8, rbx
sub r8, rax
mov edx, 0x2e
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18006d110
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], al
cmp rdi, rcx
jb 0x18006d6a3
sub rdi, rcx
mov r8, 0xffffffffffffffff
cmp rdi, r8
cmovb r8, rdi
lea rdx, [rbp + 0x30]
cmp r15, 0x10
cmovae rdx, r14
add rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.180056af0
nop
movabs rax, 0x7fffffffffffffff
mov rcx, qword [rsp + 0x70]
sub rax, rcx
cmp rax, 4
jb 0x18006d69d
lea r9, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae r9, qword [rsp + 0x60]
mov qword [rsp + 0x30], 4
lea rax, str.__:
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x168]
call fcn.180059150
nop
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x168]
lea rcx, [rbp + 0x50]
call fcn.180082a40
or r12d, 0x700c0
mov dword [rbp + 0x1e0], r12d
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18006d24d
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006d248
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d612
call fcn.18008976c
movups xmm0, xmmword [rbp + 0x50]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rbp + 0x60]
movups xmmword [rsp + 0x70], xmm1
xor r15d, r15d
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], r15b
lea rcx, [rbp + 0x50]
call fcn.180056a50
nop
lea rcx, [rbp + 0x168]
call fcn.180056a50
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18006d2c7
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006d2c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d619
call fcn.18008976c
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x18006d302
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006d2fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d620
call fcn.18008976c
mov qword [rbp + 0x40], r15
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
lea rcx, [rsp + 0x60]
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x78]
cmp r14, 0x10
cmovae rcx, rsi
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x18006d330
lea rdx, [rsp + 0x60]
cmp r14, 0x10
cmovae rdx, rsi
mov ebx, 0xffffffff
test eax, eax
je 0x18006d381
mov r8d, eax
lea r13, [0x180096f80]
nop dword [rax]
movsx ecx, byte [rdx]
mov eax, ebx
xor rcx, rax
movzx eax, cl
shr ebx, 8
xor ebx, dword [r13 + rax*4]
lea rdx, [rdx + 1]
sub r8, 1
jne 0x18006d360
mov r13, qword [rbp - 0x60]
not ebx
mov rdi, qword [0x1800f8a50]
mov rax, qword [rdi + 8]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], r15d
mov rcx, rdi
cmp byte [rax + 0x19], 0
jne 0x18006d3d2
mov qword [rsp + 0x40], rax
cmp dword [rax + 0x20], ebx
jae 0x18006d3be
mov dword [rsp + 0x48], r15d
mov rax, qword [rax + 0x10]
jmp 0x18006d3cc
sub rax, rsi
jmp 0x18006d148
mov dword [rsp + 0x48], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x18006d3a1
cmp byte [rcx + 0x19], 0
jne 0x18006d3dd
cmp ebx, dword [rcx + 0x20]
jae 0x18006d452
movabs rax, 0x555555555555555
cmp qword [0x1800f8a58], rax
je 0x18006d697
lea rax, [0x1800f8a50]
mov qword [rbp + 0x158], rax
mov qword [rbp + 0x160], r15
mov ecx, 0x30
call fcn.18008939c
nop
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
mov qword [rbp + 0x160], r15
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm0
mov r8, rax
lea rdx, [rsp + 0x40]
lea rcx, [0x1800f8a50]
call fcn.18002d980
nop
cmp r14, 0x10
jb 0x18006d489
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x18006d481
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d627
mov rcx, rsi
call fcn.18008976c
lea rdx, str.il2cpp_class_get_methods
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0xb0]
mov rcx, qword [rbp + 0xb8]
call rax
mov r13, rax
mov qword [rbp - 0x60], rax
test rax, rax
mov rbx, qword [rbp + 0xd0]
jne 0x18006c5e0
mov rax, qword [rbp - 0x68]
cmp rax, 0x10
jb 0x18006d4ff
lea rdx, [rax + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18006d4f7
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006d62e
mov rcx, rbx
call fcn.18008976c
movabs r14, 0x7fffffffffffffff
mov rdi, qword [rbp + 0xc0]
mov ebx, dword [rbp + 0x1e8]
inc ebx
mov dword [rbp + 0x1e8], ebx
lea rdx, str.il2cpp_image_get_class_count
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movsxd rbx, ebx
mov rcx, rdi
call rax
cmp rbx, rax
jb 0x18006bee0
mov rbx, qword [rbp + 0xc8]
mov esi, dword [rbp + 0x1f0]
inc esi
mov dword [rbp + 0x1f0], esi
inc rbx
mov qword [rbp + 0xc8], rbx
mov qword [rbp + 0x1f8], r15
lea rdx, str.il2cpp_domain_get_assemblies
mov rcx, qword [0x1800f8a28]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x1f8]
mov rcx, qword [rbp + 0x128]
call rax
movsxd rax, esi
cmp rax, qword [rbp + 0x1f8]
jae 0x18006d635
mov rdi, qword [rbp + 0x130]
jmp 0x18006bea0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
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]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
add rsp, 0x298
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180044ef0
nop
call fcn.180011b40
int3
call fcn.180044ef0
int3
call fcn.180011b40
int3
call fcn.180011b40
nop
call fcn.180011b40
nop
call fcn.180011b40
int3
call fcn.180044ef0
int3
call fcn.180044ef0
int3
call fcn.1800592d0
nop
call fcn.180044ef0
nop
call fcn.1800592d0
nop
call fcn.180044ef0
int3
call fcn.180011be0
nop
call fcn.180044ef0
nop
call fcn.1800592d0
nop
call fcn.180044ef0
int3