Function at 0x4027d0
Capabilities:
Accept command line arguments

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x4075b7
push eax
mov eax, 0x32600
mov dword fs:[0], esp
call fcn.00406fc0
push ebx
push ebp
push esi
push edi
push 0x400
mov dword [esp + 0x38], ecx
push str._maintcheck
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
add eax, 0xb
push eax
lea eax, [esp + 0x1218]
push eax
call fcn.004049c0
push eax
call fcn.00404ac0
push eax
call fcn.00404c50
lea ecx, [esp + 0x1224]
push ecx
call fcn.00406200
add esp, 0x18
xor esi, esi
test al, al
jne 0x40284b
mov byte [esp + 0x1210], al
mov dl, byte [0x41d420]
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x2211]
mov byte [esp + 0x2210], dl
mov byte [esp + 0xb210], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x2611]
mov byte [esp + 0x2610], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x2a11]
mov byte [esp + 0x2a10], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x2e11]
mov byte [esp + 0x2e10], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x3210]
mov byte [esp + 0x5210], dl
rep stosd dword es:[edi], eax
mov ecx, 0xff
lea edi, [esp + 0xb211]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0xb611]
mov byte [esp + 0xb610], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0xba11]
mov byte [esp + 0xba10], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0xbe11]
mov byte [esp + 0xbe10], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0xc210]
rep stosd dword es:[edi], eax
mov ecx, 0xff
lea edi, [esp + 0x5211]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x5611]
mov byte [esp + 0x5610], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [esp + 0x5a10], dl
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x5a11]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x5e11]
mov byte [esp + 0x5e10], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x6210]
mov byte [esp + 0x7210], dl
rep stosd dword es:[edi], eax
mov ecx, 0xff
lea edi, [esp + 0x7211]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x7611]
mov byte [esp + 0x7610], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x7a11]
mov byte [esp + 0x7a10], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x7e11]
mov byte [esp + 0x7e10], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x8210]
mov byte [esp + reloc.USER32.dll_IsIconic], dl
rep stosd dword es:[edi], eax
mov ecx, 0xff
lea edi, [esp + 0x9211]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x9611]
mov byte [esp + 0x9610], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x9a11]
mov byte [esp + 0x9a10], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x9e11]
mov byte [esp + 0x9e10], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov ecx, 0x400
lea edi, [esp + 0xa210]
xor ebx, ebx
rep stosd dword es:[edi], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], esi
mov ecx, dword [0x40ab08]
mov eax, dword [str.CIMCOEdit]
mov dword [esp + 0x54], ecx
xor ecx, ecx
mov dword [esp + 0x5a], ecx
mov dword [esp + 0x50], eax
mov ax, word [0x40ab0c]
mov dword [esp + 0x5e], ecx
mov dword [esp + 0x62], ecx
mov word [esp + 0x58], ax
mov eax, dword [str.proNCE]
mov dword [esp + 0x66], ecx
mov dword [esp + 0x6a], ecx
mov dword [esp + 0x70], eax
mov al, byte [0x40ab02]
mov word [esp + 0x6e], cx
mov cx, word [0x40ab00]
mov byte [esp + 0x76], al
mov word [esp + 0x74], cx
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x77]
rep stosd dword es:[edi], eax
mov ecx, dword [str.SolidCAMEdit]
mov dword [esp + 0x30], esi
stosb byte es:[edi], al
mov dword [esp + 0x90], ecx
mov ecx, dword [0x40aaf4]
mov eax, dword [0x40aaf0]
mov dword [esp + 0x98], ecx
xor ecx, ecx
mov dword [esp + 0x94], eax
mov al, byte [0x40aaf8]
mov dword [esp + 0x9d], ecx
mov dword [esp + 0xa1], ecx
mov byte [esp + 0x9c], al
mov eax, dword [str.ZKEdit]
mov dword [esp + 0xa5], ecx
mov dword [esp + 0xa9], ecx
mov dword [esp + 0xb0], eax
mov al, byte [0x40aaea]
mov word [esp + 0xad], cx
mov byte [esp + 0xaf], cl
mov cx, word [0x40aae8]
mov word [esp + 0xb4], cx
mov byte [esp + 0xb6], al
mov ecx, 6
xor eax, eax
lea edi, [esp + 0xb7]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov eax, dword [0x40aadc]
mov ecx, dword [str.DCAMEdit]
mov dword [esp + 0xd4], eax
xor eax, eax
mov dword [esp + 0xd9], eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xdd], eax
mov cl, byte [0x40aae0]
mov dword [esp + 0xe1], eax
mov byte [esp + 0xd8], cl
mov dword [esp + 0xe5], eax
mov ecx, dword [str.SuperdraftEdit]
mov dword [esp + 0xe9], eax
mov dword [esp + 0xf0], ecx
mov word [esp + 0xed], ax
mov ecx, dword [0x40aad0]
mov byte [esp + 0xef], al
mov eax, dword [0x40aacc]
mov dword [esp + 0xf4], eax
mov ax, word [0x40aad4]
mov word [esp + 0xfc], ax
xor eax, eax
mov dword [esp + 0xff], eax
mov dword [esp + 0xf8], ecx
mov cl, byte [0x40aad6]
mov dword [esp + 0x103], eax
mov dword [esp + 0x107], eax
mov byte [esp + 0xfe], cl
mov dword [esp + 0x10b], eax
mov byte [esp + 0x10f], al
mov ecx, dword [str.Editwell2005]
mov eax, dword [0x40aabc]
mov dword [esp + 0x110], ecx
mov ecx, dword [0x40aac0]
mov dword [esp + 0x118], ecx
xor ecx, ecx
mov dword [esp + 0x11d], ecx
mov dword [esp + 0x114], eax
mov dword [esp + 0x121], ecx
mov al, byte [0x40aac4]
mov dword [esp + 0x125], ecx
mov byte [esp + 0x11c], al
mov dword [esp + 0x129], ecx
mov eax, dword [str.CIMCOE1]
mov word [esp + 0x12d], cx
mov dword [esp + 0x130], eax
mov byte [esp + 0x12f], cl
mov ecx, dword [0x40aab0]
mov dword [esp + 0x134], ecx
xor ecx, ecx
mov dword [esp + 0x139], ecx
mov al, byte [0x40aab4]
mov dword [esp + 0x13d], ecx
mov byte [esp + 0x138], al
mov dword [esp + 0x141], ecx
mov eax, dword [str.EDITWE1]
mov dword [esp + 0x145], ecx
mov dword [esp + 0x150], eax
mov dword [esp + 0x149], ecx
mov al, byte [0x40aaa8]
mov word [esp + 0x14d], cx
mov byte [esp + 0x158], al
mov byte [esp + 0x14f], cl
mov ecx, dword [0x40aaa4]
mov dword [esp + 0x154], ecx
xor ecx, ecx
mov dword [esp + 0x159], ecx
mov eax, dword [str.SOLIDC1]
mov dword [esp + 0x15d], ecx
mov dword [esp + 0x170], eax
mov dword [esp + 0x161], ecx
mov al, byte [0x40aa9c]
mov dword [esp + 0x165], ecx
mov byte [esp + 0x178], al
mov dword [esp + 0x169], ecx
mov eax, dword [str.SUPERD1]
mov word [esp + 0x16d], cx
mov dword [esp + 0x190], eax
mov byte [esp + 0x16f], cl
mov ecx, dword [0x40aa98]
mov dword [esp + 0x174], ecx
xor ecx, ecx
mov dword [esp + 0x179], ecx
mov al, byte [0x40aa90]
mov dword [esp + 0x17d], ecx
mov byte [esp + 0x198], al
mov dword [esp + 0x181], ecx
mov eax, dword [str.HSMWOR1]
mov dword [esp + 0x185], ecx
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x189], ecx
mov al, byte [0x40aa84]
mov word [esp + 0x18d], cx
mov byte [esp + 0x1b8], al
mov byte [esp + 0x18f], cl
mov ecx, dword [0x40aa8c]
mov dword [esp + 0x194], ecx
xor ecx, ecx
mov dword [esp + 0x199], ecx
mov dword [esp + 0x19d], ecx
mov dword [esp + 0x1a1], ecx
mov dword [esp + 0x1a5], ecx
mov dword [esp + 0x1a9], ecx
mov word [esp + 0x1ad], cx
mov byte [esp + 0x1af], cl
mov ecx, dword [0x40aa80]
mov dword [esp + 0x1b4], ecx
xor ecx, ecx
mov dword [esp + 0x1b9], ecx
mov dword [esp + 0x1bd], ecx
mov dword [esp + 0x1c1], ecx
mov eax, dword [str.HSMWorksEdit]
mov dword [esp + 0x1c5], ecx
mov dword [esp + 0x1d0], eax
mov eax, dword [0x40aa74]
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1c9], ecx
xor eax, eax
mov word [esp + 0x1cd], cx
mov dword [esp + 0x1dd], eax
mov byte [esp + 0x1cf], cl
mov ecx, dword [0x40aa70]
mov dword [esp + 0x1e1], eax
mov dword [esp + 0x1e5], eax
mov dword [esp + 0x1d4], ecx
mov cl, byte [0x40aa78]
mov dword [esp + 0x1e9], eax
mov byte [esp + 0x1dc], cl
mov word [esp + 0x1ed], ax
mov ecx, 7
lea edi, [esp + 0x1f1]
mov byte [esp + 0x1ef], al
mov byte [esp + 0x1f0], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [esp + 0x50]
mov dword [esp + 0x14], esi
test al, al
je 0x403435
lea ecx, [esp + 0x50]
lea edx, [esp + 0x2210]
lea eax, [esp + 0x2210]
lea ebp, [esp + 0x50]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
push ebp
lea ecx, [esp + 0xd214]
push str.HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionApp_Paths_s.exe_
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov dl, byte [0x41d420]
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x61d]
mov byte [esp + 0x61c], dl
push 0x800
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x620]
lea ecx, [esp + 0xd220]
push eax
push ecx
call fcn.004067e0
lea edx, [esp + 0x628]
push edx
call fcn.00404c50
push eax
call fcn.00406220
add esp, 0x20
test al, al
je 0x40301d
lea eax, [esp + 0x610]
push 0x800
lea ecx, [esp + 0x614]
push eax
push ecx
call fcn.004063b0
add esp, 0xc
xor esi, esi
test ebx, ebx
jle 0x402ff1
lea edi, [esp + 0x2210]
lea edx, [esp + 0x610]
push edx
push edi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x402fed
inc esi
add edi, 0x400
cmp esi, ebx
jl 0x402fca
jmp 0x402ff1
cmp esi, ebx
jl 0x40301d
cmp ebx, 8
jge 0x40301d
mov ecx, dword [esp + 0x10]
push 0x400
mov eax, ecx
add ecx, 0x400
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x614]
push ecx
push eax
inc ebx
call fcn.004049c0
add esp, 0xc
lea edx, [esp + 0x1210]
push ebp
push edx
lea eax, [esp + 0x618]
push str._s_s
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea ecx, [esp + 0x620]
push ecx
call fcn.00404c50
push eax
call fcn.00406220
add esp, 0x18
test al, al
je 0x4030d2
lea edx, [esp + 0x610]
push 0x800
lea eax, [esp + 0x614]
push edx
push eax
call fcn.004063b0
add esp, 0xc
xor esi, esi
test ebx, ebx
jle 0x4030a6
mov ebp, dword [sym.imp.MSVCRT.dll__stricmp]
lea edi, [esp + 0x2210]
lea ecx, [esp + 0x610]
push ecx
push edi
call ebp
add esp, 8
test eax, eax
je 0x4030a2
inc esi
add edi, 0x400
cmp esi, ebx
jl 0x403083
jmp 0x4030a6
cmp esi, ebx
jl 0x4030d2
cmp ebx, 8
jge 0x4030d2
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x610]
mov eax, ecx
push 0x400
add ecx, 0x400
push edx
push eax
inc ebx
mov dword [esp + 0x1c], ecx
call fcn.004049c0
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
jg 0x403402
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x1210]
push eax
push ecx
lea edx, [esp + 0x618]
push str._sCIMCOEdit5_s
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
lea eax, [esp + 0x620]
push eax
call fcn.00404c50
push eax
call fcn.00406220
add esp, 0x18
test al, al
je 0x4031a5
lea ecx, [esp + 0x610]
push 0x800
lea edx, [esp + 0x614]
push ecx
push edx
call fcn.004063b0
add esp, 0xc
xor esi, esi
test ebx, ebx
jle 0x403171
mov ebp, dword [sym.imp.MSVCRT.dll__stricmp]
lea edi, [esp + 0x2210]
lea eax, [esp + 0x610]
push eax
push edi
call ebp
add esp, 8
test eax, eax
je 0x40316b
inc esi
add edi, 0x400
cmp esi, ebx
jl 0x40314c
jmp 0x403177
cmp esi, ebx
jl 0x4031ab
jmp 0x403177
mov ebp, dword [sym.imp.MSVCRT.dll__stricmp]
cmp ebx, 8
jge 0x4031ab
mov ecx, dword [esp + 0x10]
push 0x400
mov eax, ecx
add ecx, 0x400
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x614]
push ecx
push eax
inc ebx
call fcn.004049c0
add esp, 0xc
jmp 0x4031ab
mov ebp, dword [sym.imp.MSVCRT.dll__stricmp]
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x610]
push edx
push str.C:CIMCOCIMCOEdit5_s
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea ecx, [esp + 0x61c]
push 0x800
lea edx, [esp + 0x620]
push ecx
push edx
call fcn.004063b0
lea eax, [esp + 0x628]
push eax
call fcn.00404c50
push eax
call fcn.00406220
add esp, 0x20
test al, al
je 0x403253
xor esi, esi
test ebx, ebx
jle 0x403227
lea edi, [esp + 0x2210]
lea ecx, [esp + 0x610]
push ecx
push edi
call ebp
add esp, 8
test eax, eax
je 0x403223
inc esi
add edi, 0x400
cmp esi, ebx
jl 0x403204
jmp 0x403227
cmp esi, ebx
jl 0x403253
cmp ebx, 8
jge 0x403253
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x610]
mov eax, ecx
push 0x400
add ecx, 0x400
push edx
push eax
inc ebx
mov dword [esp + 0x1c], ecx
call fcn.004049c0
add esp, 0xc
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x610]
push eax
call fcn.00401020
mov al, byte [esp + 0x610]
test al, al
je 0x403402
mov edi, str.CIMCOCIMCOEdit5CIMCOEdit.exe
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x610]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x800
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x614]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x618]
push ecx
call fcn.004063b0
lea edx, [esp + 0x61c]
push edx
call fcn.00404c50
push eax
call fcn.00406220
add esp, 0x14
test al, al
je 0x403333
mov ebp, dword [esp + 0x18]
xor esi, esi
test ebx, ebx
jle 0x403305
mov edi, dword [sym.imp.MSVCRT.dll__stricmp]
lea eax, [esp + 0x610]
push eax
push ebp
call edi
add esp, 8
test eax, eax
je 0x403301
inc esi
cmp esi, ebx
jl 0x4032e8
jmp 0x403305
cmp esi, ebx
jl 0x403337
cmp ebx, 8
jge 0x403337
mov ecx, dword [esp + 0x10]
push 0x400
mov eax, ecx
add ecx, 0x400
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x614]
push ecx
push eax
inc ebx
call fcn.004049c0
add esp, 0xc
jmp 0x403337
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x610]
push edx
call fcn.00401020
mov edi, str.Superdraft5SuperdraftEdit5SuperdraftEdit.exe
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x610]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x800
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x614]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x618]
push ecx
call fcn.004063b0
lea edx, [esp + 0x61c]
push edx
call fcn.00404c50
push eax
call fcn.00406220
add esp, 0x14
test al, al
je 0x403402
xor esi, esi
test ebx, ebx
jle 0x4033d6
mov edi, dword [sym.imp.MSVCRT.dll__stricmp]
lea eax, [esp + 0x610]
push eax
push ebp
call edi
add esp, 8
test eax, eax
je 0x4033d2
inc esi
cmp esi, ebx
jl 0x4033b9
jmp 0x4033d6
cmp esi, ebx
jl 0x403402
cmp ebx, 8
jge 0x403402
mov ecx, dword [esp + 0x10]
push 0x400
mov eax, ecx
add ecx, 0x400
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x614]
push ecx
push eax
inc ebx
call fcn.004049c0
add esp, 0xc
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
add ebp, 0x20
inc esi
add edx, 0x400
mov al, byte [ebp]
mov dword [esp + 0x14], esi
test al, al
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebp
jne 0x402f38
mov dword [esp + 0x44], ebx
xor esi, esi
cmp ebx, esi
mov dword [esp + 0x14], esi
jle 0x403898
lea edi, [esp + 0x2210]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x14], ebx
mov ebx, dword [sym.imp.MSVCRT.dll_strrchr]
mov dword [esp + 0x3c], edi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xe10]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x5c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call ebx
add esp, 8
test eax, eax
je 0x40387b
lea eax, [esp + 0xe10]
push 0x5c
push eax
call ebx
lea ecx, [esp + 0xe18]
push 0x5c
push ecx
mov byte [eax], 0
call ebx
add esp, 0x10
test eax, eax
je 0x40387b
lea edx, [esp + 0xe10]
push 0x5c
push edx
call dword [sym.imp.MSVCRT.dll_strrchr]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x38]
mov byte [eax], 0
mov eax, ebx
mov edx, ebp
mov edi, dword [sym.imp.MSVCRT.dll_sprintf]
shl eax, 0xa
shl edx, 0xa
lea ecx, [esp + eax + 0xb218]
add esp, 8
lea eax, [esp + edx + reloc.USER32.dll_IsIconic]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
xor esi, esi
shl ecx, 0xa
shl eax, 0xa
lea edx, [esp + ecx + 0x7210]
mov dword [esp + 0x1c], esi
lea ecx, [esp + eax + 0x5210]
mov dword [esp + 0x30], edx
mov dword [esp + 0x18], ecx
jmp 0x40352e
mov edi, dword [sym.imp.MSVCRT.dll_sprintf]
mov esi, dword [esp + 0x1c]
test esi, esi
mov eax, str.DNCMax5_
jne 0x40353c
mov eax, 0x41d420
lea edx, [esp + 0xe10]
push eax
push edx
lea eax, [esp + 0x1618]
push str._s_sDNCMax5.exe
push eax
call edi
add esp, 0x10
mov eax, str.NCBase5_
test esi, esi
jne 0x403565
mov eax, 0x41d420
lea ecx, [esp + 0xe10]
push eax
push ecx
lea edx, [esp + 0x618]
push str._s_sNCBaseServer.exe
push edx
call edi
add esp, 0x10
mov eax, str.MDCMax5_
test esi, esi
jne 0x40358e
mov eax, 0x41d420
push eax
lea eax, [esp + 0xe14]
push eax
lea ecx, [esp + 0x1a18]
push str._s_sMDCMax.exe
push ecx
call edi
add esp, 0x10
mov eax, str.LicenseServer_
test esi, esi
jne 0x4035b7
mov eax, 0x41d420
lea edx, [esp + 0xe10]
push eax
push edx
lea eax, [esp + 0x1e18]
push str._s_sCIMCOLicenseSrv.exe
push eax
call edi
lea ecx, [esp + 0x1620]
push ecx
call fcn.00404c50
push eax
call fcn.00406220
add esp, 0x18
test al, al
je 0x40367e
lea edx, [esp + 0x210]
push 0x400
lea eax, [esp + 0x1614]
push edx
push eax
call fcn.004063b0
mov eax, dword [esp + 0x34]
add esp, 0xc
xor esi, esi
test eax, eax
jle 0x403648
lea edi, [esp + 0x5210]
lea ecx, [esp + 0x210]
push ecx
push edi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x403642
mov eax, dword [esp + 0x28]
inc esi
add edi, 0x400
cmp esi, eax
jl 0x40361b
jmp 0x403648
cmp esi, dword [esp + 0x28]
jl 0x40367e
cmp dword [esp + 0x28], 8
jge 0x40367e
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
lea edx, [esp + 0x210]
mov eax, ecx
push 0x400
inc esi
add ecx, 0x400
push edx
push eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x24], ecx
call fcn.004049c0
add esp, 0xc
lea eax, [esp + 0x1a10]
push eax
call fcn.00404c50
push eax
call fcn.00406220
add esp, 8
test al, al
je 0x40372d
lea ecx, [esp + 0x210]
push 0x400
lea edx, [esp + 0x1a14]
push ecx
push edx
call fcn.004063b0
mov eax, dword [esp + 0x30]
add esp, 0xc
xor esi, esi
test eax, eax
jle 0x4036f7
lea edi, [esp + 0x7210]
lea eax, [esp + 0x210]
push eax
push edi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x4036f1
mov eax, dword [esp + 0x24]
inc esi
add edi, 0x400
cmp esi, eax
jl 0x4036ca
jmp 0x4036f7
cmp esi, dword [esp + 0x24]
jl 0x40372d
cmp dword [esp + 0x24], 8
jge 0x40372d
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov eax, ecx
add ecx, 0x400
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x210]
push 0x400
inc edx
push ecx
push eax
mov dword [esp + 0x30], edx
call fcn.004049c0
add esp, 0xc
lea edx, [esp + 0x1e10]
push edx
call fcn.00404c50
push eax
call fcn.00406220
add esp, 8
test al, al
je 0x4037c4
lea eax, [esp + 0x210]
push 0x400
lea ecx, [esp + 0x1e14]
push eax
push ecx
call fcn.004063b0
add esp, 0xc
xor esi, esi
test ebp, ebp
jle 0x403798
lea edi, [esp + reloc.USER32.dll_IsIconic]
lea edx, [esp + 0x210]
push edx
push edi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x403794
inc esi
add edi, 0x400
cmp esi, ebp
jl 0x403771
jmp 0x403798
cmp esi, ebp
jl 0x4037c4
cmp ebp, 8
jge 0x4037c4
mov ecx, dword [esp + 0x20]
push 0x400
mov eax, ecx
add ecx, 0x400
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x214]
push ecx
push eax
inc ebp
call fcn.004049c0
add esp, 0xc
lea edx, [esp + 0x610]
push edx
call fcn.00404c50
push eax
call fcn.00406220
add esp, 8
test al, al
je 0x40385b
lea eax, [esp + 0x210]
push 0x400
lea ecx, [esp + 0x614]
push eax
push ecx
call fcn.004063b0
add esp, 0xc
xor esi, esi
test ebx, ebx
jle 0x40382f
lea edi, [esp + 0xb210]
lea edx, [esp + 0x210]
push edx
push edi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x40382b
inc esi
add edi, 0x400
cmp esi, ebx
jl 0x403808
jmp 0x40382f
cmp esi, ebx
jl 0x40385b
cmp ebx, 8
jge 0x40385b
mov ecx, dword [esp + 0x10]
push 0x400
mov eax, ecx
add ecx, 0x400
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x214]
push ecx
push eax
inc ebx
call fcn.004049c0
add esp, 0xc
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, 2
mov dword [esp + 0x1c], eax
jl 0x403524
mov dword [esp + 0x20], ebx
mov ebx, dword [sym.imp.MSVCRT.dll_strrchr]
mov dword [esp + 0x30], ebp
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
add edi, 0x400
dec eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], eax
jne 0x40345a
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
shl edx, 0xa
shl ecx, 0xa
lea eax, [esp + edx + 0xb210]
xor ebx, ebx
lea edx, [esp + ecx + reloc.USER32.dll_IsIconic]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], ebx
shl eax, 0xa
shl edx, 0xa
lea ecx, [esp + eax + 0x7210]
lea eax, [esp + edx + 0x5210]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
cmp ebx, 3
jge 0x403910
mov ecx, dword [esp + 0x14]
mov esi, dword [sym.imp.MSVCRT.dll_sprintf]
add ecx, 0x43
lea edx, [esp + 0x210]
push ecx
push str._c:CIMCO
push edx
call esi
add esp, 0xc
jmp 0x403a08
cmp ebx, 4
jne 0x40396b
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x210]
push eax
call fcn.00401020
mov al, byte [esp + 0x210]
test al, al
je 0x403d2c
mov edi, str.CIMCO
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x210]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x403a02
cmp ebx, 5
jne 0x4039c3
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x210]
push eax
call fcn.00401020
mov al, byte [esp + 0x210]
test al, al
je 0x403d2c
mov edi, str.Superdraft5
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x210]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x403a02
cmp ebx, 6
jne 0x403a02
lea edi, [esp + 0x1210]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x210]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [esp + 0x210]
test al, al
jne 0x403d2c
mov esi, dword [sym.imp.MSVCRT.dll_sprintf]
lea ecx, [esp + 0x210]
lea edx, [esp + 0x610]
push ecx
push str._sDNCMax5DNCMax5.exe
push edx
call esi
add esp, 0xc
lea eax, [esp + 0x210]
lea ecx, [esp + 0x1a10]
push eax
push str._sNCBase5NCBaseServer.exe
push ecx
call esi
add esp, 0xc
lea edx, [esp + 0x210]
lea eax, [esp + 0x1e10]
push edx
push str._sMDCMax5MDCMax.exe
push eax
call esi
add esp, 0xc
cmp ebx, 5
jne 0x403a72
lea ecx, [esp + 0x210]
lea edx, [esp + 0x1610]
push ecx
push str._sLicenseServerCIMCOLicenseSrv.exe
push edx
jmp 0x403a87
lea eax, [esp + 0x210]
lea ecx, [esp + 0x1610]
push eax
push str._sLicenseServerLicenseSrv.exe
push ecx
call esi
add esp, 0xc
lea edx, [esp + 0x610]
push edx
call fcn.00404c50
push eax
call fcn.00406220
add esp, 8
test al, al
je 0x403b3b
lea eax, [esp + 0xe10]
push 0x400
lea ecx, [esp + 0x614]
push eax
push ecx
call fcn.004063b0
mov ebx, dword [esp + 0x34]
add esp, 0xc
xor esi, esi
test ebx, ebx
jle 0x403b03
mov ebp, dword [sym.imp.MSVCRT.dll__stricmp]
lea edi, [esp + 0x5210]
lea edx, [esp + 0xe10]
push edx
push edi
call ebp
add esp, 8
test eax, eax
je 0x403afd
inc esi
add edi, 0x400
cmp esi, ebx
jl 0x403ade
jmp 0x403b09
cmp esi, ebx
jl 0x403b41
jmp 0x403b09
mov ebp, dword [sym.imp.MSVCRT.dll__stricmp]
cmp ebx, 8
jge 0x403b41
mov ecx, dword [esp + 0x38]
push 0x400
mov eax, ecx
add ecx, 0x400
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0xe14]
inc ebx
push ecx
push eax
mov dword [esp + 0x34], ebx
call fcn.004049c0
add esp, 0xc
jmp 0x403b41
mov ebp, dword [sym.imp.MSVCRT.dll__stricmp]
lea edx, [esp + 0x1e10]
push edx
call fcn.00404c50
push eax
call fcn.00406220
add esp, 8
test al, al
je 0x403be0
lea eax, [esp + 0xe10]
push 0x400
lea ecx, [esp + 0x1e14]
push eax
push ecx
call fcn.004063b0
mov ebx, dword [esp + 0x30]
add esp, 0xc
xor esi, esi
test ebx, ebx
jle 0x403bb0
lea edi, [esp + 0x7210]
lea edx, [esp + 0xe10]
push edx
push edi
call ebp
add esp, 8
test eax, eax
je 0x403bac
inc esi
add edi, 0x400
cmp esi, ebx
jl 0x403b8d
jmp 0x403bb0
cmp esi, ebx
jl 0x403be0
cmp ebx, 8
jge 0x403be0
mov ecx, dword [esp + 0x3c]
push 0x400
mov eax, ecx
add ecx, 0x400
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0xe14]
inc ebx
push ecx
push eax
mov dword [esp + 0x30], ebx
call fcn.004049c0
add esp, 0xc
lea edx, [esp + 0x1610]
push edx
call fcn.00404c50
push eax
call fcn.00406220
add esp, 8
test al, al
je 0x403c7f
lea eax, [esp + 0xe10]
push 0x400
lea ecx, [esp + 0x1614]
push eax
push ecx
call fcn.004063b0
mov ebx, dword [esp + 0x3c]
add esp, 0xc
xor esi, esi
test ebx, ebx
jle 0x403c4f
lea edi, [esp + reloc.USER32.dll_IsIconic]
lea edx, [esp + 0xe10]
push edx
push edi
call ebp
add esp, 8
test eax, eax
je 0x403c4b
inc esi
add edi, 0x400
cmp esi, ebx
jl 0x403c2c
jmp 0x403c4f
cmp esi, ebx
jl 0x403c7f
cmp ebx, 8
jge 0x403c7f
mov ecx, dword [esp + 0x1c]
push 0x400
mov eax, ecx
add ecx, 0x400
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0xe14]
inc ebx
push ecx
push eax
mov dword [esp + 0x3c], ebx
call fcn.004049c0
add esp, 0xc
lea edx, [esp + 0x1a10]
push edx
call fcn.00404c50
push eax
call fcn.00406220
add esp, 8
test al, al
je 0x403d2c
lea eax, [esp + 0xe10]
push 0x400
lea ecx, [esp + 0x1a14]
push eax
push ecx
call fcn.004063b0
mov ebx, dword [esp + 0x2c]
add esp, 0xc
xor esi, esi
test ebx, ebx
jle 0x403cf8
mov ebp, dword [sym.imp.MSVCRT.dll__stricmp]
lea edi, [esp + 0xb210]
lea edx, [esp + 0xe10]
push edx
push edi
call ebp
add esp, 8
test eax, eax
je 0x403cf0
inc esi
add edi, 0x400
cmp esi, ebx
jl 0x403cd1
jmp 0x403cf8
cmp esi, ebx
jl 0x403d2c
mov ebx, dword [esp + 0x20]
cmp ebx, 8
jge 0x403d2c
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov eax, ecx
add ecx, 0x400
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0xe10]
push 0x400
inc ebx
push ecx
push eax
mov dword [esp + 0x2c], ebx
call fcn.004049c0
add esp, 0xc
mov ebx, dword [esp + 0x10]
inc ebx
cmp ebx, 4
mov dword [esp + 0x10], ebx
jl 0x4038e6
xor ebp, ebp
lea ebx, [esp + 0x12210]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebp
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x14]
cmp eax, edx
jge 0x403de0
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x210]
push eax
lea edx, [esp + ecx + 0x2214]
push edx
call fcn.00402650
add esp, 8
test al, al
je 0x403de0
xor esi, esi
test ebp, ebp
jle 0x403db3
lea edi, [esp + 0x12210]
lea eax, [esp + 0x210]
push edi
push eax
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x403daf
inc esi
add edi, 0x400
cmp esi, ebp
jl 0x403d8c
jmp 0x403db3
cmp esi, ebp
jl 0x403de0
mov edx, ebx
lea edi, [esp + 0x210]
or ecx, 0xffffffff
xor eax, eax
inc ebp
add ebx, 0x400
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
cmp eax, ecx
jge 0x403e71
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x210]
push edx
lea ecx, [esp + eax + 0x5214]
push ecx
call fcn.00402650
add esp, 8
test al, al
je 0x403e71
xor esi, esi
test ebp, ebp
jle 0x403e44
lea edi, [esp + 0x12210]
lea edx, [esp + 0x210]
push edi
push edx
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x403e40
inc esi
add edi, 0x400
cmp esi, ebp
jl 0x403e1d
jmp 0x403e44
cmp esi, ebp
jl 0x403e71
mov edx, ebx
lea edi, [esp + 0x210]
or ecx, 0xffffffff
xor eax, eax
inc ebp
add ebx, 0x400
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
cmp eax, ecx
jge 0x403f02
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x210]
push edx
lea ecx, [esp + eax + 0x7214]
push ecx
call fcn.00402650
add esp, 8
test al, al
je 0x403f02
xor esi, esi
test ebp, ebp
jle 0x403ed5
lea edi, [esp + 0x12210]
lea edx, [esp + 0x210]
push edi
push edx
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x403ed1
inc esi
add edi, 0x400
cmp esi, ebp
jl 0x403eae
jmp 0x403ed5
cmp esi, ebp
jl 0x403f02
mov edx, ebx
lea edi, [esp + 0x210]
or ecx, 0xffffffff
xor eax, eax
inc ebp
add ebx, 0x400
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
cmp eax, ecx
jge 0x403f93
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x210]
push edx
lea ecx, [esp + eax + 0xb214]
push ecx
call fcn.00402650
add esp, 8
test al, al
je 0x403f93
xor esi, esi
test ebp, ebp
jle 0x403f66
lea edi, [esp + 0x12210]
lea edx, [esp + 0x210]
push edi
push edx
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x403f62
inc esi
add edi, 0x400
cmp esi, ebp
jl 0x403f3f
jmp 0x403f66
cmp esi, ebp
jl 0x403f93
mov edx, ebx
lea edi, [esp + 0x210]
or ecx, 0xffffffff
xor eax, eax
inc ebp
add ebx, 0x400
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
cmp eax, ecx
jge 0x404024
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x210]
push edx
lea ecx, [esp + eax + 0x9214]
push ecx
call fcn.00402650
add esp, 8
test al, al
je 0x404024
xor esi, esi
test ebp, ebp
jle 0x403ff7
lea edi, [esp + 0x12210]
lea edx, [esp + 0x210]
push edi
push edx
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x403ff3
inc esi
add edi, 0x400
cmp esi, ebp
jl 0x403fd0
jmp 0x403ff7
cmp esi, ebp
jl 0x404024
mov edx, ebx
lea edi, [esp + 0x210]
or ecx, 0xffffffff
xor eax, eax
inc ebp
add ebx, 0x400
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
add eax, 0x400
inc esi
cmp eax, 0x2000
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
jl 0x403d4f
xor esi, esi
mov dword [esp + 0x34], esi
call fcn.00402450
push 0x41d420
lea ecx, [esp + 0x44]
mov dword [esp + 0x40], eax
call fcn.00406e30
cmp ebp, esi
mov dword [esp + 0x32618], esi
jle 0x404275
lea ecx, [esp + 0x22610]
mov dword [esp + 0x38], ebp
mov ebp, dword [sym.imp.MSVCRT.dll__mbscmp]
lea ebx, [esp + 0x12210]
mov dword [esp + 0x44], ecx
mov al, byte [esp + 0x1210]
mov byte [esp + 0x2f], 0
test al, al
je 0x4040c9
lea edi, [esp + 0x1210]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x1210]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x404259
lea eax, [esp + 0x2f]
lea ecx, [esp + 0x4210]
push eax
push ecx
push ebx
call fcn.00406ac0
add esp, 0xc
test al, al
je 0x404259
mov al, byte [esp + 0x2f]
test al, al
je 0x404259
mov al, byte [esp + 0x4210]
mov esi, dword [esp + 0x46c0]
cmp al, 1
jg 0x404113
cmp byte [esp + 0x4211], 0x18
jl 0x404259
mov eax, dword [esp + 0x4654]
test eax, eax
jne 0x404259
cmp word [esp + 0x444f], 3
je 0x404259
push str.HSMWorks
push ebx
call fcn.00404b30
add esp, 8
test eax, eax
jne 0x404259
test esi, esi
jne 0x40415c
mov eax, dword [esp + 0x46c4]
test eax, eax
je 0x40415c
lea esi, [eax + 0x76a700]
cmp esi, dword [esp + 0x3c]
jge 0x404259
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x34]
mov edx, eax
add eax, 0x400
mov dword [esp + 0x44], eax
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
inc esi
push 0x41d420
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x38], esi
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x44]
push ecx
call ebp
add esp, 8
test eax, eax
jne 0x404203
push 0x40a844
lea ecx, [esp + 0x1c]
call fcn.00406e30
push ebx
lea edx, [esp + 0x20]
push eax
push edx
mov byte [esp + 0x32624], 1
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x3261c], 2
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x1c]
mov byte [esp + 0x32618], 1
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0x32618], 0
lea ecx, [esp + 0x18]
jmp 0x404254
push 0x40a840
lea ecx, [esp + 0x50]
call fcn.00406e30
push ebx
push eax
lea eax, [esp + 0x1c]
mov byte [esp + 0x32620], 3
push eax
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x3261c], 4
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x14]
mov byte [esp + 0x32618], 3
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0x32618], 0
lea ecx, [esp + 0x4c]
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x38]
add ebx, 0x400
dec eax
mov dword [esp + 0x38], eax
jne 0x40408d
cmp dword [esp + 0x34], 1
jge 0x40428d
lea ecx, [esp + 0x40]
mov dword [esp + 0x32618], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov al, 1
jmp 0x404307
lea ecx, [esp + 0x22210]
push 0
push ecx
call fcn.00405cc0
mov edx, dword [esp + 0x48]
add esp, 8
lea eax, [esp + 0xe210]
push edx
push str.Maintenance_is_expired_on_the_following_keyfile_s_:_n_n_s_n_nIf_you_proceed_with_the_installation_you_might_not_be_able_to_run_the_software_until_your_license_is_updated__n_nTo_purchase_a_maintenance_update_you_must_contact_your_local_reseller._n_nAre_you_sure_you_wish_to_proceed_
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea ecx, [esp + 0x48]
push str.Maintenance_Expired_
call fcn.00406e30
mov ecx, dword [esp + 0x48]
push 0x2014
lea edx, [esp + 0xe214]
push ecx
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
lea ecx, [esp + 0x48]
sete bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x40]
mov dword [esp + 0x32618], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov al, bl
mov ecx, dword [esp + 0x32610]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x3260c
ret