Function at 0x1000de69
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
xor eax, eax
mov al, byte [0x10029e2a]
test eax, eax
je 0x1000de82
jmp 0x1000e122
xor ecx, ecx
mov cl, byte [0x10029e28]
test ecx, ecx
je 0x1000ded6
call fcn.1000da60
and eax, 0xff
test eax, eax
jne 0x1000dea1
jmp 0x1000e122
call fcn.1000db0e
and eax, 0xff
test eax, eax
jne 0x1000deb9
call fcn.1000daea
jmp 0x1000e122
call fcn.1000dc50
and eax, 0xff
test eax, eax
jne 0x1000ded6
call fcn.1000ddd6
call fcn.1000daea
jmp 0x1000e122
mov edx, dword [str.DLPortIO.dll]
push edx
lea eax, [ebp - 0x104]
push eax
call fcn.1000f480
add esp, 8
push 0x10029c18
call fcn.1000ef40
add esp, 4
test eax, eax
jbe 0x1000df3a
push 0x10029c18
lea ecx, [ebp - 0x104]
push ecx
call fcn.1000f480
add esp, 8
push 0x1001cba8
lea edx, [ebp - 0x104]
push edx
call fcn.1000f480
add esp, 8
mov eax, dword [str.DLPortIO.dll]
push eax
lea ecx, [ebp - 0x104]
push ecx
call fcn.1000f480
add esp, 8
lea edx, [ebp - 0x104]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x10029e24], eax
cmp dword [0x10029e24], 0
je 0x1000e0dc
push str.DlPortReadPortUchar
mov eax, dword [0x10029e24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10029bac], eax
push str.DlPortReadPortUshort
mov ecx, dword [0x10029e24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10029ba8], eax
push str.DlPortReadPortUlong
mov edx, dword [0x10029e24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10029ba4], eax
push str.DlPortWritePortUchar
mov eax, dword [0x10029e24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10029ba0], eax
push str.DlPortWritePortUshort
mov ecx, dword [0x10029e24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10029b9c], eax
push str.DlPortWritePortUlong
mov edx, dword [0x10029e24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10029b98], eax
push str.DlPortReadPortBufferUchar
mov eax, dword [0x10029e24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10029b94], eax
push str.DlPortReadPortBufferUshort
mov ecx, dword [0x10029e24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10029b90], eax
push str.DlPortReadPortBufferUlong
mov edx, dword [0x10029e24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10029b8c], eax
push str.DlPortWritePortBufferUchar
mov eax, dword [0x10029e24]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10029b88], eax
push str.DlPortWritePortBufferUshort
mov ecx, dword [0x10029e24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10029b84], eax
push str.DlPortWritePortBufferUlong
mov edx, dword [0x10029e24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10029b80], eax
cmp dword [0x10029bac], 0
je 0x1000e0dc
cmp dword [0x10029ba8], 0
je 0x1000e0dc
cmp dword [0x10029ba4], 0
je 0x1000e0dc
cmp dword [0x10029ba0], 0
je 0x1000e0dc
cmp dword [0x10029b9c], 0
je 0x1000e0dc
cmp dword [0x10029b98], 0
je 0x1000e0dc
cmp dword [0x10029b94], 0
je 0x1000e0dc
cmp dword [0x10029b90], 0
je 0x1000e0dc
cmp dword [0x10029b8c], 0
je 0x1000e0dc
cmp dword [0x10029b88], 0
je 0x1000e0dc
cmp dword [0x10029b84], 0
je 0x1000e0dc
cmp dword [0x10029b80], 0
je 0x1000e0dc
mov byte [0x10029e2a], 1
xor eax, eax
mov al, byte [0x10029e2a]
test eax, eax
jne 0x1000e122
xor ecx, ecx
mov cl, byte [0x10029e28]
test ecx, ecx
je 0x1000e102
call fcn.1000dd40
call fcn.1000ddd6
call fcn.1000daea
cmp dword [0x10029e24], 0
je 0x1000e122
mov edx, dword [0x10029e24]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x10029e24], 0
mov esp, ebp
pop ebp
ret