Function at 0x10001230
Capabilities:
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push edi
push str.kernel32.dll
call esi
push str.user32.dll
mov ebx, eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
push 0x10002054
push ebx
call edi
push str.VirtualAlloc
push ebx
mov dword [ebp - 0x48], eax
call edi
push str.VirtualFree
push ebx
mov dword [ebp - 0x44], eax
call edi
push str.MessageBoxA
push esi
mov dword [ebp - 0x40], eax
call edi
push str.CreateFileA
push ebx
mov dword [ebp - 0x3c], eax
call edi
push str.ReadFile
mov esi, eax
push ebx
mov dword [ebp - 0x38], esi
call edi
push str.CloseHandle
push ebx
mov dword [ebp - 0x34], eax
call edi
push str.GetFileSize
push ebx
mov dword [ebp - 0x30], eax
call edi
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
mov ebx, eax
push str.E:123
mov dword [ebp - 0x2c], ebx
call esi
mov edi, eax
cmp edi, 0xffffffff
jne 0x100012ee
push 0x10
push str.Error
push str.Failed_to_open_DLL_file.
jmp 0x1000146a
push 0
push edi
call ebx
push 4
push 0x3000
mov ebx, eax
push ebx
push 0
call dword [ebp - 0x44]
mov esi, eax
test esi, esi
jne 0x1000131d
push edi
call dword [ebp - 0x30]
push 0x10
push str.Error
push str.Failed_to_allocate_memory_for_DLL.
jmp 0x1000146a
push 0
lea eax, [ebp - 0x28]
push eax
push ebx
push esi
push edi
call dword [ebp - 0x34]
test eax, eax
je 0x1000144f
cmp dword [ebp - 0x28], ebx
jne 0x1000144f
push edi
call dword [ebp - 0x30]
lea eax, [ebp - 0x48]
mov edx, ebx
push eax
mov ecx, esi
call section..text
add esp, 4
mov edi, eax
push 0x8000
push 0
push esi
call dword [ebp - 0x40]
test edi, edi
je 0x10001441
push 0x40
push str.Success
push str.DLL_loaded_successfully.
push 0
call dword [ebp - 0x3c]
mov eax, dword [edi + 0x3c]
cmp dword [eax + edi + 0x7c], 0
je 0x100013ce
mov eax, dword [eax + edi + 0x78]
xor esi, esi
add eax, edi
mov ecx, dword [eax + 0x24]
mov ebx, dword [eax + 0x20]
add ecx, edi
mov dword [ebp - 0x50], ecx
add ebx, edi
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x18]
add ecx, edi
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x100013ce
mov eax, dword [ebx + esi*4]
mov ecx, str.loadLib
add eax, edi
mov dl, 0x6c
cmp dl, byte [eax]
jne 0x100013be
mov dl, byte [ecx + 1]
inc ecx
inc eax
test dl, dl
jne 0x100013b1
movzx ecx, byte [ecx]
movzx eax, byte [eax]
sub ecx, eax
je 0x1000140c
inc esi
cmp esi, dword [ebp - 0x4c]
jb 0x100013a5
xor eax, eax
test eax, eax
je 0x1000141d
call eax
push eax
lea eax, [ebp - 0x24]
push str.ExampleFunction_returned:__d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x24]
push 0x40
push str.Result
push eax
mov eax, dword [ebp - 0x3c]
push 0
call eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001497
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
movzx eax, word [eax + esi*2]
mov eax, dword [ecx + eax*4]
add eax, edi
jmp 0x100013d0
mov eax, dword [ebp - 0x3c]
push 0x10
push str.Error
push str.Failed_to_get_ExampleFunction.
push 0
call eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001497
mov esp, ebp
pop ebp
ret
push 0x10
push str.Error
push str.Failed_to_load_DLL.
jmp 0x1000146a
push edi
call dword [ebp - 0x30]
push 0x8000
push 0
push esi
call dword [ebp - 0x40]
push 0x10
push str.Error
push str.Failed_to_read_DLL_file.
push 0
call dword [ebp - 0x3c]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10001497
mov esp, ebp
pop ebp
ret