Function at 0x418450
Capabilities:
Link many functions at runtime

Disassembly:
push 0xffffffffffffffff
push 0x423cd0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
push esi
mov eax, dword [0x42ed38]
push 0x42e00c
push eax
mov dword [esp + 0x24], 1
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
jne 0x418865
mov eax, dword [esp + 0x24]
push ebx
mov ebx, dword [sym.imp.MSVCRT.dll_atoi]
push ebp
push edi
push eax
call ebx
add esp, 4
mov esi, eax
push str.pcid.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x4185dd
push str.DisablePCI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
test edi, edi
je 0x4185dd
mov ecx, dword [0x42ed4c]
push ecx
call ebx
add esp, 4
test eax, eax
jne 0x418526
cmp esi, 0x19
jge 0x4184e6
push 0xa
push 2
call edi
cmp esi, 0x18
jle 0x4184f6
cmp esi, 0x31
jge 0x4184f6
push 0xa
push 4
call edi
cmp esi, 0x30
jle 0x418506
cmp esi, 0x49
jge 0x418506
push 0xa
push 6
call edi
cmp esi, 0x48
jle 0x418516
cmp esi, 0x61
jge 0x418516
push 0xa
push 8
call edi
cmp esi, 0x60
jle 0x418526
cmp esi, 0x79
jge 0x418526
push 0xa
push 0xa
call edi
mov edx, dword [0x42ed4c]
push edx
call ebx
add esp, 4
cmp eax, 2
jne 0x418582
cmp esi, 0x19
jge 0x418542
push 0xa
push 3
call edi
cmp esi, 0x18
jle 0x418552
cmp esi, 0x31
jge 0x418552
push 0xa
push 5
call edi
cmp esi, 0x30
jle 0x418562
cmp esi, 0x49
jge 0x418562
push 0xa
push 7
call edi
cmp esi, 0x48
jle 0x418572
cmp esi, 0x61
jge 0x418572
push 0xa
push 9
call edi
cmp esi, 0x60
jle 0x418582
cmp esi, 0x79
jge 0x418582
push 0xa
push 0xb
call edi
mov eax, dword [0x42ed4c]
push eax
call ebx
add esp, 4
cmp eax, 3
jne 0x4185dd
cmp esi, 0x19
jge 0x41859d
push 0xa
push 4
call edi
cmp esi, 0x18
jle 0x4185ad
cmp esi, 0x31
jge 0x4185ad
push 0xa
push 6
call edi
cmp esi, 0x30
jle 0x4185bd
cmp esi, 0x49
jge 0x4185bd
push 0xa
push 8
call edi
cmp esi, 0x48
jle 0x4185cd
cmp esi, 0x61
jge 0x4185cd
push 0xa
push 0xa
call edi
cmp esi, 0x60
jle 0x4185dd
cmp esi, 0x79
jge 0x4185dd
push 0xa
push 0xc
call edi
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x64
call ebp
push str.rs232.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x41864a
push str.GetID
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41860e
call eax
mov ebx, eax
jmp 0x418612
mov ebx, dword [esp + 0x30]
push 0xc8
call ebp
push str.Switch
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
test edi, edi
je 0x41863d
mov ecx, dword [esp + 0x30]
push ecx
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
push ebx
push eax
call edi
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ebx, dword [sym.imp.MSVCRT.dll_atoi]
push 0x64
call ebp
push str.pcid.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x41868b
push str.DisablePCI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x41868b
mov edx, dword [0x42ed50]
mov edi, dword [0x42ed4c]
push edx
call ebx
add esp, 4
push eax
push edi
call ebx
add esp, 4
push eax
call esi
push 0x64
call ebp
push str.pcid.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x4186cb
push str.EnablePCI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x4186cb
mov eax, dword [0x42ed50]
mov edi, dword [0x42ed4c]
push eax
call ebx
add esp, 4
push eax
push edi
call ebx
add esp, 4
push eax
call esi
push 0x64
call ebp
push str.pciapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x418715
push str.OPENPCI
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
test edi, edi
je 0x418715
mov ecx, dword [0x42ed48]
xor esi, esi
push ecx
call ebx
add esp, 4
test eax, eax
jle 0x418715
call edi
mov edx, dword [0x42ed48]
inc esi
push edx
call ebx
add esp, 4
cmp esi, eax
jl 0x418702
push 0x64
call ebp
push str.driver.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
pop edi
pop ebp
test eax, eax
pop ebx
je 0x418865
push str.InstallDriver
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x418865
mov eax, dword [esp + 0x28]
push 0x42e75c
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
jne 0x418812
lea ecx, [esp + 8]
push ecx
mov ecx, 0x42ec40
call fcn.00402260
push str.612AisinoPCI.inf
lea edx, [esp + 8]
push eax
push edx
mov byte [esp + 0x28], 2
call sub.MFC42.DLL_operator_2
lea ecx, [esp + 8]
mov byte [esp + 0x1c], 4
call sub.MFC42.DLL_CString::CString
push str.PCIVEN_11E3DEV_0014SUBSYS_000511E3REV_01
push 0
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::GetBuffer
push eax
call esi
lea eax, [esp + 0x10]
mov ecx, 0x42ec40
push eax
call fcn.00402260
push str.612AisinoPCI.inf
lea ecx, [esp + 0x10]
push eax
push ecx
mov byte [esp + 0x28], 5
call sub.MFC42.DLL_operator_2
push eax
lea ecx, [esp + 8]
mov byte [esp + 0x20], 6
call fcn.0041edca
lea ecx, [esp + 0xc]
mov byte [esp + 0x1c], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x1c], 4
call sub.MFC42.DLL_CString::CString
push str.PCIVEN_11E3DEV_0014SUBSYS_000511E3REV_02
push 0
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::GetBuffer
push eax
call esi
mov byte [esp + 0x1c], 1
lea ecx, [esp + 4]
jmp 0x418860
lea edx, [esp + 0x10]
mov ecx, 0x42ec40
push edx
call fcn.00402260
push str.610AIPCI.inf
push eax
lea eax, [esp + 0xc]
mov byte [esp + 0x24], 7
push eax
call sub.MFC42.DLL_operator_2
lea ecx, [esp + 0x10]
mov byte [esp + 0x1c], 9
call sub.MFC42.DLL_CString::CString
push str.PCIVEN_11E3DEV_0014SUBSYS_000511E3REV_01
push 0
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::GetBuffer
push eax
call esi
mov byte [esp + 0x1c], 1
lea ecx, [esp + 4]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x1c], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov dword [esp + 0x1c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x14]
pop esi
mov dword fs:[0], ecx
add esp, 0x1c
ret 8