Function at 0x404a16
Capabilities:
Check if file exists

Disassembly:
push 0x120
mov eax, 0x429b3d
call fcn.0041132d
mov dword [ebp - 0x128], ecx
call fcn.00404965
xor ebx, ebx
test eax, eax
je 0x404a3f
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
jmp 0x404a41
mov al, bl
test al, al
jne 0x405056
xor eax, eax
mov dword [ebp - 0xd8], ebx
push str.ConhZipMini.exe
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0xd4], 7
mov word [ebp - 0xe8], ax
call fcn.004025b1
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0xd0]
xor eax, eax
mov dword [ebp - 0xc0], ebx
push str.ConhZipMni.exe
mov dword [ebp - 0xbc], 7
mov word [ebp - 0xd0], ax
call fcn.004025b1
mov byte [ebp - 4], 1
cmp dword [ebp - 0xd8], 0
je 0x405040
cmp dword [ebp - 0xc0], 0
je 0x405040
call fcn.0040505e
mov ecx, eax
call fcn.00403219
test al, al
jne 0x405040
call fcn.0040505e
mov ecx, eax
call fcn.0040325b
test al, al
jne 0x405040
push ebx
call fcn.004190a3
pop ecx
push 1
push str.71d38
push ecx
mov edi, eax
call fcn.0040505e
mov ecx, eax
call fcn.00402f94
test eax, eax
jne 0x404b9d
call fcn.0040505e
push ebx
push str.FirstInstallTime
push ecx
mov ecx, eax
call fcn.00402f94
push ebx
mov esi, eax
call fcn.004190a3
sub eax, esi
cdq
xor eax, edx
sub eax, edx
pop ecx
cmp eax, 0x93a80
jge 0x404b9d
push ebx
push str.1f163
push ecx
call fcn.0040505e
mov ecx, eax
call fcn.00402f94
mov esi, eax
cmp esi, 0x64
jg 0x404b9d
push ebx
mov ebx, str.80550
push ebx
push ecx
call fcn.0040505e
mov ecx, eax
call fcn.00402f94
mov ecx, edi
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x708
jl 0x404b89
lea eax, [esi + 1]
push eax
push str.1f163
push ecx
call fcn.0040505e
mov ecx, eax
call fcn.004030a7
push edi
push ebx
push ecx
call fcn.0040505e
mov ecx, eax
call fcn.004030a7
jmp 0x405040
push 0xffffffffffffffff
mov esi, str.f7e43
push esi
push ecx
call fcn.0040505e
mov ecx, eax
call fcn.00402f94
mov ecx, edi
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x708
jle 0x405040
push edi
push esi
push ecx
call fcn.0040505e
mov ecx, eax
call fcn.004030a7
push 7
pop ecx
xor eax, eax
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ecx
mov word [ebp - 0xb8], ax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ecx
mov word [ebp - 0x40], ax
push eax
push str.51346
push ecx
mov byte [ebp - 4], 3
call fcn.0040505e
mov ecx, eax
call fcn.00402f94
mov dword [ebp - 0x12c], eax
lea ecx, [ebp - 0xb8]
test al, 1
jne 0x404c33
push str.ConhZipMini.exe
mov bl, 1
call fcn.004025b1
push 0x436b74
jmp 0x404c42
push str.ConhZipMni.exe
call fcn.004025b1
push 0x436b7c
lea ecx, [ebp - 0x40]
call fcn.004025b1
call fcn.0040505e
mov esi, eax
mov ecx, esi
call fcn.004028b2
add esi, 0x70
push 8
pop edi
cmp dword [esi + 0x14], edi
jb 0x404c65
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x118]
call fcn.004025d8
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x118]
call fcn.0040226f
mov ecx, dword [ebp - 0x12c]
xor eax, eax
inc ecx
cmp ecx, 0x3e8
cmovl eax, ecx
push eax
push str.51346
push ecx
call fcn.0040505e
mov ecx, eax
call fcn.004030a7
cmp dword [ebp - 0xa8], 0
je 0x405022
and dword [ebp - 0x78], 0
lea eax, [ebp - 0xb8]
and dword [ebp - 0x74], 0
lea ecx, [ebp - 0x88]
push eax
call fcn.0040264f
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x88]
cmp dword [ebp - 0x74], edi
cmovae ecx, dword [ebp - 0x88]
call fcn.00406875
test eax, eax
jne 0x405017
and dword [ebp - 0x18], eax
lea ecx, [ebp - 0x28]
and dword [ebp - 0x14], eax
lea eax, [ebp - 0x118]
push eax
call fcn.0040264f
mov byte [ebp - 4], 6
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x404d6e
mov eax, dword [ebp - 0x128]
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x28]
cmp dword [eax], 0
je 0x404d4d
cmp dword [ebp - 0x2c], edi
cmovae edx, dword [ebp - 0x40]
cmp dword [ebp - 0x14], edi
cmovae ecx, dword [ebp - 0x28]
push ecx
call fcn.004062dc
pop ecx
movzx eax, al
jmp 0x404d66
cmp dword [ebp - 0x2c], edi
cmovae edx, dword [ebp - 0x40]
cmp dword [ebp - 0x14], edi
cmovae ecx, dword [ebp - 0x28]
sub esp, 0xc
call fcn.004061c8
add esp, 0xc
test eax, eax
jne 0x40500f
and dword [ebp - 0x90], 0
lea ecx, [ebp - 0xa0]
mov esi, str.247009675834204142341503034455640346283168254830404447590734282946252345524623410354282302655014
mov dword [ebp - 0x8c], 0xf
push esi
mov byte [ebp - 0xa0], 0
call fcn.00401e87
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xa0]
test bl, bl
je 0x404da8
push esi
jmp 0x404dad
push str.7168465758342441423430030344556407101841404430142361644307103003034455640710184140443014
call fcn.00401e87
cmp dword [ebp - 0x8c], 0x10
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x100]
cmovae edx, dword [ebp - 0xa0]
call fcn.004055ed
xor ebx, ebx
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x11c], ebx
push 0xf
pop esi
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x70]
push 0x436c4c
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], esi
mov byte [ebp - 0x70], bl
call fcn.00401e87
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x100]
cmp dword [ebp - 0xec], 0x10
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x48], ebx
cmovae eax, dword [ebp - 0x100]
push eax
mov dword [ebp - 0x44], esi
mov byte [ebp - 0x58], bl
call fcn.00401e87
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0xb
push eax
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x58]
call fcn.004070fe
pop ecx
lea ecx, [ebp - 0x58]
call fcn.004021d7
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 9
call fcn.004021d7
mov ebx, dword [ebp - 0x124]
mov esi, ebx
jmp 0x404eca
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x404e6b
mov eax, dword [esi]
and dword [ebp - 0x60], 0
lea ecx, [ebp - 0x70]
push eax
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
call fcn.00401e87
lea edx, [ebp - 0x70]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x58]
call fcn.00406f60
push eax
lea ecx, [ebp - 0x88]
call fcn.00402238
lea ecx, [ebp - 0x58]
call fcn.004025fd
cmp dword [ebp - 0x74], edi
lea ecx, [ebp - 0x88]
cmovae ecx, dword [ebp - 0x88]
call fcn.00406875
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 9
call fcn.004021d7
add esi, 0x18
cmp esi, dword [ebp - 0x120]
jne 0x404e61
mov esi, ebx
cmp esi, dword [ebp - 0x120]
je 0x404fc6
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x404eea
mov eax, dword [esi]
and dword [ebp - 0x48], 0
lea ecx, [ebp - 0x58]
push eax
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00401e87
lea edx, [ebp - 0x58]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x70]
call fcn.00406f60
push eax
lea ecx, [ebp - 0x88]
call fcn.00402238
lea ecx, [ebp - 0x70]
call fcn.004025fd
call fcn.0040505e
mov edi, eax
mov ecx, edi
call fcn.004028b2
add edi, 0x70
cmp dword [edi + 0x14], 8
jb 0x404f3e
mov edi, dword [edi]
push edi
lea ecx, [ebp - 0x28]
call fcn.004025b1
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040226f
mov eax, dword [ebp - 0x128]
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x28]
cmp dword [eax], 0
je 0x404f83
cmp dword [ebp - 0x2c], 8
cmovae edx, dword [ebp - 0x40]
cmp dword [ebp - 0x14], 8
cmovae ecx, dword [ebp - 0x28]
push ecx
call fcn.004062dc
pop ecx
movzx eax, al
jmp 0x404f9e
cmp dword [ebp - 0x2c], 8
cmovae edx, dword [ebp - 0x40]
cmp dword [ebp - 0x14], 8
cmovae ecx, dword [ebp - 0x28]
sub esp, 0xc
call fcn.004061c8
add esp, 0xc
lea ecx, [ebp - 0x58]
test eax, eax
jne 0x404fc1
mov byte [ebp - 4], 9
call fcn.004021d7
push 0x18
pop edi
add esi, edi
cmp esi, dword [ebp - 0x120]
jne 0x404ee0
jmp 0x404fc9
call fcn.004021d7
push 0x18
pop edi
test ebx, ebx
je 0x404ff9
mov esi, ebx
jmp 0x404fda
mov ecx, esi
call fcn.004021d7
add esi, edi
cmp esi, dword [ebp - 0x120]
jne 0x404fd1
mov eax, dword [ebp - 0x11c]
sub eax, ebx
cdq
idiv edi
imul eax, eax, 0x18
push eax
push ebx
call fcn.004021ab
pop ecx
pop ecx
lea ecx, [ebp - 0x100]
call fcn.004021d7
lea ecx, [ebp - 0xa0]
call fcn.004021d7
lea ecx, [ebp - 0x28]
call fcn.004025fd
lea ecx, [ebp - 0x88]
call fcn.004025fd
lea ecx, [ebp - 0x118]
call fcn.004025fd
lea ecx, [ebp - 0x40]
call fcn.004025fd
lea ecx, [ebp - 0xb8]
call fcn.004025fd
lea ecx, [ebp - 0xd0]
call fcn.004025fd
lea ecx, [ebp - 0xe8]
call fcn.004025fd
call fcn.004112d7
ret 4