Function at 0x180016e20
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov rsi, qword [0x180059e78]
mov qword [rsp + 0x30], r14
mov r14d, 0x5a4d
cmp word [rsi], r14w
jne 0x180016e97
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180016e97
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180016e97
nop word [rax + rax]
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_domain_assembly_open
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017b67
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180016e70
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x180059e30], rax
cmp word [rsi], r14w
jne 0x180016ef7
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180016ef7
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180016ef7
nop dword [rax + rax]
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_assembly_get_image
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017b82
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180016ed0
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x18005a290], rax
cmp word [rsi], r14w
jne 0x180016f57
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180016f57
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180016f57
nop dword [rax + rax]
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_class_from_name
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017b9d
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180016f30
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x180059e20], rax
cmp word [rsi], r14w
jne 0x180016fb7
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180016fb7
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180016fb7
nop dword [rax + rax]
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_class_get_method_from_name
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017bb8
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180016f90
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x180059e48], rax
cmp word [rsi], r14w
jne 0x180017017
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017017
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180017017
nop dword [rax + rax]
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_compile_method
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017bd3
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180016ff0
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x180059ae0], rax
cmp word [rsi], r14w
jne 0x180017077
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017077
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180017077
nop dword [rax + rax]
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_runtime_invoke
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017bee
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180017050
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x180059ad8], rax
cmp word [rsi], r14w
jne 0x1800170d7
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x1800170d7
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x1800170d7
nop dword [rax + rax]
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_class_get_field_from_name
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017c09
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x1800170b0
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x18005a2b0], rax
cmp word [rsi], r14w
jne 0x180017137
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017137
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180017137
nop dword [rax + rax]
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_field_get_value
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017c24
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180017110
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x180059ad0], rax
cmp word [rsi], r14w
jne 0x180017197
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017197
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180017197
nop dword [rax + rax]
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_field_set_value
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017c3f
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180017170
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x180059e38], rax
cmp word [rsi], r14w
jne 0x1800171f7
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x1800171f7
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x1800171f7
nop dword [rax + rax]
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_field_static_get_value
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017c5a
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x1800171d0
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x180059af8], rax
cmp word [rsi], r14w
jne 0x180017255
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017255
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x180017255
nop dword [rax]
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_field_static_set_value
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017255
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x180017230
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x1800172a5
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x1800172a5
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x1800172a5
nop
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_method_get_class
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x1800172a5
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x180017280
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x1800172f7
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x1800172f7
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x1800172f7
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_class_vtable
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017c75
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x1800172d0
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x180059e10], rax
cmp word [rsi], r14w
jne 0x180017355
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017355
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x180017355
nop dword [rax]
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_vtable_get_static_field_data
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017355
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x180017330
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x1800173a5
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x1800173a5
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x1800173a5
nop
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_field_get_offset
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x1800173a5
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x180017380
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x1800173f5
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x1800173f5
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x1800173f5
nop
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_field_get_name
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x1800173f5
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x1800173d0
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x180017445
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017445
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x180017445
nop
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_vtable_class
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017445
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x180017420
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x180017497
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017497
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180017497
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_runtime_class_init
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017c90
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180017470
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x180059b08], rax
cmp word [rsi], r14w
jne 0x1800174f5
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x1800174f5
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x1800174f5
nop dword [rax]
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_image_get_name
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x1800174f5
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x1800174d0
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x180017547
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017547
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180017547
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_object_get_class
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017cab
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180017520
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x180059e40], rax
cmp word [rsi], r14w
jne 0x1800175a5
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x1800175a5
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x1800175a5
nop dword [rax]
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_class_get_image
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x1800175a5
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x180017580
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x1800175f5
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x1800175f5
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x1800175f5
nop
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_class_get_name
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x1800175f5
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x1800175d0
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x180017645
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017645
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x180017645
nop
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_class_get_namespace
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017645
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x180017620
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x180017697
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017697
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180017697
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_field_get_parent
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017cc6
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180017670
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x180059b18], rax
cmp word [rsi], r14w
jne 0x1800176f5
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x1800176f5
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x1800176f5
nop dword [rax]
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_class_get_methods
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x1800176f5
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x1800176d0
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x180017745
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017745
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x180017745
nop
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_method_full_name
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017745
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x180017720
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x180017797
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017797
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180017797
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_object_unbox
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017ce1
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180017770
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x180059b00], rax
cmp word [rsi], r14w
jne 0x1800177f5
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x1800177f5
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x1800177f5
nop dword [rax]
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_string_new_len
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x1800177f5
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x1800177d0
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x180017847
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017847
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180017847
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_string_chars
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017cfc
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180017820
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x18005a298], rax
cmp word [rsi], r14w
jne 0x1800178a5
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x1800178a5
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x1800178a5
nop dword [rax]
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_object_new
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x1800178a5
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x180017880
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x1800178f5
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x1800178f5
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x1800178f5
nop
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_runtime_object_init
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x1800178f5
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x1800178d0
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x180017945
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017945
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x180017945
nop
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_array_length
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017945
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x180017920
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x180017995
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017995
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x180017995
nop
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_class_get_type
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017995
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x180017970
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x1800179e5
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x1800179e5
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x1800179e5
nop
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_type_get_class
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x1800179e5
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x1800179c0
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x180017a35
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017a35
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
cmp dword [rdi + rsi + 0x18], ebx
jbe 0x180017a35
nop
mov ecx, dword [rdi + rsi + 0x20]
lea r8, str.mono_type_get_object
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017a35
inc ebx
cmp ebx, dword [rdi + rsi + 0x18]
jb 0x180017a10
mov rsi, qword [0x180059e78]
cmp word [rsi], r14w
jne 0x180017a87
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017a87
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180017a87
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_thread_attach
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017d17
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180017a60
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x18005a2a0], rax
cmp word [rsi], r14w
jne 0x180017ae7
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017ae7
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180017ae7
nop dword [rax + rax]
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_get_root_domain
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017d32
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180017ac0
xor eax, eax
mov rsi, qword [0x180059e78]
mov qword [0x18005a288], rax
cmp word [rsi], r14w
mov r14, qword [rsp + 0x30]
jne 0x180017b47
movsxd rax, dword [rsi + 0x3c]
cmp dword [rax + rsi], 0x4550
jne 0x180017b47
mov edi, dword [rax + rsi + 0x88]
xor ebx, ebx
add rdi, rsi
cmp dword [rdi + 0x18], ebx
jbe 0x180017b47
mov ecx, dword [rdi + 0x20]
lea r8, str.mono_domain_get
add rcx, rsi
mov edx, dword [rcx + rbx*4]
add rdx, rsi
call fcn.180016ad0
test al, al
jne 0x180017d4d
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x180017b20
mov qword [0x18005a2a8], 0
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180016e99
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180016ef9
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180016f59
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180016fb9
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180017019
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180017079
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x1800170d9
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180017139
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180017199
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x1800171f9
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x1800172f9
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180017499
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180017549
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180017699
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180017799
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180017849
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180017a89
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x180017ae9
mov ecx, dword [rdi + 0x24]
add rcx, rsi
movzx edx, word [rcx + rbx*2]
mov ecx, dword [rdi + 0x1c]
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
mov qword [0x18005a2a8], rax
jmp 0x180017b52