Function at 0x431fbd
Capabilities:
Check if file exists
Delete file
Get common file path
Get file attributes
Set file attributes

Disassembly:
push 0x85c
mov eax, 0x67c997
call fcn.005b8597
mov eax, dword [0x7534c4]
xor ebx, ebx
mov dword [ebp - 0x724], ecx
mov dword [ebp - 0x71c], ebx
cmp dword [eax + 0x1fc], ebx
je 0x434699
push ecx
mov ecx, esp
mov dword [ebp - 0x7e0], esp
push str.CreateUninstall
call fcn.00401b65
mov ecx, dword [0x7534c4]
call fcn.00407084
cmp eax, ebx
je 0x434699
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0x200]
push ecx
sub eax, 0x10
mov dword [ebp - 0x718], esp
mov esi, esp
push eax
call fcn.0040149c
add eax, 0x10
pop ecx
mov dword [esi], eax
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x740]
push eax
add ecx, 0x70c
call fcn.0041e8a8
mov edi, 0x69cdcc
push edi
lea ecx, [ebp - 0x740]
mov dword [ebp - 4], ebx
call fcn.00405af6
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0x208]
push ecx
sub eax, 0x10
mov dword [ebp - 0x70c], esp
mov esi, esp
push eax
call fcn.0040149c
add eax, 0x10
pop ecx
mov dword [esi], eax
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x730]
push eax
add ecx, 0x70c
call fcn.0041e8a8
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0x204]
push ecx
sub eax, 0x10
mov dword [ebp - 0x70c], esp
mov esi, esp
push eax
mov byte [ebp - 4], 1
call fcn.0040149c
add eax, 0x10
pop ecx
mov dword [esi], eax
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x754]
push eax
add ecx, 0x70c
call fcn.0041e8a8
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0xec]
mov eax, dword [eax - 0xc]
mov byte [ebp - 4], 2
cmp eax, ebx
jne 0x432155
push edi
lea eax, [ebp - 0x740]
push eax
lea eax, [ebp - 0x72c]
push eax
call fcn.00405bb5
lea ecx, [ebp - 0x754]
push ecx
push eax
lea eax, [ebp - 0x708]
push eax
mov byte [ebp - 4], 3
call fcn.00405b5e
add esp, 0x18
mov ecx, dword [0x7534c4]
add ecx, 0xec
push eax
mov byte [ebp - 4], 4
call fcn.0040191c
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
call fcn.0040124d
mov ecx, dword [ebp - 0x72c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 2
call fcn.0040124d
lea eax, [ebp - 0x740]
push eax
lea eax, [ebp - 0x708]
push str.Set_uninstall_data_folder:
push eax
call fcn.0040ccc6
add esp, 0xc
mov eax, dword [eax]
mov ecx, dword [0x7534c4]
push ebx
push ebx
push ebx
push eax
add ecx, 0x6dc
mov byte [ebp - 4], 5
call fcn.0043b7c8
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
mov byte [ebp - 4], 2
call fcn.0040124d
mov eax, dword [0x7534c4]
add eax, 0xec
push eax
lea eax, [ebp - 0x708]
push str.Set_uninstall_config_file_name:
push eax
call fcn.0040ccc6
add esp, 0xc
mov eax, dword [eax]
mov ecx, dword [0x7534c4]
push ebx
push ebx
push ebx
push eax
add ecx, 0x6dc
mov byte [ebp - 4], 6
call fcn.0043b7c8
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
mov byte [ebp - 4], 2
call fcn.0040124d
mov eax, dword [0x7534c4]
push dword [eax + 0xec]
call dword [0x69b370]
cmp eax, 0xffffffff
jne 0x43220f
mov eax, dword [0x7534c4]
mov dword [eax + 0xf4], ebx
jmp 0x4322b5
lea ecx, [ebp - 0x81c]
call fcn.0041cf4d
push ecx
mov ecx, dword [0x7534c4]
mov ecx, dword [ecx + 0xec]
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x81c]
mov byte [ebp - 4], 7
mov dword [ebp - 0x70c], esp
call fcn.00417026
cmp al, bl
je 0x432273
push ecx
mov eax, esp
lea ecx, [ebp - 0x81c]
mov dword [ebp - 0x70c], esp
mov dword [eax], str.SUF70UninstallData
call fcn.0041379b
cmp al, bl
je 0x432273
mov eax, dword [0x7534c4]
mov dword [eax + 0xf4], 1
jmp 0x4322a6
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0xec]
push 0x80
push eax
call dword [0x69b35c]
mov eax, dword [0x7534c4]
push dword [eax + 0xec]
call dword [0x69b358]
mov eax, dword [0x7534c4]
mov dword [eax + 0xf4], ebx
lea ecx, [ebp - 0x81c]
mov byte [ebp - 4], 2
call fcn.00414ad8
call fcn.004b8afa
push eax
lea ecx, [ebp - 0x74c]
call fcn.004015a6
push ecx
mov eax, esp
mov esi, str.__xml_version_1.0__encoding_iso_8859_1___
lea ecx, [ebp - 0x790]
mov byte [ebp - 4], 8
mov dword [ebp - 0x70c], esp
mov dword [eax], esi
call fcn.004167db
mov eax, dword [0x7534c4]
push ebx
mov byte [ebp - 4], 9
push ebx
cmp dword [eax + 0xf4], ebx
je 0x432429
push ebx
push str.Uninstall_config_file_merging
lea ecx, [eax + 0x6dc]
call fcn.0043b7c8
push ecx
mov ecx, dword [0x7534c4]
mov ecx, dword [ecx + 0xec]
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x790]
mov dword [ebp - 0x70c], esp
call fcn.00417026
cmp al, bl
jne 0x43240d
lea ecx, [ebp - 0x81c]
call fcn.00455344
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0xec]
push ecx
sub eax, 0x10
mov dword [ebp - 0x70c], esp
mov edi, esp
push eax
mov byte [ebp - 4], 0xa
call fcn.0040149c
pop ecx
add eax, 0x10
lea ecx, [ebp - 0x81c]
mov dword [edi], eax
call fcn.00455873
cmp eax, ebx
jne 0x4323fe
push esi
lea ecx, [ebp - 0x734]
call fcn.00401b65
mov esi, 0x69d18c
push esi
mov byte [ebp - 4], 0xb
call fcn.005b80b0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x734]
call fcn.00403c44
lea eax, [ebp - 0x708]
push eax
lea ecx, [ebp - 0x81c]
call fcn.00455405
mov eax, dword [eax]
push dword [eax - 0xc]
lea ecx, [ebp - 0x734]
push eax
mov byte [ebp - 4], 0xc
call fcn.00403c44
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xb
call fcn.0040124d
lea eax, [ebp - 0x734]
push eax
lea ecx, [ebp - 0x790]
call fcn.004167b9
mov ecx, dword [ebp - 0x734]
add ecx, 0xfffffff0
call fcn.0040124d
lea ecx, [ebp - 0x81c]
mov byte [ebp - 4], 9
call fcn.004553c3
push ecx
mov eax, esp
lea ecx, [ebp - 0x790]
mov dword [ebp - 0x70c], esp
mov dword [eax], str.SUF70UninstallData
call fcn.0041379b
jmp 0x432452
push str.SUF70UninstallData
lea ecx, [ebp - 0x790]
call fcn.0041560e
mov ecx, dword [0x7534c4]
push ebx
push ebx
push ebx
push str.Uninstall_config_file_not_merging
add ecx, 0x6dc
call fcn.0043b7c8
push ecx
mov ecx, esp
mov dword [ebp - 0x70c], esp
push str.INSTALL_STAGE_CREATING_UNINSTALL
call fcn.00401b65
mov ecx, dword [0x7534c4]
add ecx, 0x130
call fcn.0040cae3
push 0x69c5b8
lea ecx, [ebp - 0x7e0]
mov dword [ebp - 0x748], eax
call fcn.00401b65
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0xf0]
xor edx, edx
mov ecx, 0x19000
div ecx
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x744], eax
cmp edx, ebx
je 0x4324b4
inc dword [ebp - 0x744]
mov esi, dword [ebp - 0x744]
lea ecx, [ebp - 0x868]
add esi, 3
call fcn.0044bfe2
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0x194]
push ebx
push ecx
sub eax, 0x10
mov dword [ebp - 0x70c], esp
mov edi, esp
push eax
mov byte [ebp - 4], 0xe
call fcn.0040149c
pop ecx
add eax, 0x10
lea ecx, [ebp - 0x868]
mov dword [edi], eax
call fcn.0044ba17
mov eax, dword [ebp - 0x858]
xor edx, edx
mov ecx, 0x19000
mov dword [ebp - 0x70c], eax
div ecx
mov dword [ebp - 0x794], eax
cmp edx, ebx
je 0x432520
inc dword [ebp - 0x794]
add esi, dword [ebp - 0x794]
push ecx
mov ecx, esp
mov dword [ebp - 0x718], esp
push str.MSG_PROG_UNINSTALL_CREATEFOLDER
mov dword [ebp - 0x72c], esi
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x708]
push eax
add ecx, 0x16c
call fcn.0043db02
push eax
lea ecx, [ebp - 0x74c]
mov byte [ebp - 4], 0xf
call fcn.0040191c
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xe
call fcn.0040124d
fild dword [ebp - 0x72c]
fstp qword [ebp - 0x7a0]
fld1
fdiv qword [ebp - 0x7a0]
fmul qword [0x69cd80]
call fcn.005b8ca0
push eax
mov eax, dword [ebp - 0x74c]
push 0x64
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x718], esp
mov esi, esp
push eax
mov dword [ebp - 0x734], eax
call fcn.0040149c
mov edi, dword [ebp - 0x724]
pop ecx
push dword [ebp - 0x748]
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00428a7b
mov eax, dword [ebp - 0x740]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x718], esp
mov esi, esp
push eax
call fcn.0040149c
pop ecx
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00428c87
cmp eax, ebx
jne 0x432743
mov esi, str.ERR_CREATEUNINSTALL_DATAFOLDER
push esi
lea ecx, [ebp - 0x710]
call fcn.00401b65
lea eax, [ebp - 0x710]
push eax
push 0x8c
mov ecx, edi
mov byte [ebp - 4], 0x10
call fcn.0042dda5
mov ecx, dword [ebp - 0x710]
add ecx, 0xfffffff0
mov dword [ebp - 0x71c], eax
mov byte [ebp - 4], 0xe
call fcn.0040124d
cmp dword [ebp - 0x71c], ebx
je 0x43271e
call fcn.004b8afa
push eax
lea ecx, [ebp - 0x710]
call fcn.004015a6
push dword [ebp - 0x740]
mov byte [ebp - 4], 0x11
push ecx
mov ecx, esp
mov dword [ebp - 0x718], esp
push esi
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x708]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
lea eax, [ebp - 0x710]
push str._s_r_n_s
push eax
mov byte [ebp - 4], 0x12
call fcn.0040255b
mov ecx, dword [ebp - 0x708]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x11
call fcn.0040124d
call fcn.00442752
mov esi, dword [ebp - 0x710]
test eax, eax
jne 0x432712
push 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x718], esp
push str.MSG_ERROR
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x708]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
mov eax, dword [edi + 8]
push esi
push dword [eax + 0x20]
call dword [0x69b9f8]
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
call fcn.0040124d
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 0xe
call fcn.0040124d
lea eax, [ebp - 0x740]
push eax
lea eax, [ebp - 0x708]
push str.Create_uninstall_data_folder:
push eax
call fcn.0040ccc6
add esp, 0xc
push ebx
push ebx
mov byte [ebp - 4], 0x13
push 1
jmp 0x432765
lea eax, [ebp - 0x740]
push eax
lea eax, [ebp - 0x708]
push str.Create_uninstall_data_folder:
push eax
call fcn.0040ccc6
add esp, 0xc
push ebx
push ebx
mov byte [ebp - 4], 0x14
push ebx
mov eax, dword [eax]
mov ecx, dword [0x7534c4]
push eax
add ecx, 0x6dc
call fcn.0043b7c8
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xe
call fcn.0040124d
mov ecx, edi
call fcn.00424b78
test eax, eax
je 0x4327bc
mov eax, dword [0x7534c4]
cmp dword [eax + 0x19c], ebx
je 0x4327b2
mov dword [ebp - 0x71c], 0xffffd8f1
jmp 0x434634
mov dword [ebp - 0x71c], 5
cmp dword [ebp - 0x71c], ebx
jne 0x434634
push ecx
mov ecx, esp
mov dword [ebp - 0x718], esp
push 0x6a1428
mov dword [ebp - 0x728], 2
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x708]
push eax
add ecx, 0x16c
call fcn.0043db02
push eax
lea ecx, [ebp - 0x74c]
mov byte [ebp - 4], 0x15
call fcn.0040191c
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xe
call fcn.0040124d
fld qword [0x6a1420]
fdiv qword [ebp - 0x7a0]
fmul qword [0x69cd80]
call fcn.005b8ca0
push eax
mov dword [ebp - 0x73c], eax
mov eax, dword [ebp - 0x74c]
push 0x64
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x718], esp
mov esi, esp
push eax
mov dword [ebp - 0x734], eax
call fcn.0040149c
pop ecx
push dword [ebp - 0x748]
mov ecx, dword [ebp - 0x724]
add eax, 0x10
mov dword [esi], eax
call fcn.00428a7b
call fcn.004b8afa
push eax
lea ecx, [ebp - 0x720]
call fcn.004015a6
mov byte [ebp - 4], 0x16
call fcn.004b8afa
push eax
lea ecx, [ebp - 0x714]
call fcn.004015a6
mov edi, 0x69cdcc
push edi
lea eax, [ebp - 0x740]
push eax
lea eax, [ebp - 0x72c]
push eax
mov byte [ebp - 4], 0x17
call fcn.00405bb5
lea ecx, [ebp - 0x754]
push ecx
push eax
lea eax, [ebp - 0x708]
push eax
mov byte [ebp - 4], 0x18
call fcn.00405b5e
add esp, 0x18
push eax
lea ecx, [ebp - 0x720]
mov byte [ebp - 4], 0x19
call fcn.0040191c
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
call fcn.0040124d
mov ecx, dword [ebp - 0x72c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x17
call fcn.0040124d
push 0x2e
lea ecx, [ebp - 0x720]
call fcn.0040391b
cmp eax, 0xffffffff
je 0x432949
push eax
lea eax, [ebp - 0x708]
push eax
lea ecx, [ebp - 0x720]
call fcn.00403bfd
push eax
lea ecx, [ebp - 0x720]
mov byte [ebp - 4], 0x1a
call fcn.0040191c
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x17
call fcn.0040124d
mov esi, str..dat
push esi
call fcn.005b80b0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x720]
call fcn.00403c44
mov eax, dword [0x7534c4]
xor esi, esi
inc esi
cmp dword [eax + 0xf4], ebx
je 0x432a18
xor eax, eax
cmp dword [ebp - 0x784], ebx
push ecx
setne al
mov dword [ebp - 0x780], ebx
mov dword [ebp - 0x770], ebx
mov dword [ebp - 0x76c], ebx
lea ecx, [ebp - 0x790]
mov dword [ebp - 0x718], esp
mov dword [ebp - 0x774], eax
mov eax, esp
mov dword [eax], str.DataFilePath
call fcn.004137f6
cmp al, bl
je 0x432a18
lea eax, [ebp - 0x710]
push eax
lea ecx, [ebp - 0x790]
call fcn.0041ce14
push dword [ebp - 0x710]
mov byte [ebp - 4], 0x1b
call dword [0x69b370]
cmp eax, 0xffffffff
je 0x4329f3
mov ecx, dword [0x7534c4]
xor eax, eax
cmp dword [ecx + 0x218], ebx
setne al
mov esi, eax
jmp 0x4329fe
lea ecx, [ebp - 0x790]
call fcn.00414dbe
mov ecx, dword [ebp - 0x710]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x17
call fcn.0040124d
cmp esi, ebx
je 0x432f69
lea eax, [ebp - 0x720]
push eax
lea ecx, [ebp - 0x714]
call fcn.0040191c
lea eax, [ebp - 0x114]
push eax
push ebx
push dword [ebp - 0x754]
push dword [ebp - 0x740]
call dword [0x69b374]
test eax, eax
je 0x432a6d
lea eax, [ebp - 0x114]
push eax
call fcn.005b80b0
pop ecx
push eax
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x714]
call fcn.004017d9
jmp 0x432b2c
push edi
lea eax, [ebp - 0x740]
push eax
lea eax, [ebp - 0x72c]
push eax
call fcn.00405bb5
lea ecx, [ebp - 0x754]
push ecx
push eax
lea eax, [ebp - 0x708]
push eax
mov byte [ebp - 4], 0x1c
call fcn.00405b5e
add esp, 0x18
push eax
lea ecx, [ebp - 0x714]
mov byte [ebp - 4], 0x1d
call fcn.0040191c
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
call fcn.0040124d
mov ecx, dword [ebp - 0x72c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x17
call fcn.0040124d
push 0x2e
lea ecx, [ebp - 0x714]
call fcn.0040391b
cmp eax, 0xffffffff
je 0x432b13
push eax
lea eax, [ebp - 0x708]
push eax
lea ecx, [ebp - 0x714]
call fcn.00403bfd
push eax
lea ecx, [ebp - 0x714]
mov byte [ebp - 4], 0x1e
call fcn.0040191c
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x17
call fcn.0040124d
mov esi, str..tmp
push esi
call fcn.005b80b0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x714]
call fcn.00403c44
xor eax, eax
cmp dword [ebp - 0x784], ebx
push ecx
setne al
mov dword [ebp - 0x780], ebx
mov dword [ebp - 0x770], ebx
mov dword [ebp - 0x76c], ebx
mov esi, str.DataFilePath
lea ecx, [ebp - 0x790]
mov dword [ebp - 0x718], esp
mov dword [ebp - 0x774], eax
mov eax, esp
mov dword [eax], esi
call fcn.004137f6
lea ecx, [ebp - 0x790]
cmp al, bl
je 0x432b88
push ebx
push dword [ebp - 0x720]
push dword [ebp - 0x780]
call fcn.00416167
jmp 0x432b99
push 0x4000
push dword [ebp - 0x720]
push esi
call fcn.0041560e
mov edi, dword [ebp - 0x714]
mov esi, dword [0x69b35c]
push 0x80
push edi
call esi
push edi
call dword [0x69b358]
push 0x80
push dword [ebp - 0x720]
call esi
push dword [ebp - 0x720]
call dword [0x69b358]
lea ecx, [ebp - 0x7c8]
call fcn.004c5481
lea ecx, [ebp - 0x7dc]
mov byte [ebp - 4], 0x1f
call fcn.004c5481
push ebx
push 0x9001
push edi
lea ecx, [ebp - 0x7c8]
mov byte [ebp - 4], 0x20
call fcn.004c5909
test eax, eax
je 0x432dd7
push ebx
push 0x9001
push dword [ebp - 0x720]
lea ecx, [ebp - 0x7dc]
call fcn.004c5909
test eax, eax
je 0x432dd7
push ebx
push 0x1000
push ebx
lea eax, [ebp - 0x7c8]
push eax
lea ecx, [ebp - 0x828]
call fcn.004b93fe
push 0xb132
lea ecx, [ebp - 0x828]
mov byte [ebp - 4], 0x21
call fcn.00403632
push 1
lea ecx, [ebp - 0x828]
call fcn.00403632
mov ecx, dword [0x7534c4]
add ecx, 0x680
mov eax, dword [ecx]
lea edx, [ebp - 0x828]
push edx
call dword [eax + 8]
mov ecx, dword [0x7534c4]
add ecx, 0x1f8
mov eax, dword [ecx]
lea edx, [ebp - 0x828]
push edx
call dword [eax + 8]
mov ecx, dword [0x7534c4]
add ecx, 0x3cc
mov eax, dword [ecx]
lea edx, [ebp - 0x828]
push edx
call dword [eax + 8]
mov ecx, dword [0x7534c4]
add ecx, 0x6f0
mov eax, dword [ecx]
lea edx, [ebp - 0x828]
push edx
call dword [eax + 8]
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x828]
push eax
add ecx, 0x69c
call fcn.00455999
mov ecx, dword [0x7534c4]
add ecx, 0x5ec
mov eax, dword [ecx]
lea edx, [ebp - 0x828]
push edx
call dword [eax + 8]
mov ecx, dword [0x7534c4]
add ecx, 0x664
mov eax, dword [ecx]
lea edx, [ebp - 0x828]
push edx
call dword [eax + 8]
lea ecx, [ebp - 0x828]
call fcn.004b8ecc
lea ecx, [ebp - 0x7c8]
call fcn.004c52a4
lea ecx, [ebp - 0x828]
call fcn.004b9246
lea ecx, [ebp - 0x7c8]
call fcn.004c541c
lea ecx, [ebp - 0x7dc]
call fcn.004c52a4
lea ecx, [ebp - 0x7dc]
call fcn.004c541c
lea ecx, [ebp - 0x7ac]
call fcn.00448aab
push str.1203482829023872873728
push dword [ebp - 0x720]
lea ecx, [ebp - 0x7ac]
push edi
mov byte [ebp - 4], 0x22
call fcn.00449804
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [ebp - 0x708], ecx
push 0x80
push edi
call esi
push edi
call dword [0x69b358]
lea ecx, [ebp - 0x7ac]
mov byte [ebp - 4], 0x21
call fcn.00448ad2
lea ecx, [ebp - 0x828]
mov byte [ebp - 4], 0x20
call fcn.004b93bc
cmp dword [ebp - 0x708], ebx
je 0x432dd7
lea eax, [ebp - 0x720]
push eax
lea eax, [ebp - 0x708]
push str.Create_uninstall_data_file:
push eax
call fcn.0040ccc6
add esp, 0xc
push ebx
push ebx
mov byte [ebp - 4], 0x23
push ebx
jmp 0x432f27
mov esi, str.ERR_CREATEUNINSTALL_DATAFILE
push esi
lea ecx, [ebp - 0x710]
call fcn.00401b65
mov ecx, dword [ebp - 0x724]
lea eax, [ebp - 0x710]
push eax
push 0x8e
mov byte [ebp - 4], 0x24
call fcn.0042dda5
mov ecx, dword [ebp - 0x710]
add ecx, 0xfffffff0
mov dword [ebp - 0x71c], eax
mov byte [ebp - 4], 0x20
call fcn.0040124d
cmp dword [ebp - 0x71c], ebx
je 0x432f00
call fcn.004b8afa
push eax
lea ecx, [ebp - 0x710]
call fcn.004015a6
push dword [ebp - 0x720]
mov byte [ebp - 4], 0x25
push ecx
mov ecx, esp
mov dword [ebp - 0x718], esp
push esi
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x708]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
lea eax, [ebp - 0x710]
push str._s_r_n_s
push eax
mov byte [ebp - 4], 0x26
call fcn.0040255b
mov ecx, dword [ebp - 0x708]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x25
call fcn.0040124d
call fcn.00442752
mov esi, dword [ebp - 0x710]
test eax, eax
jne 0x432ef4
push 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x718], esp
push str.MSG_ERROR
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x708]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
mov eax, dword [ebp - 0x724]
mov eax, dword [eax + 8]
push esi
push dword [eax + 0x20]
call dword [0x69b9f8]
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
call fcn.0040124d
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 0x20
call fcn.0040124d
lea eax, [ebp - 0x720]
push eax
lea eax, [ebp - 0x708]
push str.Create_uninstall_data_file:
push eax
call fcn.0040ccc6
add esp, 0xc
push ebx
push 0x8e
mov byte [ebp - 4], 0x27
push 1
mov eax, dword [eax]
mov ecx, dword [0x7534c4]
push eax
add ecx, 0x6dc
call fcn.0043b7c8
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
call fcn.0040124d
lea ecx, [ebp - 0x7dc]
mov byte [ebp - 4], 0x1f
call fcn.004c55b1
lea ecx, [ebp - 0x7c8]
mov byte [ebp - 4], 0x17
call fcn.004c55b1
jmp 0x432f6f
mov edi, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x724]
call fcn.00424b78
test eax, eax
je 0x432f9e
mov eax, dword [0x7534c4]
mov esi, dword [eax + 0x19c]
neg esi
sbb esi, esi
and esi, 0xffffd8ec
add esi, 5
mov dword [ebp - 0x71c], esi
jmp 0x432fa4
mov esi, dword [ebp - 0x71c]
lea ecx, [edi - 0x10]
call fcn.0040124d
mov ecx, dword [ebp - 0x720]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xe
call fcn.0040124d
cmp esi, ebx
jne 0x434634
push ecx
mov ecx, esp
mov dword [ebp - 0x718], esp
push str.MSG_PROG_UNINSTALL_CREATEEXE
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x708]
push eax
add ecx, 0x16c
call fcn.0043db02
push eax
lea ecx, [ebp - 0x74c]
mov byte [ebp - 4], 0x28
call fcn.0040191c
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xe
call fcn.0040124d
push dword [ebp - 0x73c]
mov eax, dword [ebp - 0x74c]
push ebx
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x718], esp
mov esi, esp
push eax
mov dword [ebp - 0x734], eax
call fcn.0040149c
pop ecx
push dword [ebp - 0x748]
mov ecx, dword [ebp - 0x724]
add eax, 0x10
mov dword [esi], eax
call fcn.00428a7b
mov eax, dword [0x7534c4]
mov dword [ebp - 0x72c], ebx
cmp dword [eax + 0xf4], ebx
je 0x433155
xor eax, eax
cmp dword [ebp - 0x784], ebx
push ecx
setne al
mov dword [ebp - 0x780], ebx
mov dword [ebp - 0x770], ebx
mov dword [ebp - 0x76c], ebx
lea ecx, [ebp - 0x790]
mov dword [ebp - 0x718], esp
mov dword [ebp - 0x774], eax
mov eax, esp
mov dword [eax], str.EXELocation
call fcn.004137f6
cmp al, bl
je 0x433155
lea eax, [ebp - 0x714]
push eax
lea ecx, [ebp - 0x790]
call fcn.0041ce14
push dword [ebp - 0x714]
mov byte [ebp - 4], 0x29
call dword [0x69b370]
cmp eax, 0xffffffff
je 0x433143
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x714]
add ecx, 0x208
push eax
call fcn.0040191c
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0x208]
push ecx
sub eax, 0x10
mov dword [ebp - 0x718], esp
mov esi, esp
push eax
call fcn.0040149c
add eax, 0x10
pop ecx
mov dword [esi], eax
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x73c]
push eax
add ecx, 0x70c
call fcn.0041e8a8
push eax
lea ecx, [ebp - 0x730]
mov byte [ebp - 4], 0x2a
call fcn.0040191c
mov ecx, dword [ebp - 0x73c]
add ecx, 0xfffffff0
call fcn.0040124d
mov ecx, dword [ebp - 0x714]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xe
call fcn.0040124d
push dword [ebp - 0x730]
call dword [0x69b370]
mov edi, 0x1f4
cmp eax, 0xffffffff
je 0x43338a
push 0x69c5b8
lea ecx, [ebp - 0x714]
call fcn.00401b65
push dword [ebp - 0x730]
lea eax, [ebp - 0x714]
push str.Uninstall_executable_already_exists:__s
push eax
mov byte [ebp - 4], 0x2b
call fcn.0040255b
mov ecx, dword [0x7534c4]
add esp, 0xc
push ebx
push ebx
push 4
push dword [ebp - 0x714]
add ecx, 0x6dc
call fcn.0043b7c8
lea ecx, [ebp - 0x708]
call fcn.0044f515
mov eax, dword [ebp - 0x730]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x718], esp
mov esi, esp
push eax
mov byte [ebp - 4], 0x2c
call fcn.0040149c
add eax, 0x10
mov dword [esi], eax
pop ecx
lea eax, [ebp - 0x710]
push eax
call fcn.0044f6ff
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0x190]
add esp, 4
sub eax, 0x10
mov dword [ebp - 0x718], esp
mov esi, esp
push eax
mov byte [ebp - 4], 0x2d
call fcn.0040149c
add eax, 0x10
mov dword [esi], eax
pop ecx
lea eax, [ebp - 0x720]
push eax
call fcn.0044f6ff
mov eax, dword [ebp - 0x720]
add esp, 4
add eax, 0xfffffff0
mov dword [ebp - 0x718], esp
mov esi, esp
push eax
mov byte [ebp - 4], 0x2e
call fcn.0040149c
add eax, 0x10
mov dword [esi], eax
mov eax, dword [ebp - 0x710]
add eax, 0xfffffff0
mov dword [ebp - 0x750], esp
mov esi, esp
push eax
mov byte [ebp - 4], 0x2f
call fcn.0040149c
add eax, 0x10
mov dword [esi], eax
pop ecx
mov byte [ebp - 4], 0x2e
call fcn.0045656b
mov esi, eax
push esi
push dword [ebp - 0x710]
lea eax, [ebp - 0x714]
push dword [ebp - 0x720]
push str.Compared_uninstall_file_versions._New:__s_Old:__s_Result:__d
push eax
call fcn.0040255b
mov ecx, dword [0x7534c4]
add esp, 0x1c
push ebx
push ebx
push 4
push dword [ebp - 0x714]
add ecx, 0x6dc
call fcn.0043b7c8
cmp esi, 0xffffffff
je 0x4332e0
cmp esi, ebx
je 0x4332e0
mov ecx, dword [0x7534c4]
push ebx
push ebx
push 4
push str.Existing_uninstall_executable_is_newer._Will_not_overwrite.
add ecx, 0x6dc
mov dword [ebp - 0x72c], 1
call fcn.0043b7c8
jmp 0x433341
push 0x80
push dword [ebp - 0x730]
call dword [0x69b35c]
push dword [ebp - 0x730]
call dword [0x69b358]
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x73c]
push str.Overwrite_uninstall_executable:
push eax
call fcn.0040ccc6
add esp, 0xc
mov eax, dword [eax]
mov ecx, dword [0x7534c4]
push ebx
push ebx
push ebx
push eax
add ecx, 0x6dc
mov byte [ebp - 4], 0x30
call fcn.0043b7c8
mov ecx, dword [ebp - 0x73c]
add ecx, 0xfffffff0
call fcn.0040124d
mov ecx, dword [ebp - 0x720]
add ecx, 0xfffffff0
call fcn.0040124d
mov ecx, dword [ebp - 0x710]
add ecx, 0xfffffff0
call fcn.0040124d
lea ecx, [ebp - 0x708]
mov byte [ebp - 4], 0x2b
call fcn.0044f51e
mov ecx, dword [ebp - 0x714]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xe
call fcn.0040124d
cmp dword [ebp - 0x72c], ebx
jne 0x433a41
lea ecx, [ebp - 0x7dc]
call fcn.004c5481
lea ecx, [ebp - 0x7c8]
mov byte [ebp - 4], 0x31
call fcn.004c5481
push ebx
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x7b4]
mov byte [ebp - 4], 0x32
mov dword [ebp - 0x714], ebx
call fcn.004256cf
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0x190]
lea ecx, [ebp - 0x7b4]
push ecx
push 0x20
push eax
lea ecx, [ebp - 0x7dc]
mov byte [ebp - 4], 0x33
mov dword [ebp - 0x708], 1
call fcn.004c5909
test eax, eax
je 0x4338be
call fcn.004b8afa
push eax
lea ecx, [ebp - 0x720]
call fcn.004015a6
push 0x5c
lea ecx, [ebp - 0x730]
mov byte [ebp - 4], 0x34
call fcn.0040391b
cmp eax, 0xffffffff
je 0x433488
push eax
lea eax, [ebp - 0x73c]
push eax
lea ecx, [ebp - 0x730]
call fcn.00403bfd
push eax
lea ecx, [ebp - 0x720]
mov byte [ebp - 4], 0x35
call fcn.0040191c
mov ecx, dword [ebp - 0x73c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x34
call fcn.0040124d
push 0x69cdcc
lea ecx, [ebp - 0x720]
call fcn.00405af6
mov eax, dword [ebp - 0x720]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x718], esp
mov esi, esp
push eax
call fcn.0040149c
pop ecx
mov ecx, dword [ebp - 0x724]
add eax, 0x10
mov dword [esi], eax
call fcn.00428c87
mov esi, dword [0x69b9f8]
mov edi, str.MSG_ERROR
cmp dword [ebp - 0x71c], ebx
jne 0x43389b
lea eax, [ebp - 0x7b4]
push eax
push 0x1011
push dword [ebp - 0x730]
lea ecx, [ebp - 0x7c8]
call fcn.004c5909
test eax, eax
jne 0x4336e2
cmp dword [ebp - 0x7ac], 0xb
jne 0x43356e
push 0x35
push ecx
mov ecx, esp
mov dword [ebp - 0x738], esp
push edi
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x798]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
mov byte [ebp - 4], 0x36
push ecx
mov ecx, esp
mov dword [ebp - 0x738], esp
push str.ERR_CREATEUNINSTALL_SHARINGVIOLATION
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x73c]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
mov eax, dword [ebp - 0x724]
mov eax, dword [eax + 8]
push dword [eax + 0x20]
call esi
mov ecx, dword [ebp - 0x73c]
add ecx, 0xfffffff0
mov dword [ebp - 0x738], eax
call fcn.0040124d
mov ecx, dword [ebp - 0x798]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x34
call fcn.0040124d
cmp dword [ebp - 0x738], 4
je 0x4336d1
push str.ERR_CREATEUNINSTALL_OPEN_EXE_WRITE
lea ecx, [ebp - 0x72c]
mov dword [ebp - 0x708], ebx
call fcn.00401b65
mov ecx, dword [ebp - 0x724]
lea eax, [ebp - 0x72c]
push eax
push 0x91
mov byte [ebp - 4], 0x37
call fcn.0042dda5
mov ecx, dword [ebp - 0x72c]
add ecx, 0xfffffff0
mov dword [ebp - 0x71c], eax
mov byte [ebp - 4], 0x34
call fcn.0040124d
cmp dword [ebp - 0x71c], ebx
je 0x43389b
push 0x1f4
lea eax, [ebp - 0x308]
push ebx
push eax
call fcn.005b8ac0
add esp, 0xc
push ebx
push 0x1f4
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x7b4]
call fcn.004cf857
call fcn.004b8afa
push eax
lea ecx, [ebp - 0x710]
call fcn.004015a6
push dword [ebp - 0x730]
lea eax, [ebp - 0x308]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x738], esp
push str.ERR_CREATEUNINSTALL_OPEN_EXE_WRITE
mov byte [ebp - 4], 0x38
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x750]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
lea eax, [ebp - 0x710]
push str._s_r_n_s_r_n_s
push eax
mov byte [ebp - 4], 0x39
call fcn.0040255b
mov ecx, dword [ebp - 0x750]
add esp, 0x14
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x38
call fcn.0040124d
call fcn.00442752
test eax, eax
jne 0x4336bf
push 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x738], esp
push edi
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x718]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
mov eax, dword [ebp - 0x724]
push dword [ebp - 0x710]
mov eax, dword [eax + 8]
push dword [eax + 0x20]
call esi
mov ecx, dword [ebp - 0x718]
add ecx, 0xfffffff0
call fcn.0040124d
mov ecx, dword [ebp - 0x710]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x34
call fcn.0040124d
cmp dword [ebp - 0x708], ebx
jne 0x433493
jmp 0x43389b
mov esi, 0x19000
push esi
call fcn.005b7f13
mov edi, eax
mov eax, dword [ebp - 0x744]
dec eax
pop ecx
mov dword [ebp - 0x710], ebx
mov dword [ebp - 0x718], eax
cmp eax, ebx
jle 0x4337f3
cmp dword [ebp - 0x71c], ebx
jne 0x433889
push esi
push edi
lea ecx, [ebp - 0x7dc]
call fcn.004c5176
cmp eax, ebx
jbe 0x4337a3
push eax
push edi
lea ecx, [ebp - 0x7c8]
call fcn.004c51b8
inc dword [ebp - 0x728]
inc dword [ebp - 0x714]
fild dword [ebp - 0x714]
fidiv dword [ebp - 0x744]
fld qword [0x69cd80]
fmul st(1), st(0)
fxch st(1)
call fcn.005b8ca0
fild dword [ebp - 0x728]
mov esi, eax
fdiv qword [ebp - 0x7a0]
fmulp st(1)
call fcn.005b8ca0
push eax
push esi
push ecx
mov dword [ebp - 0x750], esp
mov esi, esp
push dword [ebp - 0x734]
call fcn.0040149c
pop ecx
push dword [ebp - 0x748]
mov ecx, dword [ebp - 0x724]
add eax, 0x10
mov dword [esi], eax
call fcn.00428a7b
mov esi, 0x19000
mov ecx, dword [ebp - 0x724]
call fcn.00424b78
test eax, eax
je 0x4337cf
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0x19c]
neg eax
sbb eax, eax
and eax, 0xffffd8ec
add eax, 5
mov dword [ebp - 0x71c], eax
inc dword [ebp - 0x710]
mov eax, dword [ebp - 0x710]
cmp eax, dword [ebp - 0x718]
jl 0x43370b
cmp dword [ebp - 0x71c], ebx
jne 0x433889
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0xf0]
xor edx, edx
div esi
lea ecx, [ebp - 0x7dc]
push edx
push edi
call fcn.004c5176
cmp eax, ebx
jbe 0x433889
push eax
push edi
lea ecx, [ebp - 0x7c8]
call fcn.004c51b8
inc dword [ebp - 0x728]
inc dword [ebp - 0x714]
fild dword [ebp - 0x714]
fidiv dword [ebp - 0x744]
fld qword [0x69cd80]
fmul st(1), st(0)
fxch st(1)
call fcn.005b8ca0
fild dword [ebp - 0x728]
mov esi, eax
fdiv qword [ebp - 0x7a0]
fmulp st(1)
call fcn.005b8ca0
push eax
push esi
push ecx
mov dword [ebp - 0x718], esp
mov esi, esp
push dword [ebp - 0x734]
call fcn.0040149c
pop ecx
push dword [ebp - 0x748]
mov ecx, dword [ebp - 0x724]
add eax, 0x10
mov dword [esi], eax
call fcn.00428a7b
push edi
call fcn.005b7fa7
pop ecx
lea ecx, [ebp - 0x7c8]
call fcn.004c541c
lea ecx, [ebp - 0x7dc]
call fcn.004c541c
mov ecx, dword [ebp - 0x720]
add ecx, 0xfffffff0
call fcn.0040124d
mov edi, 0x1f4
jmp 0x433a09
mov esi, str.ERR_CREATEUNINSTALL_OPEN_EXE_READ
push esi
lea ecx, [ebp - 0x708]
call fcn.00401b65
mov ecx, dword [ebp - 0x724]
lea eax, [ebp - 0x708]
push eax
push 0x90
mov byte [ebp - 4], 0x3a
call fcn.0042dda5
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
mov dword [ebp - 0x71c], eax
mov byte [ebp - 4], 0x33
call fcn.0040124d
cmp dword [ebp - 0x71c], ebx
je 0x433a09
push edi
lea eax, [ebp - 0x308]
push ebx
push eax
call fcn.005b8ac0
add esp, 0xc
push ebx
push edi
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x7b4]
call fcn.004cf857
call fcn.004b8afa
push eax
lea ecx, [ebp - 0x708]
call fcn.004015a6
lea eax, [ebp - 0x308]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x718], esp
push esi
mov byte [ebp - 4], 0x3b
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x718]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
lea eax, [ebp - 0x708]
push str._s_r_n_s
push eax
mov byte [ebp - 4], 0x3c
call fcn.0040255b
mov ecx, dword [ebp - 0x718]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x3b
call fcn.0040124d
call fcn.00442752
mov esi, dword [ebp - 0x708]
test eax, eax
jne 0x433a01
push 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x718], esp
push str.MSG_ERROR
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x718]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
mov eax, dword [ebp - 0x724]
mov eax, dword [eax + 8]
push esi
push dword [eax + 0x20]
call dword [0x69b9f8]
mov ecx, dword [ebp - 0x718]
add ecx, 0xfffffff0
call fcn.0040124d
lea ecx, [esi - 0x10]
call fcn.0040124d
mov ecx, dword [ebp - 0x7a4]
add ecx, 0xfffffff0
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
call fcn.0040124d
lea ecx, [ebp - 0x7c8]
mov byte [ebp - 4], 0x31
call fcn.004c55b1
lea ecx, [ebp - 0x7dc]
mov byte [ebp - 4], 0xe
call fcn.004c55b1
jmp 0x433a50
mov eax, dword [ebp - 0x744]
add eax, 2
mov dword [ebp - 0x728], eax
cmp dword [ebp - 0x71c], ebx
jne 0x434357
push ebx
push ebx
push ebx
push ebx
mov esi, 0x104
push esi
lea eax, [ebp - 0x114]
push eax
push esi
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x730]
call fcn.005b8de2
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0x194]
push esi
lea ecx, [ebp - 0x600]
push ecx
push esi
lea ecx, [ebp - 0x704]
push ecx
push ebx
push ebx
push ebx
push ebx
push eax
call fcn.005b8de2
add esp, 0x48
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x720]
call fcn.00401b65
lea eax, [ebp - 0x114]
push eax
mov byte [ebp - 4], 0x3d
call fcn.005b80b0
pop ecx
push eax
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x720]
call fcn.00403c44
lea eax, [ebp - 0x704]
push eax
call fcn.005b80b0
pop ecx
push eax
lea eax, [ebp - 0x704]
push eax
lea ecx, [ebp - 0x720]
call fcn.00403c44
lea eax, [ebp - 0x600]
push eax
call fcn.005b80b0
pop ecx
push eax
lea eax, [ebp - 0x600]
push eax
lea ecx, [ebp - 0x720]
call fcn.00403c44
lea ecx, [ebp - 0x7c8]
call fcn.004c5481
lea ecx, [ebp - 0x7dc]
mov byte [ebp - 4], 0x3e
call fcn.004c5481
push ebx
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x7b4]
mov byte [ebp - 4], 0x3f
mov dword [ebp - 0x714], ebx
call fcn.004256cf
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0x194]
mov byte [ebp - 4], 0x40
mov dword [ebp - 0x72c], 1
lea ecx, [ebp - 0x7b4]
push ecx
push 0x20
push eax
lea ecx, [ebp - 0x7c8]
call fcn.004c5909
test eax, eax
je 0x433fa6
mov esi, dword [0x69b9f8]
cmp dword [ebp - 0x71c], ebx
jne 0x433f90
lea eax, [ebp - 0x7b4]
push eax
push 0x1011
push dword [ebp - 0x720]
lea ecx, [ebp - 0x7dc]
call fcn.004c5909
test eax, eax
jne 0x433ddc
cmp dword [ebp - 0x7ac], 0xb
jne 0x433c6c
push 0x35
push ecx
mov ecx, esp
mov dword [ebp - 0x738], esp
push str.MSG_ERROR
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x750]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
mov byte [ebp - 4], 0x41
push ecx
mov ecx, esp
mov dword [ebp - 0x738], esp
push str.ERR_CREATEUNINSTALL_SHARINGVIOLATION
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x718]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
mov eax, dword [ebp - 0x724]
mov eax, dword [eax + 8]
push dword [eax + 0x20]
call esi
mov ecx, dword [ebp - 0x718]
add ecx, 0xfffffff0
mov dword [ebp - 0x738], eax
call fcn.0040124d
mov ecx, dword [ebp - 0x750]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x40
call fcn.0040124d
cmp dword [ebp - 0x738], 4
je 0x433dcb
push str.ERR_CREATEUNINSTALL_OPEN_EXE_WRITE
lea ecx, [ebp - 0x708]
mov dword [ebp - 0x72c], ebx
call fcn.00401b65
mov ecx, dword [ebp - 0x724]
lea eax, [ebp - 0x708]
push eax
push 0x91
mov byte [ebp - 4], 0x42
call fcn.0042dda5
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
mov dword [ebp - 0x71c], eax
mov byte [ebp - 4], 0x40
call fcn.0040124d
cmp dword [ebp - 0x71c], ebx
je 0x433f90
push edi
lea eax, [ebp - 0x4fc]
push ebx
push eax
call fcn.005b8ac0
add esp, 0xc
push ebx
push edi
lea eax, [ebp - 0x4fc]
push eax
lea ecx, [ebp - 0x7b4]
call fcn.004cf857
call fcn.004b8afa
push eax
lea ecx, [ebp - 0x710]
call fcn.004015a6
push dword [ebp - 0x730]
lea eax, [ebp - 0x4fc]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x738], esp
push str.ERR_CREATEUNINSTALL_OPEN_EXE_WRITE
mov byte [ebp - 4], 0x43
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x798]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
lea eax, [ebp - 0x710]
push str._s_r_n_s_r_n_s
push eax
mov byte [ebp - 4], 0x44
call fcn.0040255b
mov ecx, dword [ebp - 0x798]
add esp, 0x14
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x43
call fcn.0040124d
call fcn.00442752
test eax, eax
jne 0x433db9
push 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x738], esp
push str.MSG_ERROR
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x73c]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
mov eax, dword [ebp - 0x724]
push dword [ebp - 0x710]
mov eax, dword [eax + 8]
push dword [eax + 0x20]
call esi
mov ecx, dword [ebp - 0x73c]
add ecx, 0xfffffff0
call fcn.0040124d
mov ecx, dword [ebp - 0x710]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x40
call fcn.0040124d
cmp dword [ebp - 0x72c], ebx
jne 0x433b8d
jmp 0x433f90
mov esi, 0x19000
push esi
call fcn.005b7f13
mov edi, eax
mov eax, dword [ebp - 0x794]
dec eax
pop ecx
mov dword [ebp - 0x710], ebx
mov dword [ebp - 0x718], eax
cmp eax, ebx
jle 0x433eed
cmp dword [ebp - 0x71c], ebx
jne 0x433f7e
push esi
push edi
lea ecx, [ebp - 0x7c8]
call fcn.004c5176
cmp eax, ebx
jbe 0x433e9d
push eax
push edi
lea ecx, [ebp - 0x7dc]
call fcn.004c51b8
inc dword [ebp - 0x728]
inc dword [ebp - 0x714]
fild dword [ebp - 0x714]
fidiv dword [ebp - 0x744]
fld qword [0x69cd80]
fmul st(1), st(0)
fxch st(1)
call fcn.005b8ca0
fild dword [ebp - 0x728]
mov esi, eax
fdiv qword [ebp - 0x7a0]
fmulp st(1)
call fcn.005b8ca0
push eax
push esi
push ecx
mov dword [ebp - 0x750], esp
mov esi, esp
push dword [ebp - 0x734]
call fcn.0040149c
pop ecx
push dword [ebp - 0x748]
mov ecx, dword [ebp - 0x724]
add eax, 0x10
mov dword [esi], eax
call fcn.00428a7b
mov esi, 0x19000
mov ecx, dword [ebp - 0x724]
call fcn.00424b78
test eax, eax
je 0x433ec9
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0x19c]
neg eax
sbb eax, eax
and eax, 0xffffd8ec
add eax, 5
mov dword [ebp - 0x71c], eax
inc dword [ebp - 0x710]
mov eax, dword [ebp - 0x710]
cmp eax, dword [ebp - 0x718]
jl 0x433e05
cmp dword [ebp - 0x71c], ebx
jne 0x433f7e
mov eax, dword [ebp - 0x70c]
xor edx, edx
div esi
lea ecx, [ebp - 0x7c8]
push edx
push edi
call fcn.004c5176
cmp eax, ebx
jbe 0x433f7e
push eax
push edi
lea ecx, [ebp - 0x7dc]
call fcn.004c51b8
inc dword [ebp - 0x728]
inc dword [ebp - 0x714]
fild dword [ebp - 0x714]
fidiv dword [ebp - 0x744]
fld qword [0x69cd80]
fmul st(1), st(0)
fxch st(1)
call fcn.005b8ca0
fild dword [ebp - 0x728]
mov esi, eax
fdiv qword [ebp - 0x7a0]
fmulp st(1)
call fcn.005b8ca0
push eax
push esi
push ecx
mov dword [ebp - 0x70c], esp
mov esi, esp
push dword [ebp - 0x734]
call fcn.0040149c
pop ecx
push dword [ebp - 0x748]
mov ecx, dword [ebp - 0x724]
add eax, 0x10
mov dword [esi], eax
call fcn.00428a7b
push edi
call fcn.005b7fa7
pop ecx
lea ecx, [ebp - 0x7dc]
call fcn.004c541c
lea ecx, [ebp - 0x7c8]
call fcn.004c541c
mov esi, dword [ebp - 0x71c]
jmp 0x4340f2
push str.ERR_CREATEUNINSTALL_OPEN_EXE_READ
lea ecx, [ebp - 0x708]
call fcn.00401b65
mov ecx, dword [ebp - 0x724]
lea eax, [ebp - 0x708]
push eax
push 0x90
mov byte [ebp - 4], 0x45
call fcn.0042dda5
mov ecx, dword [ebp - 0x708]
mov esi, eax
add ecx, 0xfffffff0
mov dword [ebp - 0x71c], esi
mov byte [ebp - 4], 0x40
call fcn.0040124d
cmp esi, ebx
je 0x4340f2
push edi
lea eax, [ebp - 0x4fc]
push ebx
push eax
call fcn.005b8ac0
add esp, 0xc
push ebx
push edi
lea eax, [ebp - 0x4fc]
push eax
lea ecx, [ebp - 0x7b4]
call fcn.004cf857
call fcn.004b8afa
push eax
lea ecx, [ebp - 0x708]
call fcn.004015a6
lea eax, [ebp - 0x4fc]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x70c], esp
push str.ERR_CREATEUNINSTALL_OPEN_EXE_READ
mov byte [ebp - 4], 0x46
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x70c]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
lea eax, [ebp - 0x708]
push str._s_r_n_s
push eax
mov byte [ebp - 4], 0x47
call fcn.0040255b
mov ecx, dword [ebp - 0x70c]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x46
call fcn.0040124d
call fcn.00442752
mov edi, dword [ebp - 0x708]
test eax, eax
jne 0x4340ea
push 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x70c], esp
push str.MSG_ERROR
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x70c]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
mov eax, dword [ebp - 0x724]
mov eax, dword [eax + 8]
push edi
push dword [eax + 0x20]
call dword [0x69b9f8]
mov ecx, dword [ebp - 0x70c]
add ecx, 0xfffffff0
call fcn.0040124d
lea ecx, [edi - 0x10]
call fcn.0040124d
mov ecx, dword [ebp - 0x7a4]
add ecx, 0xfffffff0
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
call fcn.0040124d
lea ecx, [ebp - 0x7dc]
mov byte [ebp - 4], 0x3e
call fcn.004c55b1
lea ecx, [ebp - 0x7c8]
mov byte [ebp - 4], 0x3d
call fcn.004c55b1
mov ecx, dword [ebp - 0x720]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xe
call fcn.0040124d
cmp esi, ebx
jne 0x43435d
xor eax, eax
cmp dword [ebp - 0x784], ebx
push ecx
setne al
mov dword [ebp - 0x780], ebx
mov dword [ebp - 0x770], ebx
mov dword [ebp - 0x76c], ebx
lea ecx, [ebp - 0x790]
mov dword [ebp - 0x70c], esp
mov dword [ebp - 0x774], eax
mov eax, esp
mov dword [eax], str.EXELocation
call fcn.004137f6
mov esi, str.SUF70UninstallData
cmp al, bl
jne 0x4341d5
push ecx
mov eax, esp
mov dword [ebp - 0x784], ebx
mov dword [ebp - 0x780], ebx
mov dword [ebp - 0x770], ebx
mov dword [ebp - 0x76c], ebx
mov dword [ebp - 0x774], ebx
lea ecx, [ebp - 0x790]
mov dword [ebp - 0x70c], esp
mov dword [eax], esi
call fcn.0041379b
mov edi, 0x4000
push edi
push ebx
push str.EXELocation
lea ecx, [ebp - 0x790]
call fcn.0041560e
jmp 0x4341da
mov edi, 0x4000
push ebx
push dword [ebp - 0x730]
lea ecx, [ebp - 0x790]
push dword [ebp - 0x780]
call fcn.00416167
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x708]
push eax
call fcn.00405c92
xor eax, eax
cmp dword [ebp - 0x784], ebx
push ecx
setne al
mov dword [ebp - 0x780], ebx
mov dword [ebp - 0x770], ebx
mov dword [ebp - 0x76c], ebx
lea ecx, [ebp - 0x790]
mov byte [ebp - 4], 0x48
mov dword [ebp - 0x70c], esp
mov dword [ebp - 0x774], eax
mov eax, esp
mov dword [eax], str.AppShortcutFolderPath
call fcn.004137f6
cmp al, bl
jne 0x43428f
push ecx
mov eax, esp
mov dword [ebp - 0x784], ebx
mov dword [ebp - 0x780], ebx
mov dword [ebp - 0x770], ebx
mov dword [ebp - 0x76c], ebx
mov dword [ebp - 0x774], ebx
lea ecx, [ebp - 0x790]
mov dword [ebp - 0x70c], esp
mov dword [eax], esi
call fcn.0041379b
push edi
push ebx
push str.AppShortcutFolderPath
lea ecx, [ebp - 0x790]
call fcn.0041560e
push ebx
push dword [ebp - 0x708]
lea ecx, [ebp - 0x790]
push dword [ebp - 0x780]
call fcn.00416167
xor eax, eax
cmp dword [ebp - 0x784], ebx
push ecx
setne al
mov dword [ebp - 0x780], ebx
mov dword [ebp - 0x770], ebx
mov dword [ebp - 0x76c], ebx
lea ecx, [ebp - 0x790]
mov dword [ebp - 0x70c], esp
mov dword [ebp - 0x774], eax
mov eax, esp
mov dword [eax], str.UninstallReverseOrder
call fcn.004137f6
cmp al, bl
jne 0x434345
push ecx
mov eax, esp
mov dword [ebp - 0x784], ebx
mov dword [ebp - 0x780], ebx
mov dword [ebp - 0x770], ebx
mov dword [ebp - 0x76c], ebx
mov dword [ebp - 0x774], ebx
lea ecx, [ebp - 0x790]
mov dword [ebp - 0x70c], esp
mov dword [eax], esi
call fcn.0041379b
push edi
push ebx
push str.UninstallReverseOrder
lea ecx, [ebp - 0x790]
call fcn.0041560e
push ebx
push 0x6a125c
push dword [ebp - 0x780]
lea ecx, [ebp - 0x790]
call fcn.00416167
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xe
call fcn.0040124d
mov esi, dword [ebp - 0x71c]
mov ecx, dword [ebp - 0x724]
call fcn.00424b78
test eax, eax
je 0x43438a
mov eax, dword [0x7534c4]
mov esi, dword [eax + 0x19c]
neg esi
sbb esi, esi
and esi, 0xffffd8ec
add esi, 5
mov dword [ebp - 0x71c], esi
inc dword [ebp - 0x728]
cmp esi, ebx
jne 0x434634
inc dword [ebp - 0x728]
push ecx
mov ecx, esp
mov dword [ebp - 0x70c], esp
push str.MSG_PROG_UNINSTALL_CREATECONTROLFILE
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x70c]
push eax
add ecx, 0x16c
call fcn.0043db02
push eax
lea ecx, [ebp - 0x74c]
mov byte [ebp - 4], 0x49
call fcn.0040191c
mov ecx, dword [ebp - 0x70c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xe
call fcn.0040124d
fild dword [ebp - 0x728]
fdiv qword [ebp - 0x7a0]
fmul qword [0x69cd80]
call fcn.005b8ca0
push eax
mov eax, dword [ebp - 0x74c]
push 0x64
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x70c], esp
mov esi, esp
push eax
mov dword [ebp - 0x734], eax
call fcn.0040149c
pop ecx
push dword [ebp - 0x748]
mov ecx, dword [ebp - 0x724]
add eax, 0x10
mov dword [esi], eax
call fcn.00428a7b
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0xec]
push 0x80
push eax
call dword [0x69b35c]
mov eax, dword [0x7534c4]
push dword [eax + 0xec]
call dword [0x69b358]
push ecx
mov ecx, dword [0x7534c4]
mov ecx, dword [ecx + 0xec]
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x790]
mov dword [ebp - 0x70c], esp
call fcn.00417050
cmp al, bl
jne 0x434608
mov esi, str.ERR_CREATEUNINSTALL_WRITE_CONFIGFILE
push esi
lea ecx, [ebp - 0x708]
call fcn.00401b65
mov ecx, dword [ebp - 0x724]
lea eax, [ebp - 0x708]
push eax
mov edi, 0x8f
push edi
mov byte [ebp - 4], 0x4a
call fcn.0042dda5
mov ecx, dword [ebp - 0x708]
add ecx, 0xfffffff0
mov dword [ebp - 0x71c], eax
mov byte [ebp - 4], 0xe
call fcn.0040124d
cmp dword [ebp - 0x71c], ebx
je 0x4345bb
call fcn.004b8afa
push eax
lea ecx, [ebp - 0x708]
call fcn.004015a6
mov eax, dword [0x7534c4]
push dword [eax + 0xec]
mov byte [ebp - 4], 0x4b
push ecx
mov ecx, esp
mov dword [ebp - 0x70c], esp
push esi
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x70c]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
lea eax, [ebp - 0x708]
push str._s_r_n_s
push eax
mov byte [ebp - 4], 0x4c
call fcn.0040255b
mov ecx, dword [ebp - 0x70c]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x4b
call fcn.0040124d
call fcn.00442752
mov esi, dword [ebp - 0x708]
test eax, eax
jne 0x4345af
push 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x70c], esp
push str.MSG_ERROR
call fcn.00401b65
mov ecx, dword [0x7534c4]
lea eax, [ebp - 0x70c]
push eax
add ecx, 0x16c
call fcn.0043db02
push dword [eax]
mov eax, dword [ebp - 0x724]
mov eax, dword [eax + 8]
push esi
push dword [eax + 0x20]
call dword [0x69b9f8]
mov ecx, dword [ebp - 0x70c]
add ecx, 0xfffffff0
call fcn.0040124d
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 0xe
call fcn.0040124d
mov eax, dword [0x7534c4]
add eax, 0xec
push eax
lea eax, [ebp - 0x70c]
push str.Create_uninstall_config_file:
push eax
call fcn.0040ccc6
add esp, 0xc
mov eax, dword [eax]
mov ecx, dword [0x7534c4]
push ebx
push edi
push 1
push eax
add ecx, 0x6dc
mov byte [ebp - 4], 0x4d
call fcn.0043b7c8
mov ecx, dword [ebp - 0x70c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xe
call fcn.0040124d
mov ecx, dword [ebp - 0x724]
call fcn.00424b78
test eax, eax
je 0x434634
mov eax, dword [0x7534c4]
mov eax, dword [eax + 0x19c]
neg eax
sbb eax, eax
and eax, 0xffffd8ec
add eax, 5
mov dword [ebp - 0x71c], eax
lea ecx, [ebp - 0x868]
mov byte [ebp - 4], 0xd
call fcn.0044b8fc
mov ecx, dword [ebp - 0x7e0]
add ecx, 0xfffffff0
call fcn.0040124d
lea ecx, [ebp - 0x790]
call fcn.00414ad8
mov ecx, dword [ebp - 0x734]
call fcn.0040124d
mov ecx, dword [ebp - 0x754]
add ecx, 0xfffffff0
call fcn.0040124d
mov ecx, dword [ebp - 0x730]
add ecx, 0xfffffff0
call fcn.0040124d
mov ecx, dword [ebp - 0x740]
add ecx, 0xfffffff0
call fcn.0040124d
mov eax, dword [ebp - 0x71c]
jmp 0x4346b5
mov ecx, dword [0x7534c4]
push ebx
push ebx
push 3
push str.Initialize_uninstall_config_file
add ecx, 0x6dc
call fcn.0043b7c8
xor eax, eax
call fcn.005b861a
ret