Function at 0x402535
Capabilities:
Check if file exists
Delete file
Get common file path
Get file attributes
Get graphical window text
Set file attributes

Disassembly:
mov eax, 0x443616
call fcn.004361ac
sub esp, 0xdc8
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [ebp - 0xdd4]
call fcn.004154fd
push 1
xor ebx, ebx
pop edi
mov dword [ebp - 4], ebx
cmp dword [esi + 0x1100], edi
jne 0x402585
mov ecx, esi
call fcn.00404617
test eax, eax
jne 0x40257a
mov esi, 0x283c
jmp 0x4034c3
push ebx
push ebx
push ebx
push edi
mov ecx, esi
call fcn.00404789
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.00404a92
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.00406944
push eax
lea ecx, [ebp - 0x364]
call fcn.00406dc4
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 3
call fcn.004065ed
cmp dword [esi + 0xbc0], edi
jne 0x402619
mov eax, dword [esi + 0x10ec]
push 5
cdq
pop ecx
mov dword [ebp - 0x14], ebx
idiv ecx
mov edi, eax
cmp edi, ebx
jle 0x402612
push 1
lea ecx, [ebp - 0x364]
call fcn.00406df0
test eax, eax
je 0x402604
push str._Autoup__app_is_already_running.._Try_again..
push 1
call fcn.0040874d
pop ecx
pop ecx
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x4025d0
jmp 0x402612
push str._Autoup__Success_to_create_apps_mutex.
push 1
call fcn.0040874d
pop ecx
pop ecx
cmp dword [ebp - 0x14], edi
jne 0x40265d
jmp 0x402629
push edi
lea ecx, [ebp - 0x364]
call fcn.00406df0
test eax, eax
je 0x40265d
cmp dword [esi + 0xbc4], ebx
mov edi, 0x2906
jne 0x402648
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
mov ecx, esi
call fcn.0040387d
push str._Autoup__app_is_already_running.._close..
push 1
call fcn.0040874d
pop ecx
pop ecx
mov esi, edi
jmp 0x4034b4
lea edi, [esi + 0xa9c]
push 0x104
mov ecx, edi
call fcn.00406655
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0xa94]
mov ebx, str.AUTmp
mov eax, dword [eax - 4]
cmp eax, 0xc4
jge 0x4027a6
lea ecx, [esi + 0xa94]
call fcn.00406944
push eax
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, edi
call fcn.004066ad
push str.tempAUTmp
mov ecx, edi
call fcn.00406b97
lea eax, [esi + 0xfd8]
push eax
lea eax, [ebp - 0x10]
push edi
push eax
call fcn.0040698d
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 4
call fcn.00406947
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 3
call fcn.004065ed
mov ecx, edi
call fcn.00406944
push eax
call fcn.00405858
pop ecx
mov ecx, edi
call fcn.00406944
push eax
call fcn.00405739
test eax, eax
pop ecx
jne 0x40277b
lea ecx, [esi + 0xa94]
call fcn.00406944
push eax
push 0
push 0x445410
lea eax, [ebp - 0x10]
push 0x80000002
push eax
call fcn.00406354
add esp, 0x14
push eax
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.00406947
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 3
call fcn.004065ed
mov ecx, edi
call fcn.004066ad
push ebx
mov ecx, edi
call fcn.00406b97
mov ecx, edi
call fcn.00406944
push eax
call fcn.00405858
pop ecx
mov ecx, edi
call fcn.00406944
push eax
call fcn.00405739
test eax, eax
pop ecx
jne 0x40277b
push dword [edi]
push str._AutoUp__InitInstance__Create_Directory_Failed_:__s
push 1
call fcn.00408aae
add esp, 0xc
mov ecx, esi
call fcn.00403ce9
lea eax, [esi + 0xbd4]
lea ecx, [ebp - 0xdd4]
push eax
call fcn.004155b3
test eax, eax
jne 0x402822
mov esi, 0x283c
jmp 0x4034b4
push dword [ebp - 0x10]
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
jne 0x4027c8
push str._AutoUp__InitInstance__Create_TempDirectory_Failed
push 1
call fcn.00408aae
pop ecx
pop ecx
jmp 0x40279c
mov ecx, edi
call fcn.004066ad
push ebx
mov ecx, edi
call fcn.00406b97
lea eax, [esi + 0xfd8]
push eax
lea eax, [ebp - 0x10]
push edi
push eax
call fcn.0040698d
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.00406947
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 3
call fcn.004065ed
mov ecx, edi
call fcn.00406944
push eax
mov ecx, esi
call fcn.00404ce4
cmp eax, 1
jne 0x4026df
push str._AutoUp__Update__HasJunctionPath_TRUE
jmp 0x4027bd
push dword [esi + 0x10e4]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ebx, [esi + 0x10e4]
call edi
test eax, eax
jle 0x40284f
push dword [ebx]
lea ecx, [ebp - 0xdd4]
call fcn.0041ae73
test eax, eax
je 0x40279c
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0xdd4]
push eax
call fcn.00415e86
push 0x103
mov ecx, eax
mov byte [ebp - 4], 7
lea ebx, [esi + 0xaa4]
call fcn.00406944
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 3
call fcn.004065ed
push ebx
call edi
test eax, eax
jle 0x40289c
push ebx
call edi
cmp byte [eax + esi + 0xaa3], 0x5c
je 0x4028af
push ebx
call edi
test eax, eax
jle 0x4028bb
push 0x44c1ec
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.MFC42.DLL
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x44c22c
push 1
call fcn.0040874d
pop ecx
pop ecx
push str.____________________________autoup.exe_Start
push 1
call fcn.0040874d
pop ecx
pop ecx
push 0x44c22c
push 1
call fcn.0040874d
pop ecx
pop ecx
mov ecx, esi
call fcn.004034eb
lea ecx, [ebp - 0xdd4]
call fcn.004160b3
cmp eax, 0xffff
jne 0x402938
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0xdd4]
push eax
call fcn.004160eb
push 0
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 8
call fcn.00406944
push eax
push 0
push 0x2845
push 1
mov ecx, esi
call fcn.0040363e
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x10]
jmp 0x402a42
cmp eax, 1
jne 0x402977
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0xdd4]
push eax
call fcn.004160eb
push 0
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 9
call fcn.00406944
push eax
push 0
push 0x2844
push 1
mov ecx, esi
call fcn.0040363e
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x10]
jmp 0x402a42
mov ecx, esi
call fcn.0040444a
test eax, eax
jne 0x402999
push eax
push eax
mov edi, 0x2907
push eax
push edi
push 1
mov ecx, esi
call fcn.0040363e
jmp 0x402656
push ebx
call edi
test eax, eax
jle 0x4029bd
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
push str._Autoup__Update__m_hMFC42_Handle_is__d
push 1
mov dword [esi + 0xba8], eax
call fcn.0040874d
add esp, 0xc
cmp dword [esi + 0xbc0], 0
jne 0x402a80
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
push 1
push 0xff
push 0x32
call edi
push eax
push 0x31
call edi
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov edi, eax
lea eax, [ebp - 0x14]
push edi
push eax
lea ecx, [ebp - 0xdd4]
call fcn.00415ecf
push edi
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xa
call fcn.00406944
push eax
lea ecx, [ebp - 0x48]
call fcn.00407509
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xb
call fcn.0040755f
test edi, edi
mov ebx, eax
je 0x402a2a
push edi
call dword [sym.imp.COMCTL32.dll_ImageList_Destroy]
cmp ebx, 1
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x44]
je 0x402a6f
call fcn.004065ed
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x14]
call fcn.004065ed
and byte [ebp - 4], 0
lea ecx, [ebp - 0x364]
call fcn.00406deb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdd4]
call fcn.0041554a
mov eax, 0x283c
jmp 0x4034d4
call fcn.004065ed
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call fcn.004065ed
cmp dword [esi + 0xbc4], 0
jne 0x402ad2
lea edi, [esi + 0xa78]
mov ecx, edi
call fcn.0040cc74
mov ebx, eax
test ebx, ebx
jne 0x402ab7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._Autoup__Update__Dialog_Create_Error__d
push 1
call fcn.0040874d
add esp, 0xc
jmp 0x40279c
push 5
mov ecx, edi
call fcn.0040cc91
push 0x271a
mov ecx, edi
mov dword [esi + 0xa74], ebx
call fcn.0040cd4e
xor ebx, ebx
lea ecx, [ebp - 0xdd4]
push ebx
call fcn.004161a8
mov eax, dword [esi + 0xba8]
lea edi, [esi + 0xba8]
cmp eax, ebx
je 0x402b07
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push str._Autoup__Update__m_hMFC42_handle_release_is_OK
push 1
mov dword [edi], ebx
call fcn.0040874d
pop ecx
pop ecx
lea ecx, [ebp - 0xdd4]
call fcn.004161ba
test eax, eax
je 0x40279c
and byte [ebp - 0x574], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x573]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [ebp - 0x20]
stosb byte es:[edi], al
call fcn.0040656d
lea eax, [ebp - 0x574]
push 0x104
push eax
mov byte [ebp - 4], 0xc
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x574]
lea ecx, [ebp - 0x20]
push eax
call fcn.0040696a
lea eax, [ebp - 0x20]
push str.autoup.ini
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00406a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xd
call fcn.00406947
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xc
call fcn.004065ed
lea ecx, [ebp - 0x20]
call fcn.00406944
push eax
mov ecx, esi
call fcn.0040230e
cmp eax, ebx
jne 0x402be2
lea ecx, [ebp - 0x20]
call fcn.00406944
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x402bd1
push str._Autoup__Update__autoup.ini_is_deleted_forcely_
push 1
call fcn.00408aae
pop ecx
pop ecx
lea ecx, [ebp - 0x20]
call fcn.00406944
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push str._Autoup__Update__Before_not_pending_state
push 1
call fcn.00408aae
jmp 0x402cb9
cmp dword [esi + 0x828], ebx
jne 0x402cad
cmp eax, 2
je 0x402ca6
mov cx, word [esi + 0xbd4]
and byte [ebp - 0x16], 0
lea eax, [esi + 0xbd4]
cmp cx, bx
mov byte [ebp - 0x18], 3
mov byte [ebp - 0x17], 0xe2
je 0x402c3e
mov edi, ecx
xor ecx, ecx
mov dl, 3
movzx dx, dl
cmp dx, di
je 0x402c2d
mov dl, byte [ebp + ecx - 0x17]
inc ecx
test dl, dl
jne 0x402c1b
cmp byte [ebp + ecx - 0x18], 0
je 0x402c45
inc eax
inc eax
mov di, word [eax]
cmp di, bx
jne 0x402c17
push str._Autoup__Update__As_former_times_pending_state__but_update_product_is_only_ASP__and_It_doesnt_change_Update_Type
jmp 0x402cb2
cmp word [esi + 0xfd4], 4
jne 0x402c59
mov esi, 0x27db
jmp 0x4034a8
push str._Autoup__Update__Because_former_times_pending_state__Update_Type_change_only_engine
push 1
pop ebx
push ebx
call fcn.0040874d
pop ecx
mov edi, str._Autoup__Update__Update_Type_:_0x_x
pop ecx
mov word [esi + 0xfd4], 6
push 6
push edi
push ebx
call fcn.0040874d
and word [esi + 0xfd4], 0xfffb
add esp, 0xc
movzx eax, word [esi + 0xfd4]
push eax
push edi
push ebx
call fcn.0040874d
add esp, 0xc
mov dword [esi + 0xbc8], ebx
jmp 0x402cbb
push str._Autoup__Update__Another_Product_is_Pending
jmp 0x402cb2
push str._Autoup__Update__declared_IgnoreRebootCopy
push 1
call fcn.0040874d
pop ecx
pop ecx
xor eax, eax
mov ecx, esi
push eax
push eax
push eax
push 2
call fcn.00404789
mov ecx, esi
call fcn.00404579
test eax, eax
jne 0x402cde
mov esi, 0x283c
jmp 0x4034a8
mov ax, word [esi + 0xfd4]
lea ecx, [ebp - 0xdd4]
push eax
call fcn.004161f8
test eax, eax
je 0x402cd4
lea ebx, [esi + 0xa78]
push 0x32
mov ecx, ebx
call fcn.0040ce1c
push 0x271b
mov ecx, ebx
call fcn.0040cd4e
push dword [esi + 0xc]
mov ecx, ebx
push 0x14a
call fcn.0040ce5c
lea ecx, [ebp - 0xdd4]
call fcn.0041b317
test eax, eax
jne 0x402d3c
push str._Autoup__CopyEssentialFilePD__CopyEssentialFilePD_is_fail..._but_update_continue
push 1
call fcn.00408aae
pop ecx
pop ecx
lea ecx, [ebp - 0xdd4]
call fcn.00416256
xor edi, edi
cmp dword [esi + 0xc], edi
jne 0x402e65
cmp dword [esi + 0xbbc], 1
je 0x402d64
cmp dword [esi + 0xbc8], 1
jne 0x402dbc
and byte [ebp - 0x14c], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x14b]
push 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x14c]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [ebp - 0x14c]
push eax
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x402dba
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 1
push str._Autoup__Update__SetWindowPos_is__d___GetLastError___d_
push 1
call fcn.0040874d
add esp, 0x10
xor edi, edi
cmp dword [esi + 0xbbc], edi
je 0x402ddb
push 1
push edi
lea ecx, [ebp - 0xdd4]
call fcn.00417904
push 0x28a
mov ecx, ebx
jmp 0x402df7
push edi
push edi
lea ecx, [ebp - 0xdd4]
call fcn.00417904
cmp dword [esi + 0xbc8], edi
push 0x28a
mov ecx, ebx
je 0x402e15
call fcn.0040ce1c
push 0x3e8
mov ecx, ebx
call fcn.0040ce1c
push 0xa
push edi
push edi
push 0x27db
push 2
jmp 0x402e30
call fcn.0040ce1c
push 0x3e8
mov ecx, ebx
call fcn.0040ce1c
push 0xa
push edi
push edi
push 0x27dc
push edi
mov ecx, esi
call fcn.0040363e
lea ecx, [esi + 0xbd0]
call fcn.00406944
push eax
mov ecx, esi
call fcn.00403b2b
lea ecx, [ebp - 0xdd4]
call fcn.00417958
mov eax, dword [0x4629dc]
mov esi, dword [eax + 0x1104]
jmp 0x4034a8
lea eax, [esi + 0xbd4]
mov dword [ebp - 0x10], edi
push eax
mov dword [ebp - 0x18], edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jbe 0x402f03
lea eax, [esi + 0x1c]
mov dword [ebp - 0x24], eax
lea eax, [esi + 0xbd4]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0xc]
dec eax
cmp eax, 0xffffffff
mov dword [ebp - 0x14], eax
jae 0x402eea
push dword [ebp - 0x14]
lea ecx, [esi + 4]
call fcn.00407252
mov ecx, dword [ebp - 0x1c]
mov cx, word [ecx]
cmp cx, word [eax + 0x1e0]
je 0x402ec0
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffff
jb 0x402e9b
jmp 0x402eea
mov ecx, dword [ebp - 0x24]
mov ax, word [eax + 0x1e0]
mov word [ecx], ax
movzx eax, ax
push eax
push dword [ebp - 0x18]
push str._Autoup__Update__m_szUpdatingPd__d__:_0x_04x
push 1
call fcn.0040874d
add esp, 0x10
inc dword [ebp - 0x18]
add dword [ebp - 0x24], 2
inc dword [ebp - 0x10]
add dword [ebp - 0x1c], 2
lea eax, [esi + 0xbd4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp dword [ebp - 0x10], eax
jb 0x402e8f
push 0x271c
mov ecx, ebx
call fcn.0040cd4e
push dword [esi + 0xc]
mov ecx, ebx
push 0x262
call fcn.0040ce5c
lea ecx, [ebp - 0xdd4]
call fcn.00416a7c
test eax, eax
jne 0x402f37
mov esi, 0x283f
jmp 0x4034a8
lea ecx, [ebp - 0xdd4]
call fcn.0041a544
push 0x271d
mov ecx, ebx
call fcn.0040cd4e
lea ecx, [ebp - 0xdd4]
call fcn.00416cac
test eax, eax
jne 0x402f9e
cmp dword [esi + 0x10f0], 1
jne 0x402f7e
push str._Autoup__Update__failed_to_unload_process_because_of_medic
push 1
call fcn.00408aae
pop ecx
mov esi, 0x2908
pop ecx
jmp 0x4034a8
push edi
push edi
push edi
mov edi, 0x2847
push edi
push 1
mov ecx, esi
call fcn.0040363e
mov ecx, esi
call fcn.00404310
mov esi, edi
jmp 0x4034a8
push 0x294
mov ecx, ebx
call fcn.0040ce1c
push dword [esi + 0xc]
mov ecx, ebx
push 0x384
call fcn.0040ce5c
lea eax, [ebp - 0x258]
lea ecx, [ebp - 0xdd4]
push eax
call fcn.00416d4a
cmp eax, edi
mov dword [ebp - 0x10], eax
jne 0x402fea
push 0x2720
mov ecx, ebx
call fcn.0040cd4e
push edi
lea ecx, [ebp - 0xdd4]
call fcn.004177f8
push 0x2721
mov ecx, ebx
call fcn.0040cd4e
lea eax, [ebp - 0x470]
lea ecx, [ebp - 0xdd4]
push eax
push dword [esi + 0xbbc]
push dword [ebp - 0x10]
call fcn.0041753d
mov ecx, esi
mov dword [ebp - 0x1c], eax
call fcn.00404310
push 0x3b6
mov ecx, ebx
call fcn.0040ce1c
cmp dword [ebp - 0x1c], edi
je 0x403430
cmp dword [ebp - 0x10], edi
je 0x403435
mov ax, word [esi + 0xfd4]
lea ecx, [ebp - 0xdd4]
push eax
call fcn.004178c7
push 0x3de
mov ecx, ebx
call fcn.0040ce1c
cmp dword [esi + 0xbbc], 1
je 0x40306a
cmp dword [esi + 0xbc8], 1
jne 0x40307f
mov eax, dword [ebx]
cmp eax, edi
je 0x40307f
push 3
push edi
push edi
push edi
push edi
push 0xffffffffffffffff
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x27d8
mov ecx, ebx
call fcn.0040cd4e
push 0x3e8
mov ecx, ebx
call fcn.0040ce1c
cmp dword [esi + 0xbbc], edi
je 0x403341
push 1
push 1
lea ecx, [ebp - 0xdd4]
call fcn.00417904
mov ebx, dword [esi + 0x18]
cmp ebx, edi
je 0x403370
lea ecx, [ebp - 0x18]
call fcn.0040656d
test bl, 1
mov byte [ebp - 4], 0xe
je 0x4030fa
push dword [esi + 0xa68]
lea ecx, [ebp - 0x10]
push 0x2774
call fcn.004065d0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xf
call fcn.00406b08
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xe
call fcn.004065ed
test bl, 2
je 0x403140
mov eax, dword [ebp - 0x18]
cmp dword [eax - 4], edi
je 0x403114
push 0x44c4f8
lea ecx, [ebp - 0x18]
call fcn.00406b2b
push dword [esi + 0xa68]
lea ecx, [ebp - 0x10]
push 0x2775
call fcn.004065d0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x10
call fcn.00406b08
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xe
call fcn.004065ed
test bl, 4
je 0x403186
mov eax, dword [ebp - 0x18]
cmp dword [eax - 4], edi
je 0x40315a
push 0x44c4f8
lea ecx, [ebp - 0x18]
call fcn.00406b2b
push dword [esi + 0xa68]
lea ecx, [ebp - 0x10]
push 0x2776
call fcn.004065d0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x11
call fcn.00406b08
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xe
call fcn.004065ed
test bl, 8
je 0x4031cc
mov eax, dword [ebp - 0x18]
cmp dword [eax - 4], edi
je 0x4031a0
push 0x44c4f8
lea ecx, [ebp - 0x18]
call fcn.00406b2b
push dword [esi + 0xa68]
lea ecx, [ebp - 0x10]
push 0x2777
call fcn.004065d0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x12
call fcn.00406b08
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xe
call fcn.004065ed
push 0xa
lea ecx, [ebp - 0x18]
call fcn.00406944
push eax
push 0
push 0x27da
push 2
mov ecx, esi
call fcn.0040363e
and byte [ebp - 0x14c], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x14b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [ebp - 0x14]
stosb byte es:[edi], al
call fcn.0040656d
lea eax, [ebp - 0x14c]
push 0x104
push eax
mov byte [ebp - 4], 0x13
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x14c]
lea ecx, [ebp - 0x14]
push eax
call fcn.0040696a
lea eax, [ebp - 0x14]
push str.autoup.ini
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00406a74
add esp, 0xc
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x14
call fcn.00406947
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x13
call fcn.004065ed
lea ecx, [ebp - 0x14]
call fcn.00406944
push eax
push str._Autoup__Update__Autoup.ini_Path_:__s
push 1
call fcn.00408aae
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.00406944
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push eax
mov ebx, str.PendingState
push 0x44c420
push ebx
push str.AhnLab
call edi
lea ecx, [esi + 0xfd8]
call fcn.00406944
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x4032e0
lea ecx, [esi + 0xfd8]
call fcn.00406944
push eax
push str._Autoup__Update__PendingProduct_MainAppName_:__s
push 1
call fcn.00408aae
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.00406944
push eax
push 0x44c420
push ebx
lea ecx, [esi + 0xfd8]
call fcn.00406944
push eax
call edi
push 0x80
lea ecx, [ebp - 0x14]
call fcn.00406944
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0
lea ecx, [ebp - 0x14]
call fcn.00406944
push eax
call fcn.00405450
pop ecx
pop ecx
lea ecx, [esi + 0xbd0]
call fcn.00406944
push eax
mov ecx, esi
call fcn.00403b2b
lea ecx, [ebp - 0xdd4]
call fcn.00417958
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xe
call fcn.004065ed
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xc
call fcn.004065ed
jmp 0x403419
push edi
push 1
lea ecx, [ebp - 0xdd4]
call fcn.00417904
cmp dword [esi + 0x110c], 1
jne 0x403368
push 0xa
push edi
push edi
push 0x283c
push 1
jmp 0x4033f4
cmp dword [esi + 0xbc8], edi
je 0x40337d
push 0xa
push edi
push edi
push 0x27db
push 2
jmp 0x4033f4
mov ax, word [esi + 0xfd4]
cmp ax, di
mov dword [ebp - 0x10], eax
jne 0x403393
mov dword [ebp - 0x10], 7
cmp dword [esi + 0x1108], edi
jne 0x4033ea
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.00404919
mov ebx, eax
lea eax, [esi + 0x1120]
lea ecx, [esi + 0xa94]
push eax
mov byte [ebp - 4], 0x15
call fcn.00406944
push eax
lea eax, [esi + 0xbd4]
push eax
mov ecx, ebx
call fcn.00406944
push eax
lea ecx, [esi + 0x834]
movzx eax, word [ebp - 0x10]
push eax
call fcn.0040c19b
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xc
call fcn.004065ed
push 0xa
push edi
push edi
push 0x27d8
push edi
mov ecx, esi
call fcn.0040363e
lea ecx, [esi + 0xbd0]
call fcn.00406944
push eax
mov ecx, esi
call fcn.00403b2b
lea ecx, [ebp - 0xdd4]
call fcn.00417958
mov eax, dword [0x4629dc]
mov esi, dword [eax + 0x1104]
cmp esi, 0x27d8
jne 0x4034a8
xor esi, esi
jmp 0x4034a8
cmp dword [ebp - 0x10], edi
jne 0x40345b
lea eax, [ebp - 0x24c]
push edi
push eax
mov ecx, esi
push dword [ebp - 0x250]
push dword [ebp - 0x254]
push dword [ebp - 0x258]
call fcn.0040363e
cmp dword [ebp - 0x1c], edi
jne 0x40347c
lea eax, [ebp - 0x464]
push edi
push eax
mov ecx, esi
push dword [ebp - 0x468]
push dword [ebp - 0x46c]
push dword [ebp - 0x470]
call fcn.0040363e
mov esi, 0x2909
cmp dword [ebp - 0x250], esi
je 0x4034a8
cmp dword [ebp - 0x250], 0x17
jne 0x403495
inc esi
jmp 0x4034a8
cmp dword [ebp - 0x250], 0x70
mov esi, 0x290b
je 0x4034a8
mov esi, 0x2841
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call fcn.004065ed
and byte [ebp - 4], 0
lea ecx, [ebp - 0x364]
call fcn.00406deb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdd4]
call fcn.0041554a
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret