Function at 0x45185c
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 0x451897
mov dword [0x49b93c], 0
mov dword [0x49b940], 0
mov dword [0x49b938], 1
jmp 0x45192d
mov eax, dword [ebp - 4]
and eax, 0xff
cmp eax, 4
jge 0x45190f
mov ecx, dword [ebp - 4]
and ecx, 0xff
cmp ecx, 3
jne 0x4518ef
mov edx, dword [ebp - 4]
and edx, 0xffff
sar edx, 8
and edx, 0xff
and edx, 0xff
cmp edx, 0x5e
jg 0x4518ef
mov dword [0x49b93c], 0
mov dword [0x49b938], 0
mov dword [0x49b940], 1
jmp 0x45190d
mov dword [0x49b93c], 1
mov dword [0x49b938], 0
mov dword [0x49b940], 0
jmp 0x45192d
mov dword [0x49b93c], 1
mov dword [0x49b938], 0
mov dword [0x49b940], 0
cmp dword [0x49b93c], 0
je 0x4519cc
cmp dword [0x49b914], 0
je 0x45194c
cmp dword [0x49b914], 0xffffffff
jne 0x45196b
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 [0x49b914], eax
cmp dword [0x49b914], 0xffffffff
jne 0x45197b
xor al, al
jmp 0x451be7
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [0x49b918], eax
cmp dword [0x49b91c], 0
jne 0x4519c5
push 0x494300
push 0
push 0x100002
call dword [sym.imp.KERNEL32.dll_OpenSemaphoreA]
mov dword [0x49b91c], eax
cmp dword [0x49b91c], 0
jne 0x4519c5
push str.SAuth95PassThruSem
push 1
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov dword [0x49b91c], eax
mov al, 1
jmp 0x451be7
cmp dword [0x49b940], 0
je 0x451bc3
cmp dword [0x49b944], 0
jne 0x451ba6
push str.swa32ut.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x49d438], eax
cmp dword [0x49d438], 0
je 0x451ba2
push str.setup
mov eax, dword [0x49d438]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49d3ec], eax
push 0x49433c
mov ecx, dword [0x49d438]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49d434], eax
push str.next
mov edx, dword [0x49d438]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49d410], eax
push str.access
mov eax, dword [0x49d438]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49d43c], eax
push str.databyte
mov ecx, dword [0x49d438]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49d40c], eax
push str.gndtest
mov edx, dword [0x49d438]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49d440], eax
push str.romdata
mov eax, dword [0x49d438]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49d3f0], eax
push str.dowcheck
mov ecx, dword [0x49d438]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49d3f8], eax
push str.keyopen
mov edx, dword [0x49d438]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49d400], eax
push str.keyclose
mov eax, dword [0x49d438]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49d3e4], eax
push str.OverdriveOn
mov ecx, dword [0x49d438]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49d3f4], eax
push str.OverdriveOff
mov edx, dword [0x49d438]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x49d404], eax
cmp dword [0x49d3ec], 0
je 0x451b86
cmp dword [0x49d434], 0
je 0x451b86
cmp dword [0x49d410], 0
je 0x451b86
cmp dword [0x49d43c], 0
je 0x451b86
cmp dword [0x49d40c], 0
je 0x451b86
cmp dword [0x49d440], 0
je 0x451b86
cmp dword [0x49d3f0], 0
je 0x451b86
cmp dword [0x49d3f8], 0
je 0x451b86
cmp dword [0x49d3e4], 0
je 0x451b86
cmp dword [0x49d400], 0
je 0x451b86
mov dword [0x49b944], 1
push 0x452d7b
call fcn.00404f71
add esp, 4
jmp 0x451ba0
mov eax, dword [0x49d438]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x49b944], 0
xor al, al
jmp 0x451be7
jmp 0x451ba6
xor al, al
jmp 0x451be7
cmp dword [0x49d3f8], 0
je 0x451bba
call dword [0x49d3f8]
mov byte [ebp - 8], al
jmp 0x451bbe
mov byte [ebp - 8], 0
mov al, byte [ebp - 8]
jmp 0x451be7
cmp dword [0x49b938], 0
je 0x451be5
call fcn.00451beb
and eax, 0xff
test eax, eax
jne 0x451be1
call fcn.0045178c
jmp 0x451be7
mov al, 1
jmp 0x451be7
xor al, al
mov esp, ebp
pop ebp
ret