Function at 0x44601f
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0xc0
mov eax, 0x51799b
call fcn.004d8af2
mov dword [ebp - 0xa0], ecx
xor eax, eax
mov dword [ebp - 4], eax
push 0x18
mov dword [ebp - 0x40], str.InstallLocation
mov byte [ebp - 0x3c], al
mov dword [ebp - 0x38], str.Inno_Setup:_App_Path
mov byte [ebp - 0x34], al
mov dword [ebp - 0x30], str.DisplayIcon
mov byte [ebp - 0x2c], 1
mov dword [ebp - 0x28], str.UninstallString
mov byte [ebp - 0x24], 1
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
call fcn.004d8429
pop ecx
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x68], eax
lea edi, [ebp - 0x40]
mov dword [ebp - 0x4c], edi
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x5c], eax
call fcn.0040687a
push 0x53d64c
lea edx, [ebp + 8]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c]
lea esi, [ebp - 0x44]
call fcn.00409442
mov byte [ebp - 4], 3
mov ecx, esp
push dword [edi]
mov edx, eax
call fcn.00409442
pop ecx
mov edx, esi
lea ecx, [ebp - 0x84]
call fcn.004331d0
pop ecx
mov ecx, dword [ebp - 0x7c]
mov ebx, dword [eax]
shr ebx, 0x1f
lea ecx, [ecx - 0x10]
call fcn.00407189
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x6c]
lea ecx, [ecx - 0x10]
call fcn.00407189
test bl, bl
jne 0x44630d
mov ecx, dword [ebp - 0x44]
xor ebx, ebx
add ecx, 0xfffffff0
cmp dword [ecx + 4], ebx
jne 0x446108
mov byte [ebp - 4], 1
jmp 0x446317
push ecx
mov ecx, esp
mov esi, 0x5447e8
push esi
call fcn.00406fea
mov dl, bl
lea ecx, [ebp - 0x44]
call fcn.0042af8e
pop ecx
test al, al
je 0x446161
push ebx
push esi
lea ecx, [ebp - 0x44]
call fcn.004045bb
cmp eax, 0xffffffff
je 0x44630d
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040452e
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 4
call fcn.00405d6e
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x58]
lea ecx, [ecx - 0x10]
call fcn.00407189
push ebx
push 0x546f08
lea ecx, [ebp - 0x44]
call fcn.004045bb
cmp eax, 0xffffffff
je 0x44619d
push eax
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040452e
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 5
call fcn.00405d6e
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x54]
add ecx, 0xfffffff0
call fcn.00407189
push ecx
mov esi, esp
mov dword [ebp - 0x48], esi
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x70]
mov dword [esi], eax
call fcn.004297db
pop ecx
push ebx
push str..exe_
mov ecx, eax
call fcn.004045bb
mov ecx, dword [ebp - 0x70]
mov esi, eax
add ecx, 0xfffffff0
call fcn.00407189
cmp esi, 0xffffffff
je 0x4461e8
push str._0123456789
lea ecx, [ebp - 0x44]
call fcn.004d5e8d
push ecx
mov ecx, esp
push 0x53d64c
call fcn.00406fea
mov dl, bl
lea ecx, [ebp - 0x44]
call fcn.0042b044
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
pop ecx
push dword [ebp - 0x44]
call ebx
cmp eax, 0xffffffff
jne 0x44621a
call fcn.00406710
jmp 0x44630d
test al, 0x10
jne 0x446259
push ecx
mov esi, esp
mov dword [ebp - 0x48], esi
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x60]
mov dword [esi], eax
call fcn.004295ad
pop ecx
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 6
call fcn.00405d6e
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x60]
lea ecx, [ecx - 0x10]
call fcn.00407189
push dword [ebp - 0x44]
call ebx
test al, 0x10
je 0x44630d
mov eax, dword [ebp - 0x68]
mov edi, eax
and dword [ebp - 0x50], 0
mov ebx, dword [eax + 4]
cmp byte [ebx + 0xd], 0
jne 0x4462a8
mov esi, ebx
lea ecx, [esi + 0x10]
mov ebx, esi
lea edx, [ebp - 0x44]
call fcn.004090c0
test al, al
jns 0x446294
and dword [ebp - 0x50], 0
mov esi, dword [esi + 8]
jmp 0x44629f
mov edi, esi
mov dword [ebp - 0x50], 1
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
je 0x44627a
mov eax, dword [ebp - 0x68]
cmp byte [edi + 0xd], 0
jne 0x4462c0
lea edx, [edi + 0x10]
lea ecx, [ebp - 0x44]
call fcn.004090c0
test al, al
jns 0x446304
mov eax, dword [ebp - 0x68]
cmp dword [ebp - 0x64], 0xaaaaaaa
je 0x4467b9
lea ecx, [ebp - 0x44]
push ecx
mov dword [ebp - 0x48], ecx
lea ecx, [ebp - 0x48]
push ecx
push ecx
push eax
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x78]
call fcn.004be9f7
lea ecx, [ebp - 0x78]
mov esi, dword [eax + 4]
and dword [eax + 4], 0
call fcn.004b7ad8
push esi
push dword [ebp - 0x50]
lea ecx, [ebp - 0x68]
push ebx
call fcn.00409917
mov edi, eax
mov eax, dword [ebp - 0x5c]
mov byte [edi + 0x14], al
mov edi, dword [ebp - 0x4c]
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x44]
add ecx, 0xfffffff0
call fcn.00407189
add edi, 8
lea eax, [ebp - 0x20]
mov dword [ebp - 0x4c], edi
cmp edi, eax
jne 0x446088
lea ecx, [ebp - 0x9c]
call fcn.004a927e
mov byte [ebp - 4], 7
mov esi, dword [ebp - 0x68]
mov esi, dword [esi]
jmp 0x4464f9
mov ecx, dword [esi + 0x10]
sub ecx, 0x10
call fcn.004070e7
mov bl, byte [esi + 0x14]
mov edi, eax
mov dword [ebp - 0x58], edi
mov byte [ebp - 0x74], bl
lea eax, [edi + 0x10]
mov dword [ebp - 0x78], eax
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.004070e7
add eax, 0x10
mov dword [ebp - 0x44], eax
mov ecx, edi
mov byte [ebp - 4], 9
call fcn.004070e7
lea edi, [eax + 0x10]
mov dword [ebp - 0x54], edi
lea edx, [ebp - 0x44]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x84]
call fcn.0043c926
mov ecx, dword [ebp - 0x7c]
lea ecx, [ecx - 0x10]
call fcn.00407189
test bl, bl
je 0x446488
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x20], str._ProgramFiles_
mov dword [ebp - 0x1c], str._ProgramW6432_
mov dword [ebp - 0x18], str._LOCALAPPDATA_
mov dword [ebp - 0x14], str._APPDATA_
call fcn.0040687a
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x4c], eax
mov eax, dword [eax]
lea ecx, [ebp - 0x48]
push eax
mov dword [ebp - 0x60], eax
call fcn.00406fea
push 0x53d64c
mov edx, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x5c]
call fcn.00409442
pop ecx
mov ecx, dword [ebp - 0x44]
mov edx, dword [eax]
call fcn.0042981b
mov ecx, dword [ebp - 0x5c]
mov bl, al
add ecx, 0xfffffff0
call fcn.00407189
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x48]
add ecx, 0xfffffff0
call fcn.00407189
test bl, bl
jne 0x446435
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x10]
add eax, 4
mov dword [ebp - 0x4c], eax
cmp eax, ecx
jne 0x4463d7
jmp 0x446451
mov ebx, dword [ebp - 0x60]
test ebx, ebx
jne 0x446440
xor eax, eax
jmp 0x446447
push ebx
call fcn.004ddaa2
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x50]
call fcn.00406efb
mov ebx, dword [ebp - 0x50]
mov eax, dword [ebx - 0xc]
test eax, eax
je 0x44647e
mov ecx, dword [ebp - 0x44]
inc eax
cmp dword [ecx - 0xc], eax
jle 0x44647e
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x9c]
call fcn.00409159
mov ecx, eax
call fcn.00405d6e
lea ecx, [ebx - 0x10]
call fcn.00407189
jmp 0x4464a2
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x9c]
call fcn.00409159
mov ecx, eax
call fcn.00405d6e
lea ecx, [edi - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x58]
call fcn.00407189
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x4464e3
mov eax, dword [esi + 4]
jmp 0x4464d9
cmp esi, dword [eax + 8]
jne 0x4464df
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x4464cf
mov esi, eax
jmp 0x4464f9
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x4464f9
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x4464ed
cmp byte [esi + 0xd], 0
je 0x446346
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
mov dword [ebp - 0x6c], eax
jmp 0x44678b
add eax, 0x10
lea ecx, [ebp - 0x94]
push eax
call fcn.00431b2e
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xd
call fcn.004acf13
push 0
push ecx
mov byte [ebp - 4], 0xe
mov ecx, esp
mov dword [ebp - 0x70], esp
push 0x546f94
call fcn.00406fea
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0xf
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x4c], esi
mov ecx, dword [ebp - 0x90]
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0xc4]
mov dword [esi], eax
xor edx, edx
mov byte [ebp - 4], 0xe
call fcn.0042aaf3
add esp, 0x10
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
jmp 0x446751
mov ecx, dword [eax + 0x10]
sub ecx, 0x10
call fcn.004070e7
mov dword [ebp - 0x70], eax
add eax, 0x10
mov dword [ebp - 0x4c], eax
mov esi, 0x53d64c
mov byte [ebp - 4], 0x11
push esi
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0x5c]
call fcn.00409442
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x12
push ecx
mov edx, eax
lea ecx, [ebp - 0x50]
call fcn.0040a037
pop ecx
pop ecx
mov ecx, dword [ebp - 0x5c]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x58]
call fcn.0040687a
lea ecx, [ebp - 0x54]
call fcn.0040687a
and dword [ebp - 0xac], 0
and dword [ebp - 0xa8], 0
and dword [ebp - 0xa4], 0
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x50]
lea ecx, [ebp - 0x84]
push eax
call fcn.00407faa
pop ecx
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x84], 0
jl 0x44665e
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x58]
push eax
lea edx, [ebp - 0xac]
lea ecx, [ebp - 0xb8]
call fcn.0040875a
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x19
call fcn.004032ed
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0xb0]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ebx, dword [ebp - 0x58]
lea ecx, [ebx - 0x10]
call fcn.004070e7
add eax, 0x10
mov dword [ebp - 0x8c], eax
mov byte [ebp - 4], 0x1a
mov edi, dword [ebp - 0x54]
lea ecx, [edi - 0x10]
call fcn.004070e7
add eax, 0x10
mov dword [ebp - 0x88], eax
push esi
lea edx, [ebp - 0x94]
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x60]
call fcn.00409442
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x1c
push ecx
mov edx, eax
lea ecx, [ebp - 0x48]
call fcn.0040a037
pop ecx
pop ecx
mov ecx, dword [ebp - 0xa0]
push eax
lea eax, [ebp - 0xcc]
mov byte [ebp - 4], 0x1d
push eax
call fcn.004b6127
mov esi, dword [eax]
lea eax, [ebp - 0x8c]
push eax
lea ecx, [esi + 0x14]
call fcn.00405d6e
lea eax, [ebp - 0x88]
push eax
lea ecx, [esi + 0x18]
call fcn.00405d6e
mov ecx, dword [ebp - 0x48]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x60]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x8c]
call fcn.00407c33
mov ecx, dword [ebp - 0x7c]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0xac]
call fcn.00409384
lea ecx, [edi - 0x10]
call fcn.00407189
lea ecx, [ebx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x50]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x70]
call fcn.00407189
lea ecx, [ebp - 0x44]
call fcn.004094c2
mov eax, dword [ebp - 0x44]
cmp byte [eax + 0xd], 0
je 0x44658a
mov ecx, dword [ebp - 0xbc]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea ecx, [ebp - 0x78]
call fcn.004add79
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 7
call fcn.00407c33
lea ecx, [ebp - 0x6c]
call fcn.004094c2
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0xd], 0
je 0x446513
lea ecx, [ebp - 0x9c]
call fcn.004ad684
lea ecx, [ebp - 0x68]
call fcn.004a92ac
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
call fcn.00407189
call fcn.004d8aa1
ret
call fcn.00409e63
int3