Function at 0x403f3c
Capabilities:
Terminate process

Disassembly:
mov eax, 0x41ded3
call fcn.0040b998
sub esp, 0x3fc
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [0x427530]
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], ecx
push eax
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 4], eax
call fcn.0040a771
push str.__CWin9X::dw9XSourcePathVerify__
mov byte [ebp - 4], 1
call fcn.004013fd
cmp byte [0x42a13c], 0
pop ecx
jne 0x403fa5
cmp byte [0x42a13d], 0
jne 0x403fa5
cmp byte [0x42a13e], 0
jne 0x403fa5
cmp byte [0x42a13f], 0
je 0x4041bc
cmp byte [0x4265e4], 0
je 0x4041bc
mov ecx, edi
call fcn.0040425b
mov esi, 0x42a45c
push esi
push str.dwGet9XSourcePath___:_s
call fcn.004013fd
cmp byte [0x42a149], 0
pop ecx
pop ecx
jne 0x403fdc
push esi
mov ecx, edi
call fcn.0040431a
mov ebx, dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 1
call ebx
mov dword [ebp - 0x18], eax
mov al, byte [0x42868c]
push 0x40
mov byte [ebp - 0x120], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x11f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, 0x104
lea eax, [ebp - 0x120]
push edi
push esi
push eax
call fcn.0040c150
lea eax, [ebp - 0x120]
push eax
call fcn.0040c0a0
add esp, 0x10
cmp byte [ebp + eax - 0x121], 0x5c
je 0x404043
lea eax, [ebp - 0x120]
push 0x42503c
push eax
call fcn.0040bb40
pop ecx
pop ecx
lea eax, [ebp - 0x120]
push str.PRECOPY1.CAB
push eax
call fcn.0040bb40
pop ecx
lea eax, [ebp - 0x408]
pop ecx
push eax
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x120]
push eax
push str.FindFirstFile___:_s
call fcn.004013fd
cmp dword [ebp - 0x1c], 0xffffffff
pop ecx
pop ecx
je 0x40410c
push edi
lea eax, [ebp - 0x120]
push esi
push eax
call fcn.0040c150
lea eax, [ebp - 0x120]
push eax
call fcn.0040c0a0
add esp, 0x10
cmp byte [ebp + eax - 0x121], 0x5c
je 0x4040c4
lea eax, [ebp - 0x120]
push 0x42503c
push eax
call fcn.0040bb40
pop ecx
pop ecx
lea eax, [ebp - 0x120]
push str.PRECOPY2.CAB
push eax
call fcn.0040bb40
pop ecx
lea eax, [ebp - 0x408]
pop ecx
push eax
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
lea eax, [ebp - 0x120]
push eax
push str.FindFirstFile___:_s
call fcn.004013fd
pop ecx
cmp edi, 0xffffffff
pop ecx
je 0x40410c
mov dword [ebp - 0x14], 1
push dword [ebp - 0x14]
push str.nIsMathed_:_d
call fcn.004013fd
cmp dword [ebp - 0x14], 0
pop ecx
pop ecx
jne 0x4041b7
push esi
lea ecx, [ebp - 0x12c]
call fcn.00415d4f
lea ecx, [ebp - 0x2c8]
call fcn.00416500
cmp eax, 1
je 0x4041b7
push 0xc371
lea ecx, [ebp - 0x10]
call fcn.00415fae
cmp byte [0x42a13c], 0
je 0x40415e
push str.Windows_95
jmp 0x40418c
cmp byte [0x42a13d], 0
je 0x40416e
push str.Windows_95OSR2
jmp 0x40418c
cmp byte [0x42a13e], 0
je 0x40417e
push str.Windows_98
jmp 0x40418c
cmp byte [0x42a13f], 0
je 0x404199
push str.Windows_98SE
push 0x42597c
lea ecx, [ebp - 0x10]
call fcn.00414aeb
push 0x40
push 0x425048
push dword [ebp - 0x10]
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push dword [ebp - 0x18]
call ebx
push 1
call fcn.0040be8d
push dword [ebp - 0x18]
call ebx
push str.___CWin9X::dw9XSourcePathVerify__
call fcn.004013fd
and byte [ebp - 4], 0
pop ecx
lea ecx, [ebp - 0x2c8]
call fcn.004041f3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.00415c12
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
pop ebx
mov dword fs:[0], ecx
leave
ret