Function at 0x180010020
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 [0x1802a6d70]
lea rdx, str.il2cpp_domain_get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rcx, qword [0x1802a6d70]
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 [0x1802a6d70]
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 0x180011686
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 [0x1802a6d70]
mov r14d, r15d
mov dword [rbp + 0x198], r15d
mov r12, qword [rax]
mov qword [rbp + 0xe8], r12
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
test rax, rax
je 0x180011621
nop word [rax + rax]
mov rdx, qword [r12]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x58], r15
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180010150
lea rcx, [rsp + 0x40]
call fcn.180042730
mov rsi, qword [rsp + 0x58]
lea rcx, [rsp + 0x40]
mov rdi, qword [rsp + 0x40]
lea r9, str..dll
mov rbx, qword [rsp + 0x50]
cmp rsi, 0x10
mov rdx, rbx
mov qword [rsp + 0x20], 4
cmovae rcx, rdi
call fcn.1800424e0
cmp rbx, rax
jb 0x1800116d2
mov rcx, rbx
mov edx, 4
sub rcx, rax
cmp rcx, rdx
cmovb rdx, rcx
cmp rsi, 0x10
lea rcx, [rsp + 0x40]
cmovae rcx, rdi
sub rbx, rdx
add rcx, rax
mov r8, rbx
sub r8, rax
add rdx, rcx
inc r8
call sub.VCRUNTIME140.dll_memmove
mov rcx, qword [0x1802a6d70]
lea rdx, str.il2cpp_image_get_class
mov qword [rsp + 0x50], rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movsxd rdx, r14d
mov rcx, r12
call rax
mov qword [rbp + 0x88], rax
mov r13, rax
test rax, rax
jne 0x18001024d
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800115cb
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180010243
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116c5
call fcn.180083a8c
jmp 0x1800115cb
mov rdi, qword [rax + 0x10]
xorps xmm0, xmm0
mov rbx, qword [rax + 0x18]
mov r8, 0xffffffffffffffff
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], r15
nop dword [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x180010270
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.180042730
cmp qword [rbp - 0x70], 0
mov rdx, qword [rbp - 0x68]
sete sil
cmp rdx, 0x10
jb 0x1800102ca
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800102c5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116c5
call fcn.180083a8c
mov rcx, qword [rsp + 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
test sil, sil
je 0x1800103c4
cmp rax, 2
jb 0x1800116d8
cmp qword [rsp + 0x58], 0x10
lea rsi, [0x180260d04]
mov qword [rsp + 0x30], 2
lea r9, [rsp + 0x40]
cmovae r9, qword [rsp + 0x40]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x100]
call fcn.180042f00
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x180010330
mov rdx, rdi
lea rcx, [rbp + 0x100]
call fcn.1800405b0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x58]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rbp], xmm1
cmp rdx, 0x10
jb 0x1800103ae
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800103a0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180011694
call fcn.180083a8c
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rbp]
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0x100]
movups xmmword [rsp + 0x50], xmm1
jmp 0x180010603
cmp rax, 2
jb 0x1800116cc
cmp qword [rsp + 0x58], 0x10
lea rsi, [0x180260d04]
mov qword [rsp + 0x30], 2
lea r9, [rsp + 0x40]
cmovae r9, qword [rsp + 0x40]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x120]
call fcn.180042f00
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x180010410
mov rdx, rbx
lea rcx, [rbp + 0x120]
call fcn.1800405b0
mov qword [rbp + 0xd0], r15
lea rcx, [rbp + 0xc0]
mov qword [rbp + 0xd8], r15
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov r8d, 2
mov rdx, rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xc0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xd0], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
call fcn.1800405b0
mov qword [rbp + 0xb0], r15
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb8], r15
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], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
nop dword [rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x1800104c0
mov rdx, rdi
lea rcx, [rbp + 0xa0]
call fcn.1800405b0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x58]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rbp], xmm1
cmp rdx, 0x10
jb 0x18001053e
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180010530
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001169b
call fcn.180083a8c
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rbp]
mov rdx, qword [rbp + 0xb8]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp rdx, 0x10
jb 0x180010589
mov rcx, qword [rbp + 0xa0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180010584
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001169b
call fcn.180083a8c
mov rdx, qword [rbp + 0xd8]
mov qword [rbp + 0xb0], r15
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], 0
cmp rdx, 0x10
jb 0x1800105e3
mov rcx, qword [rbp + 0xc0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800105de
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001169b
call fcn.180083a8c
mov qword [rbp + 0xd0], r15
lea rcx, [rbp + 0x120]
mov qword [rbp + 0xd8], 0xf
mov byte [rbp + 0xc0], 0
call fcn.180040630
mov rcx, qword [0x1802a6d70]
lea rdx, str.il2cpp_class_get_methods
mov qword [rbp + 0x90], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x90]
mov rcx, r13
call rax
mov qword [rbp + 0x40], rax
mov r15, rax
test rax, rax
je 0x18001158b
xor r12d, r12d
mov rcx, qword [0x1802a6d70]
lea rdx, str.il2cpp_method_get_name
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
movabs rdi, 0x7fffffffffffffff
mov rbx, rax
mov rax, qword [rsp + 0x50]
mov rcx, rdi
sub rcx, rax
cmp rcx, 2
jb 0x18001171a
cmp qword [rsp + 0x58], 0x10
lea r9, [rsp + 0x40]
mov qword [rsp + 0x30], 2
lea rcx, [rbp - 0x80]
cmovae r9, qword [rsp + 0x40]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.180042f00
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x1800106b1
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.1800405b0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm0, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 0x68]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rbp - 0x30], xmm0
cmp rdx, 0x10
jb 0x180010725
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180010720
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116a2
call fcn.180083a8c
mov rcx, qword [0x1802a6d70]
lea rdx, str.il2cpp_method_get_param_count
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
test eax, eax
je 0x18001118a
mov rcx, qword [rsp + 0x60]
mov rax, rdi
sub rax, rcx
cmp rax, 1
jb 0x180011702
cmp qword [rbp - 0x28], 0x10
lea rax, [0x180260d08]
mov qword [rsp + 0x30], 1
lea r9, [rbp - 0x40]
cmovae r9, qword [rbp - 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x80]
call fcn.180042f00
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x1800107d7
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800107d2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116b7
call fcn.180083a8c
movups xmm0, xmmword [rbp - 0x80]
mov rcx, qword [0x1802a6d70]
lea rdx, str.il2cpp_method_get_param_count
mov ebx, r12d
movups xmmword [rbp], xmm0
mov dword [rbp + 0x190], ebx
movups xmmword [rbp - 0x40], xmm0
movups xmm0, xmmword [rbp - 0x70]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rbp - 0x30], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
test eax, eax
je 0x180010cc1
nop word [rax + rax]
mov rcx, qword [0x1802a6d70]
lea rdx, str.il2cpp_method_get_param
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, ebx
mov rcx, r15
call rax
mov rcx, qword [0x1802a6d70]
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], r12
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x38], r12
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180010870
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.180042730
mov r13, qword [rbp + 0x38]
lea rsi, [rbp + 0x20]
mov r15, qword [rbp + 0x20]
cmp r13, 0x10
mov rbx, qword [rbp + 0x30]
cmovae rsi, r15
cmp rbx, 1
jb 0x1800108ee
mov r8, rbx
lea rdi, [rbx + rsi]
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1800108e4
nop dword [rax]
cmp byte [rax], 0x2e
je 0x180010966
inc rax
mov r8, rdi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x1800108c0
movabs rdi, 0x7fffffffffffffff
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
cmp rbx, rcx
jb 0x1800116f0
sub rbx, rcx
lea r14, [rbp + 0x20]
mov rsi, 0xffffffffffffffff
cmp rbx, rsi
cmovb rsi, rbx
cmp r13, 0x10
cmovae r14, r15
add r14, rcx
cmp rsi, rdi
ja 0x1800116ea
cmp rsi, 0x10
jae 0x180010975
mov r8, rsi
mov qword [rbp - 0x50], rsi
mov rdx, r14
mov qword [rbp - 0x48], 0xf
lea rcx, [rbp - 0x60]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rsi - 0x60], 0
mov rbx, qword [rbp - 0x48]
mov rsi, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x60]
jmp 0x1800109c5
sub rax, rsi
movabs rdi, 0x7fffffffffffffff
jmp 0x1800108f5
mov rbx, rsi
or rbx, 0xf
cmp rbx, rdi
jbe 0x180010986
mov rbx, rdi
jmp 0x180010993
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rdx, [rbx + 1]
call fcn.180040ef0
mov r8, rsi
mov qword [rbp - 0x60], rax
mov rdx, r14
mov qword [rbp - 0x50], rsi
mov rcx, rax
mov qword [rbp - 0x48], rbx
mov rdi, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rsi], 0
mov r13, qword [rbp + 0x38]
mov r15, qword [rbp + 0x20]
cmp r13, 0x10
jb 0x1800109fc
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x1800109f4
mov r15, qword [r15 - 8]
add rdx, 0x27
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116b0
mov rcx, r15
call fcn.180083a8c
movups xmm0, xmmword [rbp - 0x60]
movabs rdx, 0x7fffffffffffffff
movups xmm1, xmmword [rbp - 0x50]
mov rax, rdx
movups xmmword [rbp + 0x20], xmm0
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp + 0x30], xmm1
movq r15, xmm0
sub rax, r15
cmp rax, rsi
jb 0x1800116e4
mov r14, qword [rbp]
lea rax, [rbp - 0x40]
psrldq xmm0, 8
lea rcx, [rbp + 0x20]
movq r13, xmm0
mov qword [rbp - 0x50], r12
cmp r13, 0x10
mov qword [rbp - 0x48], r12
lea r12, [r15 + rsi]
xorps xmm0, xmm0
cmovae rax, r14
cmp rbx, 0x10
mov ebx, 0xf
mov qword [rbp], rax
cmovae rcx, rdi
lea rdi, [rbp - 0x60]
mov qword [rsp + 0x60], rcx
movups xmmword [rbp - 0x60], xmm0
cmp r12, rbx
jbe 0x180010b05
mov rbx, r12
or rbx, 0xf
cmp rbx, rdx
jbe 0x180010aa2
movabs rax, 0x8000000000000000
mov rbx, rdx
add rax, 0x27
jmp 0x180010ac9
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180010aec
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800116de
mov rcx, rax
call fcn.180083a50
test rax, rax
je 0x1800116a9
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov rax, qword [rbp]
jmp 0x180010b01
test rcx, rcx
je 0x180010aff
call fcn.180083a50
mov rdi, rax
mov rax, qword [rbp]
jmp 0x180010b01
xor edi, edi
mov qword [rbp - 0x60], rdi
mov r8, r15
mov qword [rbp - 0x50], r12
mov rdx, rax
mov qword [rbp - 0x48], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x60]
lea rcx, [r15 + rdi]
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + r12], 0
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x180010b66
lea rax, [rcx + 1]
cmp rdx, 0x10
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x60]
cmovae rax, qword [rbp - 0x60]
mov word [rax + rcx], 0x2c
lea rax, [rbp - 0x60]
jmp 0x180010b84
lea r9, [0x180260d10]
mov qword [rsp + 0x20], 1
mov edx, 1
lea rcx, [rbp - 0x60]
call fcn.1800425a0
movups xmm0, xmmword [rax]
xor r12d, r12d
movups xmmword [rbp], xmm0
movups xmm0, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], r12b
movups xmmword [rsp + 0x60], xmm0
cmp r13, 0x10
jb 0x180010be2
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x180010bd5
mov r14, qword [r14 - 8]
add rdx, 0x27
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116a9
mov rcx, r14
call fcn.180083a8c
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rbp]
mov rdx, qword [rbp - 0x48]
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x40], xmm1
cmp rdx, 0x10
jb 0x180010c29
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180010c24
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116a9
call fcn.180083a8c
mov rdx, qword [rbp + 0x38]
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], r12b
cmp rdx, 0x10
jb 0x180010c74
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180010c6f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116b0
call fcn.180083a8c
mov ebx, dword [rbp + 0x190]
lea rdx, str.il2cpp_method_get_param_count
mov rcx, qword [0x1802a6d70]
inc ebx
mov dword [rbp + 0x190], ebx
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], r12b
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, qword [rbp + 0x40]
mov rcx, r15
call rax
movabs rdi, 0x7fffffffffffffff
cmp ebx, eax
jb 0x180010820
mov rcx, qword [0x1802a6d70]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
mov rcx, qword [0x1802a6d70]
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], r12
movups xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x60], r12
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180010d10
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.180042730
mov r14, qword [rbp]
lea r15, [rbp - 0x40]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rsp + 0x60]
movq rax, xmm0
psrldq xmm0, 8
movq r13, xmm0
lea rsi, [rax - 1]
cmp rax, rsi
cmovb rsi, rax
cmp r13, 0x10
cmovae r15, r14
cmp rsi, rdi
ja 0x180011702
cmp rsi, 0x10
jae 0x180010d97
mov r8, rsi
mov qword [rbp - 0x10], rsi
mov rdx, r15
mov qword [rbp - 8], 0xf
lea rcx, [rbp - 0x20]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rsi - 0x20], 0
movabs r12, 0x7fffffffffffffff
jmp 0x180010de9
mov rdi, rsi
movabs r12, 0x7fffffffffffffff
or rdi, 0xf
cmp rdi, r12
jbe 0x180010db2
mov rdi, r12
jmp 0x180010dbf
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rdx, [rdi + 1]
call fcn.180040ef0
mov r8, rsi
mov qword [rbp - 0x20], rax
mov rdx, r15
mov qword [rbp - 0x10], rsi
mov rcx, rax
mov qword [rbp - 8], rdi
mov rbx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rsi], 0
cmp r13, 0x10
jb 0x180010e20
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x180010e18
mov r14, qword [r14 - 8]
add rdx, 0x27
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116b7
mov rcx, r14
call fcn.180083a8c
movups xmm0, xmmword [rbp - 0x20]
mov r15, qword [rbp + 0x60]
lea rdi, [rbp + 0x48]
mov r14, qword [rbp + 0x48]
cmp r15, 0x10
mov rbx, qword [rbp + 0x58]
movups xmmword [rbp - 0x40], xmm0
cmovae rdi, r14
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rbp - 0x30], xmm0
cmp rbx, 1
jb 0x180010e94
mov r8, rbx
lea rsi, [rbx + rdi]
mov edx, 0x2e
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x180010e94
nop dword [rax]
cmp byte [rax], 0x2e
je 0x180010f01
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x180010e70
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
cmp rbx, rcx
jb 0x1800116fc
sub rbx, rcx
lea rax, [rbp + 0x48]
mov rdi, 0xffffffffffffffff
cmp rbx, rdi
cmovb rdi, rbx
cmp r15, 0x10
cmovae rax, r14
lea r14, [rax + rcx]
cmp rdi, r12
ja 0x180011702
cmp rdi, 0x10
jae 0x180010f06
mov r8, rdi
mov qword [rbp - 0x70], rdi
mov rdx, r14
mov qword [rbp - 0x68], 0xf
lea rcx, [rbp - 0x80]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rdi - 0x80], 0
jmp 0x180010f4e
sub rax, rdi
jmp 0x180010e9b
mov rsi, rdi
or rsi, 0xf
cmp rsi, r12
jbe 0x180010f17
mov rsi, r12
jmp 0x180010f24
cmp rsi, 0x16
mov eax, 0x16
cmovb rsi, rax
lea rdx, [rsi + 1]
call fcn.180040ef0
mov r8, rdi
mov qword [rbp - 0x80], rax
mov rdx, r14
mov qword [rbp - 0x70], rdi
mov rcx, rax
mov qword [rbp - 0x68], rsi
mov rbx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rbx], 0
movups xmm0, xmmword [rsp + 0x60]
mov rax, r12
movq r14, xmm0
sub rax, r14
cmp rax, 3
jb 0x180011702
mov rsi, qword [rbp - 0x20]
lea r12, [rbp - 0x40]
psrldq xmm0, 8
lea r15, [r14 + 3]
movq r13, xmm0
lea rdi, [rbp - 0x20]
cmp r13, 0x10
mov ebx, 0xf
xorps xmm0, xmm0
cmovae r12, rsi
movups xmmword [rbp - 0x20], xmm0
cmp r15, rbx
jbe 0x180011023
mov rbx, r15
movabs rax, 0x7fffffffffffffff
or rbx, 0xf
cmp rbx, rax
jbe 0x180010fc8
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180010fef
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18001100e
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800116f6
mov rcx, rax
call fcn.180083a50
test rax, rax
je 0x1800116b7
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18001101f
test rcx, rcx
je 0x18001101d
call fcn.180083a50
mov rdi, rax
jmp 0x18001101f
xor edi, edi
mov qword [rbp - 0x20], rdi
mov r8, r14
mov qword [rbp - 0x10], r15
mov rdx, r12
mov qword [rbp - 8], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [0x180260d14]
lea r9, [rbp - 0x80]
mov word [r14 + rdi], ax
lea r8, [rbp - 0x20]
movzx eax, byte [0x180260d16]
lea rcx, [rbp]
mov byte [r14 + rdi + 2], al
mov byte [rdi + r15], 0
call fcn.180042d50
cmp r13, 0x10
jb 0x18001109d
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180011095
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116b7
mov rcx, rsi
call fcn.180083a8c
movups xmm0, xmmword [rbp]
mov rdx, qword [rbp - 8]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmm0, xmmword [rbp + 0x10]
movups xmmword [rbp], xmm0
movups xmmword [rbp - 0x30], xmm0
cmp rdx, 0x10
jb 0x1800110f1
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800110ec
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116b7
call fcn.180083a8c
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x18001112c
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011127
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116b7
call fcn.180083a8c
mov rdx, qword [rbp + 0x60]
cmp rdx, 0x10
jb 0x180011167
mov rcx, qword [rbp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011162
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116b7
call fcn.180083a8c
mov r15, qword [rbp + 0x40]
xor r12d, r12d
mov r13, qword [rbp + 0x88]
mov qword [rbp + 0x58], r12
mov byte [rbp + 0x48], r12b
mov qword [rbp + 0x60], 0xf
jmp 0x1800113e7
mov rcx, qword [0x1802a6d70]
lea rdx, str.il2cpp_method_get_return_type
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r15
call rax
mov rcx, qword [0x1802a6d70]
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], r12
movups xmmword [rbp + 0x68], xmm0
mov qword [rbp + 0x80], r12
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800111e0
mov rdx, rax
lea rcx, [rbp + 0x68]
call fcn.180042730
mov rsi, qword [rbp + 0x80]
lea rcx, [rbp + 0x68]
mov rdi, qword [rbp + 0x68]
lea r9, [0x180260d0c]
mov rbx, qword [rbp + 0x78]
cmp rsi, 0x10
mov rdx, rbx
mov qword [rsp + 0x20], 1
cmovae rcx, rdi
call fcn.1800424e0
xorps xmm0, xmm0
mov qword [rbp - 0x70], r12
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x68], r12
lea rcx, [rax + 1]
cmp rbx, rcx
jb 0x180011714
sub rbx, rcx
lea rdx, [rbp + 0x68]
mov r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
cmp rsi, 0x10
cmovae rdx, rdi
add rdx, rcx
lea rcx, [rbp - 0x80]
call fcn.180042730
mov rcx, qword [rsp + 0x60]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 4
jb 0x18001170e
cmp qword [rbp - 0x28], 0x10
lea rax, str.__:
mov qword [rsp + 0x30], 4
lea r9, [rbp - 0x40]
cmovae r9, qword [rbp - 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x20]
call fcn.180042f00
lea r9, [rbp - 0x80]
lea r8, [rbp - 0x20]
lea rcx, [rbp]
call fcn.180042d50
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x180011307
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011302
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116be
call fcn.180083a8c
movups xmm0, xmmword [rbp]
mov rdx, qword [rbp - 8]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmm0, xmmword [rbp + 0x10]
movups xmmword [rbp], xmm0
movups xmmword [rbp - 0x30], xmm0
cmp rdx, 0x10
jb 0x18001135b
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011356
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116be
call fcn.180083a8c
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x180011396
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180011391
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116be
call fcn.180083a8c
mov rdx, qword [rbp + 0x80]
cmp rdx, 0x10
jb 0x1800113d4
mov rcx, qword [rbp + 0x68]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800113cf
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116be
call fcn.180083a8c
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], 0xf
mov byte [rbp + 0x68], 0
movups xmm0, xmmword [rbp]
mov rsi, qword [rsp + 0x60]
lea rcx, [rbp - 0x40]
mov rax, 0xffffffffffffffff
psrldq xmm0, 8
movq r14, xmm0
cmp r14, 0x10
cmovae rcx, rsi
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x180011410
cmp r14, 0x10
lea rdx, [rbp - 0x40]
mov ebx, 0xffffffff
cmovae rdx, rsi
test eax, eax
je 0x180011464
mov r8d, eax
lea r13, [0x180246050]
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 0x180011440
mov r13, qword [rbp + 0x88]
mov rdi, qword [0x1802a6de0]
not ebx
mov dword [rsp + 0x68], r12d
mov rcx, rdi
mov rax, qword [rdi + 8]
mov qword [rsp + 0x60], rax
cmp byte [rax + 0x19], 0
jne 0x1800114ad
mov qword [rsp + 0x60], rax
cmp dword [rax + 0x20], ebx
jae 0x180011499
mov rax, qword [rax + 0x10]
mov dword [rsp + 0x68], r12d
jmp 0x1800114a7
mov rcx, rax
mov dword [rsp + 0x68], 1
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180011484
cmp byte [rcx + 0x19], 0
jne 0x1800114b8
cmp ebx, dword [rcx + 0x20]
jae 0x18001150f
movabs rax, 0x555555555555555
cmp qword [0x1802a6de8], rax
je 0x180011708
mov ecx, 0x30
call fcn.180083a50
movups xmm0, xmmword [rsp + 0x60]
mov r8, rax
lea rdx, [rsp + 0x60]
lea rcx, [0x1802a6de0]
mov dword [rax + 0x20], ebx
mov qword [rax + 0x28], r15
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movaps xmmword [rsp + 0x60], xmm0
call fcn.180042a80
cmp r14, 0x10
jb 0x180011546
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x18001153e
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116c5
mov rcx, rsi
call fcn.180083a8c
mov rcx, qword [0x1802a6d70]
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 r15, rax
lea rsi, [0x180260d04]
test rax, rax
jne 0x180010642
mov r14d, dword [rbp + 0x198]
mov r12, qword [rbp + 0xe8]
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800115c8
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800115c3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800116c5
call fcn.180083a8c
xor r15d, r15d
mov rcx, qword [0x1802a6d70]
lea rdx, str.il2cpp_image_get_class_count
inc r14d
mov qword [rsp + 0x50], r15
mov dword [rbp + 0x198], r14d
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
movsxd rcx, r14d
cmp rcx, rax
jb 0x180010130
mov rbx, qword [rbp + 0x98]
mov edi, dword [rbp + 0x1a0]
mov rsi, qword [rbp + 0xf0]
mov rcx, qword [0x1802a6d70]
lea rdx, str.il2cpp_domain_get_assemblies
inc edi
mov qword [rbp + 0x1a8], r15
inc rbx
mov dword [rbp + 0x1a0], edi
mov qword [rbp + 0x98], rbx
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 0x1800100f0
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.18000aff0
int3
call fcn.180041270
int3
call fcn.18000aff0
int3
call fcn.180004020
int3
call fcn.18000aff0
int3
call fcn.18000aff0
int3
call fcn.180041270
int3
call fcn.180004020
int3
call fcn.180041270
int3
call fcn.18000aff0
int3
call fcn.18000bdf0
int3
call fcn.18000aff0
int3
call fcn.180041270
int3
call fcn.18000aff0
int3