Function at 0x40f396
Capabilities:
Delete file

Disassembly:
push 0x18c
mov eax, 0x435cc2
call fcn.0041c5c3
mov ebx, ecx
mov dword [ebp - 0x134], ebx
and dword [ebp - 0x180], 0xfffffe00
xor eax, eax
mov edi, eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x17c], eax
push eax
push ecx
mov ecx, esp
mov dword [ebp - 4], 1
push str.bundles
call fcn.00402168
mov ecx, dword [ebx + 0x6c]
lea eax, [ebp - 0x168]
push eax
call fcn.00414f63
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x168]
cmp esi, dword [ebp - 0x164]
je 0x40fa5d
push 4
pop ebx
push 0x43f73c
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x108], ebx
mov byte [ebp - 0x101], 0
call fcn.00402168
push 6
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 3
call fcn.004130fe
and dword [ebp - 0x170], 0xfffffe00
and dword [ebp - 0x16c], 0
mov al, byte [ebp - 0x101]
mov byte [ebp - 4], 6
test al, al
jne 0x40f7a7
mov ecx, dword [esi]
lea eax, [ebp - 0x154]
push eax
call fcn.00414e6e
mov edx, dword [ebp - 0x134]
lea ecx, [ebp - 0x150]
push eax
mov byte [ebp - 4], 7
lea edx, [edx + 0x5c]
call fcn.0041044d
pop ecx
push eax
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 8
call fcn.004021b6
mov ecx, dword [ebp - 0x150]
lea ecx, [ecx - 0x10]
call fcn.004045c1
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x154]
add ecx, 0xfffffff0
call fcn.004045c1
push dword [ebp - 0x10c]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push dword [ebp - 0x11c]
push ecx
mov ecx, dword [ebp - 0x10c]
mov edi, esp
mov dword [ebp - 0x128], esp
lea ecx, [ecx - 0x10]
call fcn.004028c8
add eax, 0x10
mov dword [edi], eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 9
mov ecx, dword [esi]
push eax
call fcn.00414e29
add eax, 0x18
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 8
jb 0x40f502
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [ebp - 0x130], esp
push eax
call fcn.00402168
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0xb
mov ecx, dword [esi]
push eax
call fcn.00414e29
add eax, 0x48
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x14], 8
jb 0x40f532
mov eax, dword [eax]
push ecx
mov ecx, esp
push eax
call fcn.00402168
mov byte [ebp - 4], 0xe
call fcn.004057e2
mov edi, eax
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x128], edi
call fcn.0040e0fb
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 6
call fcn.0040e0fb
test edi, edi
jne 0x40f6cd
push ecx
mov ecx, dword [ebp - 0x10c]
mov edi, esp
mov dword [ebp - 0x114], esp
lea ecx, [ecx - 0x10]
call fcn.004028c8
add eax, 0x10
mov dword [edi], eax
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0xf
mov ecx, dword [esi]
push eax
call fcn.00414e29
add eax, 0x18
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x14], 8
jb 0x40f5ab
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [ebp - 0x130], esp
push eax
call fcn.00402168
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x11
mov ecx, dword [esi]
push eax
call fcn.00414e29
add eax, 0x48
mov byte [ebp - 4], 0x12
cmp dword [eax + 0x14], 8
jb 0x40f5db
mov eax, dword [eax]
push ecx
mov ecx, esp
push eax
call fcn.00402168
mov byte [ebp - 4], 0x14
call fcn.00417d5e
add esp, 0xc
lea ecx, [ebp - 0x88]
mov bl, al
call fcn.0040e0fb
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 6
call fcn.0040e0fb
test bl, bl
je 0x40f623
mov ebx, dword [ebp - 0x108]
mov al, 1
mov byte [ebp - 0x101], al
jmp 0x40f797
push dword [ebp - 0x10c]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x40f6bb
call dword [sym.imp.KERNEL32.dll_GetLastError]
call fcn.0040452b
push eax
lea ecx, [ebp - 0x13c]
call fcn.004024a9
lea eax, [ebp - 0x14c]
mov byte [ebp - 4], 0x15
mov ecx, dword [esi]
push eax
call fcn.00414e6e
mov byte [ebp - 4], 0x16
push dword [eax]
lea eax, [ebp - 0x13c]
push dword [ebp - 0x108]
push str._d__s
push eax
call fcn.00403208
mov byte [ebp - 4], 0x15
add esp, 0x10
mov ecx, dword [ebp - 0x14c]
add ecx, 0xfffffff0
call fcn.004045c1
mov ebx, dword [ebp - 0x13c]
push ecx
mov edi, esp
lea ecx, [ebx - 0x10]
call fcn.004028c8
add eax, 0x10
mov dword [edi], eax
mov ecx, dword [esi]
call fcn.00414e8f
lea ecx, [ebx - 0x10]
mov byte [ebp - 4], 6
call fcn.004045c1
mov ebx, dword [ebp - 0x108]
dec ebx
mov dword [ebp - 0x108], ebx
jmp 0x40f791
push dword [ebp - 0x10c]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x40f766
call dword [sym.imp.KERNEL32.dll_GetLastError]
call fcn.0040452b
push eax
lea ecx, [ebp - 0x140]
call fcn.004024a9
lea eax, [ebp - 0x158]
mov byte [ebp - 4], 0x17
mov ecx, dword [esi]
push eax
call fcn.00414e6e
mov byte [ebp - 4], 0x18
push dword [eax]
lea eax, [ebp - 0x140]
push ebx
push str._d__s
push eax
call fcn.00403208
mov byte [ebp - 4], 0x17
add esp, 0x10
mov ecx, dword [ebp - 0x158]
add ecx, 0xfffffff0
call fcn.004045c1
mov ebx, dword [ebp - 0x140]
push ecx
mov edi, esp
lea ecx, [ebx - 0x10]
call fcn.004028c8
add eax, 0x10
mov dword [edi], eax
mov ecx, dword [esi]
call fcn.00414e8f
lea ecx, [ebx - 0x10]
mov byte [ebp - 4], 6
call fcn.004045c1
mov ebx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x11c]
dec ebx
mov dword [ebp - 0x108], ebx
test eax, eax
jne 0x40f783
mov dword [ebp - 0x11c], 1
jmp 0x40f791
xor ecx, ecx
cmp eax, 1
cmove eax, ecx
mov dword [ebp - 0x11c], eax
mov al, byte [ebp - 0x101]
test ebx, ebx
jg 0x40f453
test al, al
je 0x40f94a
push 0x43f73c
lea ecx, [ebp - 0x12c]
call fcn.00402168
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x19
push eax
push ecx
call fcn.0040d4a3
pop ecx
mov ecx, eax
call fcn.0040d53e
mov edi, eax
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 0x1a
mov ecx, dword [esi]
push eax
call fcn.00414ebe
mov byte [ebp - 4], 0x1b
push dword [edi]
push dword [eax]
lea eax, [ebp - 0x12c]
push dword [ebp - 0x10c]
push str._s__s__s
push eax
call fcn.00405700
mov ecx, dword [ebp - 0x148]
add esp, 0x14
lea ecx, [ecx - 0x10]
call fcn.004045c1
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x15c]
lea ecx, [ecx - 0x10]
call fcn.004045c1
call fcn.0040452b
push eax
lea ecx, [ebp - 0x124]
call fcn.004024a9
call fcn.0040452b
push eax
lea ecx, [ebp - 0x120]
call fcn.004024a9
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 0x1c
mov ecx, dword [esi]
push eax
call fcn.00414edf
push eax
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x1d
call fcn.004021b6
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x144]
lea ecx, [ecx - 0x10]
call fcn.004045c1
lea eax, [ebp - 0x12c]
push eax
lea ecx, [ebp - 0x120]
call fcn.004021b6
mov edi, dword [ebp - 0x134]
lea ecx, [ebp - 0x124]
mov eax, dword [edi + 0x64]
cmp ecx, eax
jae 0x40f8e7
cmp dword [edi + 0x60], ecx
ja 0x40f8e7
mov ebx, ecx
sub ebx, dword [edi + 0x60]
sar ebx, 3
cmp eax, dword [edi + 0x68]
jne 0x40f8bc
push ecx
lea ecx, [edi + 0x60]
call fcn.004106cc
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x64]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x114], ecx
lea eax, [eax + ebx*8]
mov byte [ebp - 4], 0x1e
test ecx, ecx
je 0x40f8df
push eax
call fcn.0040365c
mov ebx, dword [ebp - 0x108]
jmp 0x40f918
cmp eax, dword [edi + 0x68]
jne 0x40f8f5
push ecx
lea ecx, [edi + 0x60]
call fcn.004106cc
mov ecx, dword [edi + 0x64]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x114], ecx
mov byte [ebp - 4], 0x1f
test ecx, ecx
je 0x40f918
lea eax, [ebp - 0x124]
push eax
call fcn.0040365c
mov ecx, dword [ebp - 0x120]
add dword [edi + 0x64], 8
lea ecx, [ecx - 0x10]
call fcn.004045c1
mov ecx, dword [ebp - 0x124]
lea ecx, [ecx - 0x10]
call fcn.004045c1
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x12c]
add ecx, 0xfffffff0
call fcn.004045c1
mov edi, dword [ebp - 0x128]
test edi, edi
je 0x40fa18
test ebx, ebx
jne 0x40fa18
push ecx
mov ecx, dword [esi]
mov eax, esp
mov dword [ebp - 0x110], esp
push eax
call fcn.00414edf
push ecx
mov byte [ebp - 4], 0x20
mov ecx, esp
mov dword [ebp - 0x114], esp
push str.AREA_DOWNLOAD
call fcn.00402168
push ecx
mov byte [ebp - 4], 0x21
mov ecx, esp
mov dword [ebp - 0x130], esp
push str.CRITICAL
call fcn.00402168
push ecx
mov byte [ebp - 4], 0x22
mov ecx, esp
mov dword [ebp - 0x108], esp
push str.INSTALLFLOW_DOWNLOADPRODUCTLIST
call fcn.00402168
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x23
push str.WIN32
call fcn.00402168
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.0040e166
mov ecx, dword [esi]
lea eax, [ebp - 0x118]
add esp, 0x14
push 0x8000
push eax
call fcn.00414edf
mov ecx, eax
mov byte [ebp - 4], 0x24
call fcn.0040227d
push ecx
mov ecx, esp
push eax
call fcn.00402168
mov edx, 0x481
mov ecx, edi
call fcn.00407a4a
pop ecx
pop ecx
mov ecx, dword [ebp - 0x118]
lea ecx, [ecx - 0x10]
call fcn.004045c1
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 4
call fcn.004132a0
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 3
call fcn.004132a0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x10c]
lea ecx, [eax - 0x10]
call fcn.004045c1
add esi, 8
cmp esi, dword [ebp - 0x164]
jne 0x40f407
mov ebx, dword [ebp - 0x134]
mov eax, dword [ebx + 0x64]
sub eax, dword [ebx + 0x60]
test eax, 0xfffffff8
jne 0x40fb30
lea ecx, [ebp - 0x118]
call fcn.00404ba9
mov ecx, dword [ebp - 0x118]
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
sete bl
add ecx, 0xfffffff0
call fcn.004045c1
mov edi, 0x3eb
test bl, bl
je 0x40fb10
push ecx
mov ecx, esp
mov dword [ebp - 0x138], esp
push str.df9e414d_88e5_4351_9a1d_0ff7c8544ae3
call fcn.00402168
push ecx
mov byte [ebp - 4], 0x25
mov ecx, esp
mov dword [ebp - 0x110], esp
push str.AREA_DOWNLOAD
call fcn.00402168
push ecx
mov byte [ebp - 4], 0x26
mov ecx, esp
mov dword [ebp - 0x114], esp
push str.CRITICAL
call fcn.00402168
push ecx
mov byte [ebp - 4], 0x27
mov ecx, esp
mov dword [ebp - 0x130], esp
push str.INSTALLFLOW_DOWNLOADPRODUCTLIST
call fcn.00402168
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x28
push str.CLARA
call fcn.00402168
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.0040e166
add esp, 0x14
push 0x8000
push ecx
mov ecx, esp
push 0x43f73c
call fcn.00402168
mov edx, 0x481
mov ecx, edi
call fcn.00407a4a
pop ecx
pop ecx
lea ecx, [ebp - 0x168]
call fcn.0041064e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x188]
call fcn.004132a0
mov eax, edi
call fcn.0041c572
ret