Function at 0x407142
Capabilities:
Get file attributes
Set console window title
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb64
mov eax, dword [0x492840]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, 0x104
lea eax, [ebp - 0x108]
push esi
xor ebx, ebx
push ebx
push eax
call fcn.0043dc10
push esi
lea eax, [ebp - 0x20c]
push ebx
push eax
call fcn.0043dc10
push 0x800
lea eax, [ebp - 0xb10]
push ebx
push eax
call fcn.0043dc10
xor eax, eax
lea edi, [ebp - 0xb20]
stosd dword es:[edi], eax
push 0x44
push ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xb64]
push eax
call fcn.0043dc10
add esp, 0x30
push str.PAULA_Initialization...
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
cmp dword [ebp + 8], ebx
jne 0x407243
mov esi, ebx
cmp dword [0x496200], ebx
jle 0x40723e
push 0x4627e0
push dword [esi*4 + 0x496208]
call fcn.0042ecc9
pop ecx
pop ecx
test eax, eax
je 0x4074b8
push str._Spawned
push dword [esi*4 + 0x496208]
call fcn.0042ecc9
pop ecx
pop ecx
test eax, eax
je 0x4074b8
push 0x4627f8
push dword [esi*4 + 0x496208]
call fcn.0042ecc9
pop ecx
pop ecx
test eax, eax
je 0x4075de
push str._CreateTerminal
push dword [esi*4 + 0x496208]
call fcn.0042ecc9
pop ecx
pop ecx
test eax, eax
je 0x4075de
inc esi
cmp esi, dword [0x496200]
jl 0x4071c9
mov esi, 0x104
push ebx
push ebx
call fcn.004252b8
push eax
call fcn.0040bca2
add esp, 0xc
test eax, eax
jne 0x407269
push ebx
push ebx
push ebx
call fcn.004252b8
pop ecx
pop ecx
push eax
call fcn.0040b065
pop ecx
pop ecx
push ebx
push ebx
call fcn.00425158
pop ecx
pop ecx
push eax
push ebx
push ebx
call fcn.004252b8
pop ecx
pop ecx
push eax
call fcn.0042ecfe
pop ecx
pop ecx
test eax, eax
jne 0x4072ae
push ebx
push ebx
call fcn.00425158
push eax
call fcn.0040bca2
add esp, 0xc
test eax, eax
jne 0x4072ae
push ebx
push ebx
push ebx
call fcn.00425158
pop ecx
pop ecx
push eax
call fcn.0040b065
pop ecx
pop ecx
push 0x4620ec
push ebx
push ebx
call fcn.00425158
pop ecx
pop ecx
push eax
push 0x461d28
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.0042eb84
lea eax, [ebp - 0x108]
push eax
call fcn.0040bca2
xor edi, edi
add esp, 0x18
inc edi
test eax, eax
jne 0x40734c
push 0x5dc
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x108]
push eax
call fcn.0040bca2
pop ecx
test eax, eax
jne 0x40734c
lea eax, [ebp - 0x108]
push eax
push dword [0x496208]
push str.:8:SpawnPaulaExe___has_determined_that_the_default_PAULA_exe_does_not_exist___Had_to_CopyFile___s_____s___TRUE__
call fcn.0040953d
push edi
lea eax, [ebp - 0x108]
push eax
push dword [0x496208]
call fcn.0040c761
add esp, 0x18
test eax, eax
jne 0x40734c
lea eax, [ebp - 0x108]
push eax
push dword [0x496208]
push str.:9:SpawnPaulaExe___FAILED:_CopyFile___s_____s___TRUE__FAILED:_Could_not_create_the_default_PAULA_exe_
call fcn.0040953d
add esp, 0xc
push dword [0x496208]
call fcn.0040bca2
pop ecx
test eax, eax
je 0x4073a0
push esi
push dword [0x496208]
lea eax, [ebp - 0x108]
push eax
call fcn.0042ee2a
push esi
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.0042ee2a
lea eax, [ebp - 0x20c]
push eax
call fcn.0042e1f0
lea eax, [ebp - 0x20c]
push eax
call fcn.0042d010
add esp, 0x20
jmp 0x4073c4
push 0x4620ec
push ebx
push ebx
call fcn.00425158
pop ecx
pop ecx
push eax
push 0x461d28
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.0042eb84
add esp, 0x14
push 0x4620ec
push ebx
push ebx
call fcn.004252b8
pop ecx
pop ecx
push eax
push 0x461d28
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.0042eb84
lea eax, [ebp - 0x20c]
push eax
push str.__s___Spawned
lea eax, [ebp - 0xb10]
push 0x800
push eax
call fcn.0042eb84
add esp, 0x24
mov esi, edi
cmp dword [0x496200], edi
jle 0x40745f
push 0x800
lea eax, [ebp - 0xb10]
push 0x462908
push eax
call fcn.0042ed96
push 0x800
push dword [esi*4 + 0x496208]
lea eax, [ebp - 0xb10]
push eax
call fcn.0042ed96
push 0x800
lea eax, [ebp - 0xb10]
push 0x46290c
push eax
call fcn.0042ed96
add esp, 0x24
inc esi
cmp esi, dword [0x496200]
jl 0x40740f
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 1
je 0x407481
and eax, 0xfffffffe
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push edi
lea eax, [ebp - 0x20c]
push eax
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0040a6a7
add esp, 0x10
test eax, eax
lea eax, [ebp - 0x20c]
push eax
jne 0x4074bf
lea eax, [ebp - 0x108]
push eax
push str.:9:SpawnPaulaExe___CRITICALLY_FAILED:_CopyFileEnumerated___s_____s___TRUE__FAILED:_The_real_PAULA_exe_will_have_to_be_used_instead_of_the_spawn___
call fcn.0040906e
add esp, 0xc
xor eax, eax
jmp 0x4075e1
call fcn.0040bca2
pop ecx
test eax, eax
jne 0x4074dc
lea eax, [ebp - 0x20c]
push eax
push str.:8:SpawnPaulaExe___FAILED:_The_spawned_exe___s__did_not_exist_after_creation_
call fcn.0040906e
pop ecx
pop ecx
mov esi, 0x104
lea eax, [ebp - 0x310]
push esi
push ebx
push eax
call fcn.0043dc10
add esp, 0xc
push esi
push 0x4620ec
call fcn.0042d204
pop ecx
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.0042ee2a
lea eax, [ebp - 0x310]
push ebx
push eax
call fcn.00404352
add esp, 0x14
cmp eax, 0x14
jg 0x4074b8
push 0x10
lea eax, [ebp - 0xb20]
push ebx
push eax
call fcn.0043dc10
push 0x44
pop esi
push esi
lea eax, [ebp - 0xb64]
push ebx
push eax
call fcn.0043dc10
lea eax, [ebp - 0x20c]
mov dword [ebp - 0xb64], esi
push eax
mov dword [ebp - 0xb38], edi
mov word [ebp - 0xb34], di
call fcn.00406100
add esp, 0x1c
lea eax, [ebp - 0xb20]
push eax
lea eax, [ebp - 0xb64]
push eax
push ebx
push ebx
call fcn.00425158
pop ecx
pop ecx
push eax
push ebx
push 0x28
push ebx
push ebx
push ebx
lea eax, [ebp - 0xb10]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.00404460
add esp, 0x28
test eax, eax
jne 0x4075b0
push str._GetLastError_
lea eax, [ebp - 0x20c]
push eax
push str.:8:SpawnPaulaExe___FAILED_to_start_the_Paula_Session_Process:___s__Spawned_:__s
jmp 0x4074b0
push 0xd71
mov edi, str.C:UsersOfficeDocumentsVisual_StudioHoodSoftUpdateConsole.c
mov esi, str.SpawnPaulaExe
push edi
push esi
push dword [ebp - 0xb1c]
call fcn.0040a58b
push 0xd72
push edi
push esi
push dword [ebp - 0xb20]
call fcn.0040a58b
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043c5ec
leave
ret