Function at 0x180010e10
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 [0x18040e8b8]
lea rdx, str.il2cpp_domain_get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rcx, qword [0x18040e8b8]
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 [0x18040e8b8]
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 0x180012243
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 [0x18040e8b8]
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 0x1800121db
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 0x180010f40
lea rcx, [rbp - 0x60]
call fcn.180004450
mov rcx, qword [0x18040e8b8]
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 0x18001215d
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 0x180010fa6
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180004450
cmp qword [rsp + 0x70], r12
mov r8, qword [rsp + 0x78]
sete sil
cmp r8, 0xf
jbe 0x180010fda
mov rdx, qword [rsp + 0x60]
call fcn.1800043d0
mov rcx, qword [rbp - 0x50]
test sil, sil
movabs rsi, 0x7fffffffffffffff
mov rax, rsi
je 0x1800110fc
sub rax, rcx
cmp rax, 2
jb 0x180012295
cmp qword [rbp - 0x48], 0xf
lea rax, [0x18012c504]
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.180004560
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdi + r8], r12b
jne 0x180011040
mov rdx, rdi
lea rcx, [rbp + 0x100]
call fcn.180058b00
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 0x1800110bd
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800110af
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012251
call fcn.18010983c
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 0x1800110de
mov rdx, qword [rbp + 0x100]
call fcn.1800043d0
mov qword [rbp + 0x110], rdi
mov qword [rbp + 0x118], 0xf
mov byte [rbp + 0x100], dil
jmp 0x180011311
sub rax, rcx
cmp rax, 2
jb 0x18001228f
cmp qword [rbp - 0x48], 0xf
lea rax, [0x18012c504]
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.180004560
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], r12b
jne 0x180011144
mov rdx, rbx
lea rcx, [rbp + 0x120]
call fcn.180058b00
mov qword [rbp + 0xd0], r12
lea rdx, [0x18012c504]
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.180058b00
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 0x1800111f4
mov rdx, rdi
lea rcx, [rbp + 0xa0]
call fcn.180058b00
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 0x180011271
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011263
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012258
call fcn.18010983c
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 0x180011292
mov rdx, qword [rbp + 0xa0]
call fcn.1800043d0
mov rdx, qword [rbp + 0xd8]
mov qword [rbp + 0xb0], rdi
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], dil
cmp rdx, 0xf
jbe 0x1800112ec
mov rcx, qword [rbp + 0xc0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800112e7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012258
call fcn.18010983c
lea rcx, [rbp + 0x120]
mov qword [rbp + 0xd0], rdi
mov qword [rbp + 0xd8], 0xf
mov byte [rbp + 0xc0], dil
call fcn.180004330
mov rcx, qword [0x18040e8b8]
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 0x18001215d
nop dword [rax + rax]
mov rcx, qword [0x18040e8b8]
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 0x180012289
cmp qword [rbp - 0x48], 0xf
lea rcx, [0x18012c504]
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.180004560
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x1800113c0
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180058b00
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 0x180011437
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011432
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001225f
call fcn.18010983c
mov rcx, qword [0x18040e8b8]
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 0x180011d3f
mov rcx, qword [rsp + 0x40]
mov rax, rsi
sub rax, rcx
cmp rax, 1
jb 0x1800122b9
cmp qword [rbp - 0x68], 0xf
lea rax, [0x18012c508]
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.180004560
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x1800114ec
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800114e7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012274
call fcn.18010983c
movups xmm0, xmmword [rbp - 0x40]
mov rcx, qword [0x18040e8b8]
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 0x180011952
nop
mov rcx, qword [0x18040e8b8]
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 [0x18040e8b8]
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 0x180011580
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.180004450
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 0x1800115f6
mov r8, rbx
lea rdi, [rbx + rsi]
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1800115f4
nop dword [rax]
cmp byte [rax], 0x2e
je 0x180011737
inc rax
mov r8, rdi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x1800115d0
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 0x1800122a7
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.180004450
mov rdx, qword [rbp + 0x38]
cmp rdx, 0xf
jbe 0x18001167d
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011678
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001226d
call fcn.18010983c
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 0x1800122a1
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 0x1800117a4
mov rbx, r15
or rbx, 0xf
cmp rbx, r9
jbe 0x180011741
movabs rax, 0x8000000000000000
mov rbx, r9
add rax, 0x27
jmp 0x180011768
sub rax, rsi
xor edi, edi
jmp 0x1800115fd
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18001178b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18001229b
mov rcx, rax
call fcn.180109490
test rax, rax
je 0x180012266
mov rdx, qword [rbp - 0x20]
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1800117a0
test rcx, rcx
je 0x18001179e
call fcn.180109490
mov rdx, qword [rbp - 0x20]
mov rdi, rax
jmp 0x1800117a0
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 0x180011802
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 0x180011820
lea r9, [0x18012c50c]
mov qword [rsp + 0x20], 1
mov edx, 1
lea rcx, [rbp]
call fcn.18005b820
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 0x18001187d
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180011870
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012266
mov rcx, rsi
call fcn.18010983c
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 0x1800118c4
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800118bf
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012266
call fcn.18010983c
mov rdx, qword [rbp + 0x38]
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x18], 0xf
mov byte [rbp], dil
cmp rdx, 0xf
jbe 0x18001190f
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001190a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001226d
call fcn.18010983c
mov ebx, dword [rbp + 0x190]
lea rdx, str.il2cpp_method_get_param_count
mov rcx, qword [0x18040e8b8]
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 0x180011530
mov rcx, qword [0x18040e8b8]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
mov rcx, qword [0x18040e8b8]
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 0x1800119a0
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.180004450
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.180004450
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x180011a2a
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011a25
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012274
call fcn.18010983c
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 0x180011aa4
mov r8, rdi
lea rsi, [rdi + rbx]
mov edx, 0x2e
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x180011aa4
nop dword [rax + rax]
cmp byte [rax], 0x2e
je 0x180011b6f
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x180011a80
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 0x1800122b3
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.180004450
movups xmm0, xmmword [rsp + 0x40]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
movq r13, xmm0
sub rax, r13
cmp rax, 3
jb 0x1800122b9
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 0x180011bd3
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x180011b77
movabs rax, 0x8000000000000000
mov rbx, rcx
add rax, 0x27
jmp 0x180011b9e
sub rax, rbx
jmp 0x180011aab
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180011bbd
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800122ad
mov rcx, rax
call fcn.180109490
test rax, rax
je 0x180012274
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180011bce
test rcx, rcx
je 0x180011bcc
call fcn.180109490
mov rdi, rax
jmp 0x180011bce
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 [0x18012c510]
lea r9, [rbp - 0x40]
mov word [rdi + r13], ax
lea r8, [rsp + 0x60]
movzx eax, byte [0x18012c512]
lea rcx, [rbp - 0x20]
mov byte [rdi + r13 + 2], al
mov byte [rdi + r14], 0
call fcn.18005c770
cmp r15, 0xf
jbe 0x180011c50
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180011c48
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012274
mov rcx, rsi
call fcn.18010983c
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 0x180011ca6
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011ca1
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012274
call fcn.18010983c
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x180011ce1
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011cdc
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012274
call fcn.18010983c
mov rdx, qword [rbp + 0x60]
cmp rdx, 0xf
jbe 0x180011d1c
mov rcx, qword [rbp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011d17
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012274
call fcn.18010983c
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 0x180011faa
mov rcx, qword [0x18040e8b8]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
mov rcx, qword [0x18040e8b8]
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 0x180011d90
mov rdx, rax
lea rcx, [rbp + 0x68]
call fcn.180004450
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 0x180011e06
mov r8, rbx
lea rdi, [rsi + rbx]
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x180011e04
cmp byte [rax], 0x2e
je 0x180012059
inc rax
mov r8, rdi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x180011de0
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 0x1800122cb
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.180004450
mov rcx, qword [rsp + 0x40]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 4
jb 0x1800122c5
cmp qword [rbp - 0x68], 0xf
lea rax, [0x18012c514]
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.180004560
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x60]
lea rcx, [rbp - 0x20]
call fcn.18005c770
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x180011eed
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011ee8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001227b
call fcn.18010983c
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 0x180011f1b
mov rdx, qword [rsp + 0x60]
call fcn.1800043d0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x180011f56
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011f51
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001227b
call fcn.18010983c
mov rdx, qword [rbp + 0x80]
cmp rdx, 0xf
jbe 0x180011f94
mov rcx, qword [rbp + 0x68]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011f8f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001227b
call fcn.18010983c
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 0x180011fd0
cmp r14, 0xf
lea rdx, [rbp - 0x80]
mov ebx, 0xffffffff
cmova rdx, rsi
test eax, eax
je 0x180012024
mov r8d, eax
lea r13, [0x1802697b0]
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 0x180012000
mov r13, qword [rbp + 0x88]
mov rdi, qword [0x18040e8f8]
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 0x180012077
mov qword [rsp + 0x40], rax
cmp dword [rax + 0x20], ebx
jae 0x180012063
mov rax, qword [rax + 0x10]
mov dword [rsp + 0x48], r9d
jmp 0x180012071
sub rax, rsi
xor edi, edi
jmp 0x180011e0d
mov rcx, rax
mov dword [rsp + 0x48], 1
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180012044
cmp byte [rcx + 0x19], 0
jne 0x180012082
cmp ebx, dword [rcx + 0x20]
jae 0x1800120d9
movabs rax, 0x555555555555555
cmp qword [0x18040e900], rax
je 0x1800122bf
mov ecx, 0x30
call fcn.180109490
movups xmm0, xmmword [rsp + 0x40]
mov r8, rax
lea rdx, [rsp + 0x40]
lea rcx, [0x18040e8f8]
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.18005c510
cmp r14, 0xf
jbe 0x180012110
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180012108
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012282
mov rcx, rsi
call fcn.18010983c
mov rcx, qword [0x18040e8b8]
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 0x180011350
mov r14, qword [rbp + 0xe8]
mov r15d, dword [rbp + 0x198]
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x180012198
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012193
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180012282
call fcn.18010983c
mov rcx, qword [0x18040e8b8]
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 0x180010f20
mov rbx, qword [rbp + 0x98]
mov edi, dword [rbp + 0x1a0]
mov rsi, qword [rbp + 0xf0]
mov rcx, qword [0x18040e8b8]
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 0x180010ee0
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.180003f60
int3
call fcn.180003f60
int3
call fcn.180003f60
int3
call fcn.180003ec0
int3
call fcn.180003f60
int3
call fcn.180059b00
int3
call fcn.180003ec0
int3
call fcn.180059b00
int3
call fcn.180003f60
int3
call fcn.18000cce0
int3
call fcn.180003f60
int3
call fcn.180059b00
int3