Function at 0x49700c
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x80000000
jae 0x497047
mov dword [0x4e374c], 0
mov dword [0x4e3750], 0
mov dword [0x4e3748], 1
jmp 0x4970dd
mov eax, dword [ebp - 4]
and eax, 0xff
cmp eax, 4
jge 0x4970bf
mov ecx, dword [ebp - 4]
and ecx, 0xff
cmp ecx, 3
jne 0x49709f
mov edx, dword [ebp - 4]
and edx, 0xffff
sar edx, 8
and edx, 0xff
and edx, 0xff
cmp edx, 0x5e
jg 0x49709f
mov dword [0x4e374c], 0
mov dword [0x4e3748], 0
mov dword [0x4e3750], 1
jmp 0x4970bd
mov dword [0x4e374c], 1
mov dword [0x4e3748], 0
mov dword [0x4e3750], 0
jmp 0x4970dd
mov dword [0x4e374c], 1
mov dword [0x4e3748], 0
mov dword [0x4e3750], 0
cmp dword [0x4e374c], 0
je 0x49717c
cmp dword [0x4e3718], 0
je 0x4970fc
cmp dword [0x4e3718], 0xffffffff
jne 0x49711b
push 0
push 0x4000000
push 4
push 0
push 0
push 0
push str..VSAUTHD.VXD
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [0x4e3718], eax
cmp dword [0x4e3718], 0xffffffff
jne 0x49712b
xor al, al
jmp 0x497397
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [0x4e371c], eax
cmp dword [0x4e3720], 0
jne 0x497175
push 0x4ddd58
push 0
push 0x100002
call dword [sym.imp.KERNEL32.dll_OpenSemaphoreA]
mov dword [0x4e3720], eax
cmp dword [0x4e3720], 0
jne 0x497175
push str.SAuth95PassThruSem
push 1
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov dword [0x4e3720], eax
mov al, 1
jmp 0x497397
cmp dword [0x4e3750], 0
je 0x497373
cmp dword [0x4e3754], 0
jne 0x497356
push str.swa32ut.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x4e37b8], eax
cmp dword [0x4e37b8], 0
je 0x497352
push str.setup
mov eax, dword [0x4e37b8]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4e3760], eax
push str.first
mov ecx, dword [0x4e37b8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4e37b4], eax
push str.next
mov edx, dword [0x4e37b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4e3784], eax
push str.access
mov eax, dword [0x4e37b8]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4e37bc], eax
push str.databyte
mov ecx, dword [0x4e37b8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4e3780], eax
push str.gndtest
mov edx, dword [0x4e37b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4e37c0], eax
push str.romdata
mov eax, dword [0x4e37b8]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4e3764], eax
push str.dowcheck
mov ecx, dword [0x4e37b8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4e376c], eax
push str.keyopen
mov edx, dword [0x4e37b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4e3774], eax
push str.keyclose
mov eax, dword [0x4e37b8]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4e3758], eax
push str.OverdriveOn
mov ecx, dword [0x4e37b8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4e3768], eax
push str.OverdriveOff
mov edx, dword [0x4e37b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4e3778], eax
cmp dword [0x4e3760], 0
je 0x497336
cmp dword [0x4e37b4], 0
je 0x497336
cmp dword [0x4e3784], 0
je 0x497336
cmp dword [0x4e37bc], 0
je 0x497336
cmp dword [0x4e3780], 0
je 0x497336
cmp dword [0x4e37c0], 0
je 0x497336
cmp dword [0x4e3764], 0
je 0x497336
cmp dword [0x4e376c], 0
je 0x497336
cmp dword [0x4e3758], 0
je 0x497336
cmp dword [0x4e3774], 0
je 0x497336
mov dword [0x4e3754], 1
push 0x49852b
call fcn.0044640c
add esp, 4
jmp 0x497350
mov eax, dword [0x4e37b8]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x4e3754], 0
xor al, al
jmp 0x497397
jmp 0x497356
xor al, al
jmp 0x497397
cmp dword [0x4e376c], 0
je 0x49736a
call dword [0x4e376c]
mov byte [ebp - 8], al
jmp 0x49736e
mov byte [ebp - 8], 0
mov al, byte [ebp - 8]
jmp 0x497397
cmp dword [0x4e3748], 0
je 0x497395
call fcn.0049739b
and eax, 0xff
test eax, eax
jne 0x497391
call fcn.00496f3c
jmp 0x497397
mov al, 1
jmp 0x497397
xor al, al
mov esp, ebp
pop ebp
ret