Function at 0x4012a9
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
xor eax, eax
mov al, byte [section..bss]
test eax, eax
je 0x4012be
mov al, 1
jmp 0x4016a1
push str.eio_name.dll
call dword [sym.imp.kernel32.dll_LoadLibraryA]
mov dword [0x42e079], eax
cmp dword [0x42e079], 0
je 0x40130a
push str.SetEIODll
mov ecx, dword [0x42e079]
push ecx
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e07d], eax
cmp dword [0x42e07d], 0
je 0x40130a
push 0x417e7b
push 0x417074
call dword [0x42e07d]
add esp, 8
push str.eiow.dll
call dword [sym.imp.kernel32.dll_LoadLibraryA]
mov dword [0x42e081], eax
cmp dword [0x42e081], 0
jne 0x40132f
call fcn.004016ad
xor al, al
jmp 0x4016a1
push str.IOAttach
mov edx, dword [0x42e081]
push edx
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e069], eax
cmp dword [0x42e069], 0
jne 0x401359
mov dword [0x42e069], 0x401091
push str.IODetach
mov eax, dword [0x42e081]
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e031], eax
cmp dword [0x42e031], 0
jne 0x401382
mov dword [0x42e031], 0x401091
push str._io_get_bool
mov ecx, dword [0x42e081]
push ecx
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e04d], eax
cmp dword [0x42e04d], 0
jne 0x4013ac
mov dword [0x42e04d], 0x40106b
push str._io_get_boolean
mov edx, dword [0x42e081]
push edx
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e035], eax
cmp dword [0x42e035], 0
jne 0x4013d6
mov dword [0x42e035], 0x40106b
push str._io_get_char
mov eax, dword [0x42e081]
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e049], eax
cmp dword [0x42e049], 0
jne 0x4013ff
mov dword [0x42e049], 0x40106b
push str._io_get_character
mov ecx, dword [0x42e081]
push ecx
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e051], eax
cmp dword [0x42e051], 0
jne 0x401429
mov dword [0x42e051], 0x40106b
push str._io_get_double
mov edx, dword [0x42e081]
push edx
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e061], eax
cmp dword [0x42e061], 0
jne 0x401453
mov dword [0x42e061], 0x40106b
push str._io_get_int
mov eax, dword [0x42e081]
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e019], eax
cmp dword [0x42e019], 0
jne 0x40147c
mov dword [0x42e019], 0x40106b
push str._io_get_newline
mov ecx, dword [0x42e081]
push ecx
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e06d], eax
cmp dword [0x42e06d], 0
jne 0x4014a6
mov dword [0x42e06d], 0x40106b
push str._io_get_real
mov edx, dword [0x42e081]
push edx
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e059], eax
cmp dword [0x42e059], 0
jne 0x4014d0
mov dword [0x42e059], 0x40106b
push str._io_get_string
mov eax, dword [0x42e081]
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e029], eax
cmp dword [0x42e029], 0
jne 0x4014f9
mov dword [0x42e029], 0x40106b
push str._io_get_line
mov ecx, dword [0x42e081]
push ecx
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e071], eax
cmp dword [0x42e071], 0
jne 0x401523
mov dword [0x42e071], 0x40106b
push str._io_put_char
mov edx, dword [0x42e081]
push edx
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e021], eax
cmp dword [0x42e021], 0
jne 0x40154d
mov dword [0x42e021], 0x40106b
push str._io_put_boolean
mov eax, dword [0x42e081]
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e01d], eax
cmp dword [0x42e01d], 0
jne 0x401576
mov dword [0x42e01d], 0x40106b
push str._io_put_double
mov ecx, dword [0x42e081]
push ecx
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e039], eax
cmp dword [0x42e039], 0
jne 0x4015a0
mov dword [0x42e039], 0x40106b
push str._io_put_int
mov edx, dword [0x42e081]
push edx
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e086], eax
cmp dword [0x42e086], 0
jne 0x4015ca
mov dword [0x42e086], 0x40106b
push str._io_put_newline
mov eax, dword [0x42e081]
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e025], eax
cmp dword [0x42e025], 0
jne 0x4015f3
mov dword [0x42e025], 0x40106b
push str._io_put_real
mov ecx, dword [0x42e081]
push ecx
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e045], eax
cmp dword [0x42e045], 0
jne 0x40161d
mov dword [0x42e045], 0x40106b
push str._io_put_string
mov edx, dword [0x42e081]
push edx
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e075], eax
cmp dword [0x42e075], 0
jne 0x401647
mov dword [0x42e075], 0x40106b
push str.printError
mov eax, dword [0x42e081]
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0x42e055], eax
cmp dword [0x42e055], 0
jne 0x401670
mov dword [0x42e055], 0x40106b
mov byte [section..bss], 1
push 0x417e7b
mov ecx, dword [0x417edb]
push ecx
mov edx, dword [0x42e065]
push edx
call fcn.0040109b
add esp, 0xc
and eax, 0xff
test eax, eax
jne 0x40169f
xor al, al
jmp 0x4016a1
mov al, 1
pop ebp
ret