Function at 0x10014090
Capabilities:
Enumerate process modules
Link many functions at runtime

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100402e1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x438
mov eax, dword [0x10055020]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
lea edi, [esi + 0x58]
push edi
mov dword [ebp - 0x444], edi
call fcn.1001da09
add esp, 4
test eax, eax
jne 0x1001489e
cmp dword [edi + 0x2c], 0x7fffffff
je 0x100148a5
cmp byte [esi + 0x88], al
je 0x10014110
push edi
call fcn.1001da1a
add esp, 4
jmp 0x1001487e
push str.mono.dll
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
mov edi, eax
test edi, edi
jne 0x100141ba
call dword [sym.imp.kernel32.dll_GetCurrentProcessId]
push eax
push 8
call dword [sym.imp.kernel32.dll_CreateToolhelp32Snapshot]
mov dword [ebp - 0x448], eax
cmp eax, 0xffffffff
je 0x100141a4
lea ecx, [ebp - 0x440]
mov dword [ebp - 0x440], 0x428
push ecx
push eax
call dword [sym.imp.kernel32.dll_Module32FirstW]
test eax, eax
je 0x10014194
nop dword [eax + eax]
push str.mono_thread_attach
push dword [ebp - 0x424]
call dword [sym.imp.kernel32.dll_GetProcAddress]
test eax, eax
jne 0x1001418e
lea eax, [ebp - 0x440]
push eax
push dword [ebp - 0x448]
call dword [sym.imp.kernel32.dll_Module32NextW]
test eax, eax
jne 0x10014160
jmp 0x10014194
mov edi, dword [ebp - 0x424]
push dword [ebp - 0x448]
call dword [sym.imp.kernel32.dll_CloseHandle]
test edi, edi
jne 0x100141ba
mov eax, dword [ebp - 0x444]
push eax
call fcn.1001da1a
add esp, 4
xor al, al
jmp 0x10014880
push str.mono_assembly_foreach
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 4], eax
test eax, eax
jne 0x10014212
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x2f
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_assembly_foreach.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 0
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_assembly_get_image
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 8], eax
test eax, eax
jne 0x1001426a
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x31
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_assembly_get_image.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 1
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_image_get_table_info
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0xc], eax
test eax, eax
jne 0x100142c2
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x33
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_image_get_table_info.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 2
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_table_info_get_rows
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x10], eax
test eax, eax
jne 0x1001431a
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x32
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_table_info_get_rows.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 3
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_class_get
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x14], eax
test eax, eax
jne 0x10014372
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x28
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_class_get.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 4
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_class_get_methods
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x18], eax
test eax, eax
jne 0x100143ca
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x30
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_class_get_methods.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 5
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_compile_method
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x1c], eax
test eax, eax
jne 0x10014422
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x2d
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_compile_method.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 6
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_class_from_name
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x20], eax
test eax, eax
jne 0x1001447a
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x2e
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_class_from_name.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 7
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_class_get_method_from_name
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x24], eax
test eax, eax
jne 0x100144d2
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x39
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_class_get_method_from_name.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 8
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_method_get_name
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x28], eax
test eax, eax
jne 0x1001452a
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x2e
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_method_get_name.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 9
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_image_get_name
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x2c], eax
test eax, eax
jne 0x10014582
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x2d
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_image_get_name.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 0xa
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_image_loaded
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x30], eax
test eax, eax
jne 0x100145da
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x2b
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_image_loaded.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 0xb
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_image_get_assembly
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x34], eax
test eax, eax
jne 0x10014632
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x31
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_image_get_assembly.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 0xc
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_class_get_name
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x38], eax
test eax, eax
jne 0x1001468a
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x2d
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_class_get_name.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 0xd
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_thread_attach
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x3c], eax
test eax, eax
jne 0x100146e2
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x2c
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_thread_attach.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 0xe
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_get_root_domain
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x40], eax
test eax, eax
jne 0x1001473a
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x2e
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_get_root_domain.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 0xf
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_method_get_flags
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x44], eax
test eax, eax
jne 0x10014792
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x2f
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_method_get_flags.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 0x10
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_thread_detach
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x48], eax
test eax, eax
jne 0x100147ea
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x2c
movups xmmword [ecx], xmm0
push str.Failed_to_get_address_of_mono_thread_detach.
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.10002de0
mov dword [ebp - 4], 0x11
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push str.mono_class_get_flags
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
sub esp, 0x18
mov dword [esi + 0x4c], eax
mov dword [ebp - 0x444], esp
mov ecx, esp
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
test eax, eax
jne 0x10014847
push 0x2e
push str.Failed_to_get_address_of_mono_class_get_flags.
call fcn.10002de0
mov dword [ebp - 4], 0x12
push 3
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
add esp, 0x20
xor al, al
jmp 0x10014880
push 0x12
push str._Mono__Intialized.
call fcn.10002de0
mov dword [ebp - 4], 0x13
push 0
push dword [esi + 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.10001810
lea eax, [esi + 0x58]
mov byte [esi + 0x88], 1
push eax
call fcn.1001da1a
add esp, 0x24
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1001fd2c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 5
call fcn.1001d77e
push 6
mov dword [edi + 0x2c], 0x7ffffffe
call fcn.1001d77e
int3