Function at 0x4196b0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x544e1b
mov eax, dword fs:[0]
push eax
sub esp, 0x544
mov eax, dword [0x595534]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x370], edi
test edi, edi
je 0x41a287
mov eax, dword [edi]
cmp eax, 0x3ea
jne 0x4197b6
movsd xmm0, qword [edi + 8]
lea eax, [ebp - 0x204]
mulsd xmm0, qword [0x59b150]
push 0x1f4
push 0
push eax
mulsd xmm0, qword [0x580340]
cvttsd2si esi, xmm0
call fcn.004fb6e0
add esp, 0xc
lea ecx, [ebp - 0x21c]
push 0x57f310
call fcn.00402fd0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x21c]
cmp dword [ebp - 0x208], 8
push esi
cmovae eax, dword [ebp - 0x21c]
push eax
lea eax, [ebp - 0x204]
push eax
call fcn.0041d0e0
mov ecx, dword [ebx + 0x950]
add esp, 0xc
test ecx, ecx
je 0x41977f
mov eax, dword [ecx]
lea edx, [ebp - 0x204]
push edx
call dword [eax + 0x38]
mov ecx, dword [ebx + 0x97c]
test ecx, ecx
je 0x41978f
push esi
call fcn.00453b10
mov eax, dword [ebp - 0x208]
cmp eax, 8
jb 0x41a27f
inc eax
lea ecx, [ebp - 0x21c]
push eax
push dword [ebp - 0x21c]
call fcn.004017e0
jmp 0x41a27f
cmp eax, 0x3e9
jne 0x41980d
cmp byte [ebx + 0xa70], 0
jne 0x4197f5
lea eax, [ebp - 0x24c]
mov byte [ebx + 0xa70], 1
push eax
mov ecx, 0x59b0a0
call fcn.00416310
push eax
lea ecx, [ebx + 0xa58]
call fcn.00402f50
lea ecx, [ebp - 0x24c]
call fcn.00401670
mov byte [ebx + 0xa2c], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0xa28], eax
jmp 0x41a27f
cmp eax, 0x3eb
jne 0x419824
lea ecx, [ebx + 0xa28]
call fcn.004227f0
jmp 0x41a27f
cmp eax, 0x3ec
jne 0x419a6d
push edi
call fcn.0041aa50
push 0xffffffffffffffff
push 0x57d188
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x1a4], 4
mov dword [ebp - 0x1a0], 0x93
call fcn.00429480
push 0xffffffffffffffff
push 0x57f31c
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 1
call fcn.00429480
push 0x57f31c
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 2
call fcn.00402fd0
mov esi, eax
push 0x57f31c
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 3
call fcn.00402fd0
mov edi, eax
push 1
sub esp, 8
mov byte [ebp - 4], 4
mov ecx, esi
call fcn.0041c020
push eax
push 0
lea eax, [ebp - 0x24c]
mov ecx, edi
push eax
call fcn.0041bfe0
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 8
jb 0x4198cd
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x94]
call fcn.00429480
lea ecx, [ebp - 0x24c]
call fcn.00401670
lea ecx, [ebp - 0x21c]
call fcn.00401670
lea ecx, [ebp - 0x234]
call fcn.00401670
push 0
push 0
mov ecx, ebx
mov dword [ebp - 4], 6
call fcn.005106f0
lea edx, [ebp - 0x1a4]
mov ecx, eax
call fcn.00429190
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a4]
mov esi, eax
call fcn.00416830
cmp esi, 1
jne 0x419951
cmp byte [ebx + 0xa48], 0
je 0x419a40
push esi
mov ecx, ebx
call fcn.0044e070
jmp 0x419a40
test esi, esi
jne 0x419a40
xor eax, eax
mov dword [ebp - 0x208], 7
mov dword [ebp - 0x20c], esi
mov word [ebp - 0x21c], ax
mov dword [ebp - 4], 7
cmp dword [ebx + 0xa34], eax
jne 0x4199c6
lea eax, [ebp - 0x234]
mov ecx, ebx
push eax
call fcn.0041a300
push eax
lea ecx, [ebp - 0x21c]
call fcn.00402f50
lea ecx, [ebp - 0x234]
call fcn.00401670
cmp dword [ebp - 0x208], 8
lea eax, [ebp - 0x21c]
push 1
cmovae eax, dword [ebp - 0x21c]
mov ecx, ebx
push 1
push eax
call fcn.00417750
cmp dword [ebx + 0xa34], 1
jne 0x419a2e
lea eax, [ebp - 0x234]
mov ecx, ebx
push eax
call fcn.0041a810
push eax
lea ecx, [ebp - 0x21c]
call fcn.00402f50
lea ecx, [ebp - 0x234]
call fcn.00401670
cmp dword [ebp - 0x208], 8
lea esi, [ebp - 0x21c]
mov ecx, dword [ebx + 0x960]
cmovae esi, dword [ebp - 0x21c]
call fcn.004527d0
mov ecx, dword [ebx + 0x95c]
movzx eax, al
push eax
call fcn.004527d0
movzx eax, al
mov ecx, ebx
push eax
push esi
call fcn.00417750
lea ecx, [ebp - 0x21c]
mov dword [ebp - 4], 0xffffffff
call fcn.00401670
mov ecx, dword [ebx + 0x918]
mov dword [ebx + 0xa40], 2
test ecx, ecx
je 0x41a279
mov eax, dword [ecx]
push 1
push dword [ebx + 0xa34]
call dword [eax + 0x238]
jmp 0x41a279
cmp eax, 0x7d1
jne 0x419a7e
call fcn.0041b010
jmp 0x41a27f
cmp eax, 0x7d2
jne 0x419bd3
movsd xmm0, qword [edi + 8]
lea ecx, [ebp - 0x234]
movaps xmm1, xmm0
movsd qword [ebp - 0x374], xmm0
call fcn.004162e0
mov dword [ebp - 4], 8
movsd xmm0, qword [ebx + 0xa38]
addsd xmm0, qword [0x580318]
movsd xmm1, qword [0x580328]
comisd xmm0, xmm1
movsd qword [ebx + 0xa38], xmm0
jbe 0x419ad9
movsd qword [ebx + 0xa38], xmm1
movsd xmm2, qword [ebp - 0x374]
ucomisd xmm2, qword [0x580300]
movsd xmm0, qword [ebx + 0xa38]
lahf
test ah, 0x44
jp 0x419b02
comisd xmm0, xmm2
jbe 0x419b13
movaps xmm2, xmm0
jmp 0x419b1b
comisd xmm0, xmm2
jbe 0x419b0d
movaps xmm2, xmm0
jmp 0x419b1b
comisd xmm2, xmm0
jbe 0x419b1b
movsd qword [ebx + 0xa38], xmm2
movsd xmm1, qword [0x580330]
lea eax, [ebp - 0x204]
subsd xmm1, qword [0x59b150]
push 0x1f4
push 0
push eax
mulsd xmm1, xmm2
addsd xmm1, qword [0x59b150]
mulsd xmm1, qword [0x580340]
cvttsd2si esi, xmm1
call fcn.004fb6e0
add esp, 0xc
lea ecx, [ebp - 0x21c]
push 0x57f310
call fcn.00402fd0
mov byte [ebp - 4], 9
lea eax, [ebp - 0x21c]
cmp dword [ebp - 0x208], 8
push esi
cmovae eax, dword [ebp - 0x21c]
push eax
lea eax, [ebp - 0x204]
push eax
call fcn.0041d0e0
mov ecx, dword [ebx + 0x950]
add esp, 0xc
test ecx, ecx
je 0x419ba8
mov eax, dword [ecx]
lea edx, [ebp - 0x204]
push edx
call dword [eax + 0x38]
mov ecx, dword [ebx + 0x97c]
test ecx, ecx
je 0x419bb8
push esi
call fcn.00453b10
lea ecx, [ebp - 0x21c]
call fcn.00401670
lea ecx, [ebp - 0x234]
call fcn.004047c0
jmp 0x41a27f
cmp eax, 0x7d3
jne 0x419d23
lea ecx, [ebx + 0xa28]
call fcn.004227f0
call fcn.0042f380
mov ecx, eax
call fcn.00429da0
push eax
lea ecx, [ebp - 0x24c]
call fcn.00402fd0
push str.resmainWndinstallPrg3.png
lea ecx, [ebp - 0x21c]
mov dword [ebp - 4], 0xa
call fcn.00402fd0
mov byte [ebp - 4], 0xb
mov ecx, dword [ebx + 0x97c]
test ecx, ecx
je 0x419c2d
push 0x64
call fcn.00453b10
lea eax, [ebp - 0x21c]
push eax
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x234]
call fcn.0041d000
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x419c50
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea ecx, [ebp - 0x234]
mov esi, eax
call fcn.00401670
test esi, esi
je 0x419c9b
mov ecx, dword [ebx + 0x97c]
test ecx, ecx
je 0x419c8c
cmp dword [ebp - 0x208], 8
lea eax, [ebp - 0x21c]
cmovae eax, dword [ebp - 0x21c]
push eax
call fcn.004388c0
mov ecx, dword [ebx + 0x97c]
test ecx, ecx
je 0x419c9b
call fcn.00436bb0
push 0x1625
push dword [ebx + 0x958]
lea ecx, [ebx + 0x30]
call fcn.0042f7d0
push 0x112c
push dword [ebx + 0x958]
lea ecx, [ebx + 0x30]
call fcn.0042f7d0
mov ecx, dword [ebx + 0x96c]
test ecx, ecx
je 0x419ce5
mov eax, dword [ecx]
push 0x57ebf0
call dword [eax + 0x38]
mov ecx, dword [ebx + 0x96c]
push 1
mov eax, dword [ecx]
call dword [eax + 0x120]
mov ecx, dword [ebx + 0x918]
push 1
push 3
mov eax, dword [ecx]
call dword [eax + 0x238]
mov ecx, ebx
mov dword [ebx + 0xa40], 3
call fcn.0041ad20
lea ecx, [ebp - 0x21c]
call fcn.00401670
lea ecx, [ebp - 0x24c]
call fcn.00401670
jmp 0x41a27f
cmp eax, 0x7d4
jne 0x419f16
push ecx
push edi
call fcn.0041acc0
push 0x84
lea eax, [ebp - 0x36c]
push 0
push eax
call fcn.004fb6e0
add esp, 0xc
lea eax, [ebp - 0x36c]
push 0
push str.Installation_failed
push eax
call fcn.00416230
mov ecx, eax
call fcn.0044d9f0
push 0x84
lea eax, [ebp - 0x2e8]
mov dword [ebp - 4], 0xc
push 0
push eax
call fcn.004fb6e0
add esp, 0xc
lea eax, [ebp - 0x2e8]
push 0
push str.Gentle_Reminder
push eax
call fcn.00416230
mov ecx, eax
call fcn.0044d9f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x19c]
push 0x57d188
mov dword [ebp - 0x1a4], 4
mov dword [ebp - 0x1a0], 0x93
call fcn.00429480
push 0xffffffffffffffff
push 0x57f0b8
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xe
call fcn.00429480
push 0x57f0b8
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0xf
call fcn.00402fd0
mov esi, eax
push 0x57f0b8
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x10
call fcn.00402fd0
mov edi, eax
push 1
sub esp, 8
mov byte [ebp - 4], 0x11
mov ecx, esi
call fcn.0041c020
push eax
push 0
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.0041bfe0
mov byte [ebp - 4], 0x12
cmp dword [eax + 0x14], 8
jb 0x419e35
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x94]
call fcn.00429480
lea ecx, [ebp - 0x234]
call fcn.00401670
lea ecx, [ebp - 0x24c]
call fcn.00401670
lea ecx, [ebp - 0x264]
call fcn.00401670
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 4], 0x13
call fcn.00429da0
push eax
lea ecx, [ebp - 0x36c]
call fcn.00429da0
push eax
mov ecx, ebx
call fcn.005106f0
lea edx, [ebp - 0x1a4]
mov ecx, eax
call fcn.00429190
add esp, 8
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1a4]
call fcn.00416830
mov ecx, dword [ebx + 0x97c]
mov dword [ebx + 0xa40], 2
call fcn.0042af90
cmp eax, 0x46
jl 0x419ee5
mov ecx, dword [ebx + 0x950]
test ecx, ecx
je 0x419ed4
mov eax, dword [ecx]
push 0x57f3a0
call dword [eax + 0x38]
mov ecx, dword [ebx + 0x97c]
test ecx, ecx
je 0x419ee5
push 0
call fcn.00453b10
mov ecx, dword [ebx + 0x918]
test ecx, ecx
je 0x419efb
mov eax, dword [ecx]
push 1
push 0
call dword [eax + 0x238]
lea ecx, [ebp - 0x2e8]
call fcn.004295e0
lea ecx, [ebp - 0x36c]
call fcn.004295e0
jmp 0x41a279
cmp eax, 0xbb8
jne 0x419f25
lea ecx, [ebx + 0x9b8]
jmp 0x419f50
cmp eax, 0xbb9
jne 0x419f34
lea ecx, [ebx + 0x988]
jmp 0x419f50
cmp eax, 0xbbb
jne 0x419f43
lea ecx, [ebx + 0x9a0]
jmp 0x419f50
cmp eax, 0xbbc
jne 0x419f6a
lea ecx, [ebx + 0xa00]
lea eax, [edi + 0x10]
cmp ecx, eax
je 0x41a27f
push 0xffffffffffffffff
push 0
push eax
call fcn.00403220
jmp 0x41a27f
cmp eax, 0xbbd
jne 0x419f81
cvttsd2si eax, qword [edi + 8]
mov dword [ebx + 0xa18], eax
jmp 0x41a27f
cmp eax, 0xbbf
jne 0x419f9d
movsd xmm0, qword [edi + 8]
call fcn.005006a1
mov dword [ebx + 0xa1c], eax
jmp 0x41a27f
cmp eax, 0xbc0
jne 0x419fb9
movsd xmm0, qword [edi + 8]
call fcn.005006a1
mov dword [ebx + 0xa20], eax
jmp 0x41a27f
cmp eax, 0xbc1
jne 0x41a0d0
push 0xffffffffffffffff
push 0x57d188
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x1a4], 4
mov dword [ebp - 0x1a0], 0x93
call fcn.00429480
push 0xffffffffffffffff
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0x1b
call fcn.00429480
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0x1c
call fcn.00402fd0
mov esi, eax
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x1d
call fcn.00402fd0
mov edi, eax
push 1
sub esp, 8
mov byte [ebp - 4], 0x1e
mov ecx, esi
call fcn.0041c020
push eax
push 0
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.0041bfe0
mov byte [ebp - 4], 0x1f
cmp dword [eax + 0x14], 8
jb 0x41a05c
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x94]
call fcn.00429480
lea ecx, [ebp - 0x234]
call fcn.00401670
lea ecx, [ebp - 0x24c]
call fcn.00401670
lea ecx, [ebp - 0x21c]
call fcn.00401670
mov edi, dword [ebp - 0x370]
lea eax, [edi + 0x10]
mov dword [ebp - 4], 0x20
cmp dword [eax + 0x14], 8
jb 0x41a0a3
mov eax, dword [eax]
push 0x57f3a8
push eax
mov ecx, ebx
call fcn.005106f0
lea edx, [ebp - 0x1a4]
mov ecx, eax
call fcn.00429190
add esp, 8
lea ecx, [ebp - 0x1a4]
call fcn.00416830
jmp 0x41a27f
cmp eax, 0x3ee
jne 0x41a0e3
push ecx
push edi
call fcn.0041acc0
jmp 0x41a27f
cmp eax, 0x1389
je 0x41a27f
cmp eax, 0x138a
je 0x41a27f
cmp eax, 0x138b
je 0x41a27f
cmp eax, 0x138c
je 0x41a116
cmp eax, 0x138d
jne 0x41a27f
push 0x57ef08
lea ecx, [ebp - 0x264]
call fcn.00402fd0
push 0xffffffffffffffff
mov dword [ebp - 4], 0x2f
lea ecx, [ebp - 0x548]
push 0x57d188
mov dword [ebp - 0x550], 4
mov dword [ebp - 0x54c], 0x93
call fcn.00429480
push 0xffffffffffffffff
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x4c4]
mov byte [ebp - 4], 0x30
call fcn.00429480
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x3bc]
mov byte [ebp - 4], 0x31
call fcn.00402fd0
mov esi, eax
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x3a4]
mov byte [ebp - 4], 0x32
call fcn.00402fd0
mov edi, eax
push 1
sub esp, 8
mov byte [ebp - 4], 0x33
mov ecx, esi
call fcn.0041c020
push eax
push 0
lea eax, [ebp - 0x38c]
mov ecx, edi
push eax
call fcn.0041bfe0
mov byte [ebp - 4], 0x34
cmp dword [eax + 0x14], 8
jb 0x41a1c2
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x440]
call fcn.00429480
lea ecx, [ebp - 0x38c]
call fcn.00401670
lea ecx, [ebp - 0x3a4]
call fcn.00401670
lea ecx, [ebp - 0x3bc]
call fcn.00401670
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x264]
cmp dword [ebp - 0x250], 8
mov ecx, ebx
push 0x57ef48
cmovae eax, dword [ebp - 0x264]
push eax
call fcn.005106f0
lea edx, [ebp - 0x550]
mov ecx, eax
call fcn.00429190
add esp, 8
lea ecx, [ebp - 0x550]
call fcn.00416830
lea ecx, [ebp - 0x264]
mov dword [ebp - 4], 0xffffffff
call fcn.00401670
mov ecx, dword [ebx + 0x918]
mov dword [ebx + 0xa40], 2
test ecx, ecx
je 0x41a267
mov eax, dword [ecx]
push 1
push dword [ebx + 0xa34]
call dword [eax + 0x238]
cmp byte [ebx + 0xa48], 0
je 0x41a279
push 1
mov ecx, ebx
call fcn.0044e070
mov edi, dword [ebp - 0x370]
push ecx
mov ecx, edi
call fcn.0041a2b0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ff9ee
mov esp, ebp
pop ebp
ret 0x10