Function at 0x42a038
Capabilities:
Link many functions at runtime

Disassembly:
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
jae 0x42a052
xor eax, eax
xor ecx, ecx
mov edx, 1
jmp 0x42a073
cmp al, 4
jae 0x42a06a
cmp al, 3
jne 0x42a06a
cmp ah, 0x5e
ja 0x42a06a
xor eax, eax
xor edx, edx
mov ecx, 1
jmp 0x42a073
mov eax, 1
xor edx, edx
xor ecx, ecx
mov dword [0x493a14], edx
mov dword [0x493a18], eax
mov dword [0x493a1c], ecx
test eax, eax
je 0x42a100
mov eax, dword [0x4939c8]
test eax, eax
je 0x42a096
cmp eax, 0xffffffff
jne 0x42a0ae
xor eax, eax
push eax
push 0x80
push 4
push eax
push eax
push eax
push str..VSAUTHD.VXD
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [0x4939c8], eax
cmp eax, 0xffffffff
je 0x42a2e3
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [0x4939cc], eax
cmp dword [0x4939d0], esi
jne 0x42a0f9
mov edi, str.SAuth95PassThruSem
push edi
push 1
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push edi
mov dword [0x4939d0], eax
push esi
push 0x100002
call dword [sym.imp.KERNEL32.dll_OpenSemaphoreA]
mov dword [0x4939d0], eax
mov al, 1
jmp 0x42a2e5
xor esi, esi
mov dword [0x493a14], edx
mov dword [0x493a1c], ecx
test ecx, ecx
je 0x42a2a3
cmp dword [0x493a20], esi
jne 0x42a27a
push str.swa32ut.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x4a7ef8], eax
cmp eax, esi
je 0x42a2e3
push str.setup
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
push str.first
mov dword [0x4a7ea8], eax
push dword [0x4a7ef8]
call edi
push str.next
mov dword [0x4a7ef4], eax
mov eax, dword [0x4a7ef8]
push eax
call edi
push str.access
mov dword [0x4a7ecc], eax
mov eax, dword [0x4a7ef8]
push eax
call edi
push str.databyte
mov dword [0x4a7efc], eax
mov eax, dword [0x4a7ef8]
push eax
call edi
push str.gndtest
mov dword [0x4a7ec8], eax
mov eax, dword [0x4a7ef8]
push eax
call edi
push str.romdata
mov dword [0x4a7f00], eax
mov eax, dword [0x4a7ef8]
push eax
call edi
push str.dowcheck
mov dword [0x4a7eac], eax
mov eax, dword [0x4a7ef8]
push eax
call edi
push str.keyopen
mov dword [0x4a7eb4], eax
mov eax, dword [0x4a7ef8]
push eax
call edi
push str.keyclose
mov dword [0x4a7ebc], eax
mov eax, dword [0x4a7ef8]
push eax
call edi
push str.OverdriveOn
mov dword [0x4a7ea0], eax
mov eax, dword [0x4a7ef8]
push eax
call edi
push str.OverdriveOff
mov dword [0x4a7eb0], eax
mov eax, dword [0x4a7ef8]
push eax
call edi
mov dword [0x4a7ec0], eax
cmp dword [0x4a7ea8], esi
je 0x42a28b
cmp dword [0x4a7ef4], esi
je 0x42a28b
cmp dword [0x4a7ecc], esi
je 0x42a28b
cmp dword [0x4a7efc], esi
je 0x42a28b
cmp dword [0x4a7ec8], esi
je 0x42a28b
cmp dword [0x4a7f00], esi
je 0x42a28b
cmp dword [0x4a7eac], esi
je 0x42a28b
cmp dword [0x4a7eb4], esi
je 0x42a28b
cmp dword [0x4a7ea0], esi
je 0x42a28b
cmp dword [0x4a7ebc], esi
je 0x42a28b
mov dword [0x493a20], 1
push 0x42ae26
call fcn.004485aa
add esp, 4
cmp dword [0x4a7eb4], 0
je 0x42a2e3
call dword [0x4a7eb4]
jmp 0x42a2e5
mov eax, dword [0x4a7ef8]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x493a20], 0
jmp 0x42a2e3
xor eax, eax
mov dword [0x493a14], edx
test edx, edx
je 0x42a2e3
push eax
push 0x80
push 3
push eax
push eax
push 0xc0000000
push str.LPT9
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [0x4a7ed0], eax
cmp eax, 0xffffffff
je 0x42a2e3
mov eax, dword [0x4a7ed0]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
jmp 0x42a2e5
xor al, al
pop edi
pop esi
ret