Function at 0x45e47c
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 0x45e4b7
mov dword [0x4dfb54], 0
mov dword [0x4dfb58], 0
mov dword [0x4dfb50], 1
jmp 0x45e54d
mov eax, dword [ebp - 4]
and eax, 0xff
cmp eax, 4
jge 0x45e52f
mov ecx, dword [ebp - 4]
and ecx, 0xff
cmp ecx, 3
jne 0x45e50f
mov edx, dword [ebp - 4]
and edx, 0xffff
sar edx, 8
and edx, 0xff
and edx, 0xff
cmp edx, 0x5e
jg 0x45e50f
mov dword [0x4dfb54], 0
mov dword [0x4dfb50], 0
mov dword [0x4dfb58], 1
jmp 0x45e52d
mov dword [0x4dfb54], 1
mov dword [0x4dfb50], 0
mov dword [0x4dfb58], 0
jmp 0x45e54d
mov dword [0x4dfb54], 1
mov dword [0x4dfb50], 0
mov dword [0x4dfb58], 0
cmp dword [0x4dfb54], 0
je 0x45e5ec
cmp dword [0x4dfb20], 0
je 0x45e56c
cmp dword [0x4dfb20], 0xffffffff
jne 0x45e58b
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 [0x4dfb20], eax
cmp dword [0x4dfb20], 0xffffffff
jne 0x45e59b
xor al, al
jmp 0x45e807
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [0x4dfb24], eax
cmp dword [0x4dfb28], 0
jne 0x45e5e5
push 0x48e7c8
push 0
push 0x100002
call dword [sym.imp.KERNEL32.dll_OpenSemaphoreA]
mov dword [0x4dfb28], eax
cmp dword [0x4dfb28], 0
jne 0x45e5e5
push str.SAuth95PassThruSem
push 1
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov dword [0x4dfb28], eax
mov al, 1
jmp 0x45e807
cmp dword [0x4dfb58], 0
je 0x45e7e3
cmp dword [0x4dfb5c], 0
jne 0x45e7c6
push str.swa32ut.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x553138], eax
cmp dword [0x553138], 0
je 0x45e7c2
push str.setup
mov eax, dword [0x553138]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5530e4], eax
push str.first
mov ecx, dword [0x553138]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x553134], eax
push str.next
mov edx, dword [0x553138]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x553108], eax
push str.access
mov eax, dword [0x553138]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x55313c], eax
push str.databyte
mov ecx, dword [0x553138]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x553104], eax
push str.gndtest
mov edx, dword [0x553138]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x553140], eax
push str.romdata
mov eax, dword [0x553138]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5530e8], eax
push str.dowcheck
mov ecx, dword [0x553138]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5530f0], eax
push str.keyopen
mov edx, dword [0x553138]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5530f8], eax
push str.keyclose
mov eax, dword [0x553138]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5530dc], eax
push str.OverdriveOn
mov ecx, dword [0x553138]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5530ec], eax
push str.OverdriveOff
mov edx, dword [0x553138]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5530fc], eax
cmp dword [0x5530e4], 0
je 0x45e7a6
cmp dword [0x553134], 0
je 0x45e7a6
cmp dword [0x553108], 0
je 0x45e7a6
cmp dword [0x55313c], 0
je 0x45e7a6
cmp dword [0x553104], 0
je 0x45e7a6
cmp dword [0x553140], 0
je 0x45e7a6
cmp dword [0x5530e8], 0
je 0x45e7a6
cmp dword [0x5530f0], 0
je 0x45e7a6
cmp dword [0x5530dc], 0
je 0x45e7a6
cmp dword [0x5530f8], 0
je 0x45e7a6
mov dword [0x4dfb5c], 1
push 0x45f99b
call fcn.00416d22
add esp, 4
jmp 0x45e7c0
mov eax, dword [0x553138]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x4dfb5c], 0
xor al, al
jmp 0x45e807
jmp 0x45e7c6
xor al, al
jmp 0x45e807
cmp dword [0x5530f0], 0
je 0x45e7da
call dword [0x5530f0]
mov byte [ebp - 8], al
jmp 0x45e7de
mov byte [ebp - 8], 0
mov al, byte [ebp - 8]
jmp 0x45e807
cmp dword [0x4dfb50], 0
je 0x45e805
call fcn.0045e80b
and eax, 0xff
test eax, eax
jne 0x45e801
call fcn.0045e3ac
jmp 0x45e807
mov al, 1
jmp 0x45e807
xor al, al
mov esp, ebp
pop ebp
ret