Function at 0x4211c0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54ea88
mov eax, dword fs:[0]
push eax
sub esp, 0x45c
mov eax, dword [0x5a7464]
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 esi, dword [ebp + 0x10]
mov dword [ebp - 0x280], esi
test esi, esi
je 0x421f70
mov eax, dword [esi]
cmp eax, 0x3ea
jne 0x42130b
movsd xmm0, qword [esi + 8]
lea eax, [ebp - 0x204]
mulsd xmm0, qword [0x5ada50]
push 0x1f4
push 0
push eax
mulsd xmm0, qword [0x590398]
cvttsd2si esi, xmm0
call fcn.004b3660
mov ecx, dword [ebx + 0x6c0]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0xcc]
mov ecx, eax
call fcn.00452ea0
push eax
lea ecx, [ebp - 0x21c]
call fcn.00406500
mov dword [ebp - 4], 0
cmp dword [ebp - 0x20c], 0
jne 0x421299
lea ecx, [ebx + 0x798]
call fcn.0044e7c0
comiss xmm0, dword [0x5903b8]
lea ecx, [ebp - 0x21c]
jbe 0x42128f
push 0x58d960
jmp 0x421294
push 0x58d988
call fcn.00409530
cmp dword [ebp - 0x208], 8
lea eax, [ebp - 0x21c]
push esi
cmovae eax, dword [ebp - 0x21c]
push eax
lea eax, [ebp - 0x204]
push eax
call fcn.00425040
mov ecx, dword [ebx + 0x6c0]
add esp, 0xc
test ecx, ecx
je 0x4212d4
mov eax, dword [ecx]
lea edx, [ebp - 0x204]
push edx
call dword [eax + 0x3c]
mov ecx, dword [ebx + 0x6ec]
test ecx, ecx
je 0x4212e4
push esi
call fcn.0046bd50
mov eax, dword [ebp - 0x208]
cmp eax, 8
jb 0x421f62
inc eax
lea ecx, [ebp - 0x21c]
push eax
push dword [ebp - 0x21c]
call fcn.00406ed0
jmp 0x421f62
cmp eax, 0x3e9
jne 0x42142c
cmp byte [ebx + 0x7e0], 0
jne 0x4213b1
lea eax, [ebp - 0x264]
mov byte [ebx + 0x7e0], 1
push eax
mov ecx, 0x5ad9a0
call fcn.0041dee0
lea esi, [ebx + 0x7c8]
push eax
mov ecx, esi
call fcn.00409580
lea ecx, [ebp - 0x264]
call fcn.004064c0
push esi
push ecx
lea ecx, [ebp - 0x24c]
call fcn.00424fa0
sub esp, 8
mov dword [ebp - 4], 1
lea eax, [ebp - 0x21c]
mov ecx, esp
lea edx, [ebp - 0x24c]
push eax
push edx
call fcn.0041d330
push 0x58b674
xorps xmm1, xmm1
mov ecx, 0x58d854
call fcn.00405370
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x24c]
push fcn.00408350
push 1
push 0x30
push eax
call fcn.005089cb
mov byte [ebx + 0x79c], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x798], eax
lea eax, [ebx + 0x7c8]
push eax
push ecx
lea ecx, [ebp - 0x24c]
call fcn.00424fa0
sub esp, 8
mov dword [ebp - 4], 2
lea eax, [ebp - 0x21c]
mov ecx, esp
lea edx, [ebp - 0x24c]
push eax
push edx
call fcn.0041d330
push 0x58b674
xorps xmm1, xmm1
mov ecx, 0x58d9ac
call fcn.00405370
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x24c]
push fcn.00408350
push 1
push 0x30
push eax
call fcn.005089cb
jmp 0x421f62
cmp eax, 0x3eb
jne 0x4214b7
lea ecx, [ebx + 0x798]
call fcn.0044e7c0
lea eax, [ebx + 0x7c8]
movss dword [ebp - 0x284], xmm0
push eax
push ecx
lea ecx, [ebp - 0x24c]
call fcn.00424fa0
sub esp, 8
mov dword [ebp - 4], 3
lea eax, [ebp - 0x21c]
mov ecx, esp
lea edx, [ebp - 0x24c]
push eax
push edx
call fcn.0041d330
movss xmm1, dword [ebp - 0x284]
mov ecx, 0x58d9bc
push 0x58b674
call fcn.00405370
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x24c]
push fcn.00408350
push 1
push 0x30
push eax
call fcn.005089cb
jmp 0x421f62
cmp eax, 0x3ec
jne 0x4216fd
push esi
call fcn.00422770
push 0xffffffffffffffff
push 0x58b674
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x1a4], 4
mov dword [ebp - 0x1a0], 0x93
call fcn.004524e0
push 0xffffffffffffffff
push str.NetworkTipWnd.xml
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 4
call fcn.004524e0
push str.NetworkTipWnd.xml
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 5
call fcn.00406500
mov esi, eax
push str.NetworkTipWnd.xml
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 6
call fcn.00406500
mov edi, eax
push 1
sub esp, 8
mov byte [ebp - 4], 7
mov ecx, esi
call fcn.00423eb0
push eax
push 0
lea eax, [ebp - 0x264]
mov ecx, edi
push eax
call fcn.00423e40
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 8
jb 0x421560
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x94]
call fcn.004524e0
lea ecx, [ebp - 0x264]
call fcn.004064c0
lea ecx, [ebp - 0x21c]
call fcn.004064c0
lea ecx, [ebp - 0x234]
call fcn.004064c0
push 0
push 0
mov ecx, ebx
mov dword [ebp - 4], 9
call fcn.00519290
lea edx, [ebp - 0x1a4]
mov ecx, eax
call fcn.00452120
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a4]
mov esi, eax
call fcn.0041e400
cmp esi, 1
jne 0x4215e4
cmp byte [ebx + 0x7b8], 0
je 0x4216d3
push esi
mov ecx, ebx
call fcn.00468ea0
jmp 0x4216d3
test esi, esi
jne 0x4216d3
xor eax, eax
mov dword [ebp - 0x208], 7
mov dword [ebp - 0x20c], esi
mov word [ebp - 0x21c], ax
mov dword [ebp - 4], 0xa
cmp dword [ebx + 0x7a4], eax
jne 0x421659
lea eax, [ebp - 0x234]
mov ecx, ebx
push eax
call fcn.00421fe0
push eax
lea ecx, [ebp - 0x21c]
call fcn.00409580
lea ecx, [ebp - 0x234]
call fcn.004064c0
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.0041f2a0
cmp dword [ebx + 0x7a4], 1
jne 0x4216c1
lea eax, [ebp - 0x234]
mov ecx, ebx
push eax
call fcn.004224f0
push eax
lea ecx, [ebp - 0x21c]
call fcn.00409580
lea ecx, [ebp - 0x234]
call fcn.004064c0
cmp dword [ebp - 0x208], 8
lea esi, [ebp - 0x21c]
mov ecx, dword [ebx + 0x6d0]
cmovae esi, dword [ebp - 0x21c]
call fcn.0046b090
mov ecx, dword [ebx + 0x6cc]
movzx eax, al
push eax
call fcn.0046b090
movzx eax, al
mov ecx, ebx
push eax
push esi
call fcn.0041f2a0
lea ecx, [ebp - 0x21c]
mov dword [ebp - 4], 0xffffffff
call fcn.004064c0
mov ecx, dword [ebx + 0x688]
mov dword [ebx + 0x7b0], 2
test ecx, ecx
je 0x421f62
push 1
push dword [ebx + 0x7a4]
call fcn.0046a9d0
jmp 0x421f62
cmp eax, 0x7d1
jne 0x42170e
call fcn.00422e30
jmp 0x421f68
cmp eax, 0x7d2
jne 0x4218a8
movsd xmm0, qword [esi + 8]
lea ecx, [ebp - 0x234]
movaps xmm1, xmm0
movsd qword [ebp - 0x28c], xmm0
call fcn.0041deb0
mov dword [ebp - 4], 0xb
movsd xmm0, qword [ebx + 0x7a8]
addsd xmm0, qword [0x590370]
movsd xmm1, qword [0x590380]
comisd xmm0, xmm1
movsd qword [ebx + 0x7a8], xmm0
jbe 0x421769
movsd qword [ebx + 0x7a8], xmm1
movsd xmm2, qword [ebp - 0x28c]
ucomisd xmm2, qword [0x590358]
movsd xmm0, qword [ebx + 0x7a8]
lahf
test ah, 0x44
jp 0x421792
comisd xmm0, xmm2
jbe 0x4217a3
movaps xmm2, xmm0
jmp 0x4217ab
comisd xmm0, xmm2
jbe 0x42179d
movaps xmm2, xmm0
jmp 0x4217ab
comisd xmm2, xmm0
jbe 0x4217ab
movsd qword [ebx + 0x7a8], xmm2
movsd xmm1, qword [0x590388]
lea eax, [ebp - 0x204]
subsd xmm1, qword [0x5ada50]
push 0x1f4
push 0
push eax
mulsd xmm1, xmm2
addsd xmm1, qword [0x5ada50]
mulsd xmm1, qword [0x590398]
cvttsd2si esi, xmm1
call fcn.004b3660
mov ecx, dword [ebx + 0x6c0]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0xcc]
mov ecx, eax
call fcn.00452ea0
push eax
lea ecx, [ebp - 0x21c]
call fcn.00406500
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x20c], 0
jne 0x421842
lea ecx, [ebx + 0x798]
call fcn.0044e7c0
comiss xmm0, dword [0x5903b8]
lea ecx, [ebp - 0x21c]
jbe 0x421838
push 0x58d960
jmp 0x42183d
push 0x58d988
call fcn.00409530
cmp dword [ebp - 0x208], 8
lea eax, [ebp - 0x21c]
push esi
cmovae eax, dword [ebp - 0x21c]
push eax
lea eax, [ebp - 0x204]
push eax
call fcn.00425040
mov ecx, dword [ebx + 0x6c0]
add esp, 0xc
test ecx, ecx
je 0x42187d
mov eax, dword [ecx]
lea edx, [ebp - 0x204]
push edx
call dword [eax + 0x3c]
mov ecx, dword [ebx + 0x6ec]
test ecx, ecx
je 0x42188d
push esi
call fcn.0046bd50
lea ecx, [ebp - 0x21c]
call fcn.004064c0
lea ecx, [ebp - 0x234]
call fcn.004065a0
jmp 0x421f62
cmp eax, 0x7d3
jne 0x421a58
lea ecx, [ebx + 0x798]
call fcn.0044e7c0
lea eax, [ebx + 0x7c8]
push eax
push ecx
lea ecx, [ebp - 0x24c]
call fcn.00424fa0
sub esp, 8
mov dword [ebp - 4], 0xd
lea eax, [ebp - 0x21c]
mov ecx, esp
lea edx, [ebp - 0x24c]
push eax
push edx
call fcn.0041d330
push 0x58b674
xorps xmm1, xmm1
mov ecx, 0x58d9f0
call fcn.00405370
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x24c]
push fcn.00408350
push 1
push 0x30
push eax
call fcn.005089cb
call fcn.00458b20
mov ecx, eax
call fcn.00452ea0
push eax
lea ecx, [ebp - 0x264]
call fcn.00406500
push str.resmainWndinstallPrg3.png
lea ecx, [ebp - 0x21c]
mov dword [ebp - 4], 0xe
call fcn.00406500
mov byte [ebp - 4], 0xf
mov ecx, dword [ebx + 0x6ec]
test ecx, ecx
je 0x421965
push 0x64
call fcn.0046bd50
lea eax, [ebp - 0x21c]
push eax
lea edx, [ebp - 0x264]
lea ecx, [ebp - 0x234]
call fcn.00424ec0
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x421988
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea ecx, [ebp - 0x234]
mov esi, eax
call fcn.004064c0
test esi, esi
je 0x4219d3
mov ecx, dword [ebx + 0x6ec]
test ecx, ecx
je 0x4219c4
cmp dword [ebp - 0x208], 8
lea eax, [ebp - 0x21c]
cmovae eax, dword [ebp - 0x21c]
push eax
call fcn.0046bd00
mov ecx, dword [ebx + 0x6ec]
test ecx, ecx
je 0x4219d3
call fcn.0045e870
push 0x1625
push dword [ebx + 0x6c8]
lea ecx, [ebx + 0x2c]
call fcn.00458ea0
push 0x112c
push dword [ebx + 0x6c8]
lea ecx, [ebx + 0x2c]
call fcn.00458ea0
mov ecx, dword [ebx + 0x6dc]
test ecx, ecx
je 0x421a1d
mov eax, dword [ecx]
push 0x58d40c
call dword [eax + 0x3c]
mov ecx, dword [ebx + 0x6dc]
push 1
mov eax, dword [ecx]
call dword [eax + 0xe0]
mov ecx, dword [ebx + 0x688]
push 1
push 3
call fcn.0046a9d0
mov ecx, ebx
mov dword [ebx + 0x7b0], 3
call fcn.00422b40
lea ecx, [ebp - 0x21c]
call fcn.004064c0
lea ecx, [ebp - 0x264]
call fcn.004064c0
jmp 0x421f62
cmp eax, 0x7d4
jne 0x421c01
push 0
push esi
call fcn.00422a50
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x21c]
call fcn.00411070
mov dword [ebp - 4], 0x10
cmp dword [esi + 0x20], 0
jne 0x421a97
push 0x58da34
lea ecx, [ebp - 0x21c]
call fcn.00409530
push 0xffffffffffffffff
push 0x58b674
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x1a4], 4
mov dword [ebp - 0x1a0], 0x93
call fcn.004524e0
push 0xffffffffffffffff
push str.MessageBox2Wnd.xml
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x18
call fcn.004524e0
push str.MessageBox2Wnd.xml
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 0x19
call fcn.00406500
mov esi, eax
push str.MessageBox2Wnd.xml
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x1a
call fcn.00406500
mov edi, eax
push 1
sub esp, 8
mov byte [ebp - 4], 0x1b
mov ecx, esi
call fcn.00423eb0
push eax
push 0
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.00423e40
mov byte [ebp - 4], 0x1c
cmp dword [eax + 0x14], 8
jb 0x421b2c
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x94]
call fcn.004524e0
lea ecx, [ebp - 0x234]
call fcn.004064c0
lea ecx, [ebp - 0x264]
call fcn.004064c0
lea ecx, [ebp - 0x27c]
call fcn.004064c0
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x21c]
cmp dword [ebp - 0x208], 8
mov ecx, ebx
push 0x58d774
cmovae eax, dword [ebp - 0x21c]
push eax
call fcn.00519290
lea edx, [ebp - 0x1a4]
mov ecx, eax
call fcn.00452120
add esp, 8
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1a4]
call fcn.0041e400
mov ecx, dword [ebx + 0x6ec]
mov dword [ebx + 0x7b0], 2
call fcn.0046b9e0
cmp eax, 0x46
jl 0x421bde
mov ecx, dword [ebx + 0x6c0]
test ecx, ecx
je 0x421bcd
mov eax, dword [ecx]
push str.ck_W
call dword [eax + 0x3c]
mov ecx, dword [ebx + 0x6ec]
test ecx, ecx
je 0x421bde
push 0
call fcn.0046bd50
mov ecx, dword [ebx + 0x688]
test ecx, ecx
je 0x421bf1
push 1
push 0
call fcn.0046a9d0
lea ecx, [ebp - 0x21c]
call fcn.004064c0
jmp 0x421f62
cmp eax, 0xbb8
jne 0x421c28
lea ecx, [ebx + 0x728]
add esi, 0x10
cmp ecx, esi
je 0x421f62
push 0xffffffffffffffff
push 0
push esi
call fcn.00406870
jmp 0x421f62
cmp eax, 0xbb9
jne 0x421c37
lea ecx, [ebx + 0x6f8]
jmp 0x421c0e
cmp eax, 0xbbb
jne 0x421c46
lea ecx, [ebx + 0x710]
jmp 0x421c0e
cmp eax, 0xbbc
jne 0x421c55
lea ecx, [ebx + 0x770]
jmp 0x421c0e
cmp eax, 0xbbd
jne 0x421c6c
cvttsd2si eax, qword [esi + 8]
mov dword [ebx + 0x788], eax
jmp 0x421f68
cmp eax, 0xbbf
jne 0x421c88
movsd xmm0, qword [esi + 8]
call fcn.00508f01
mov dword [ebx + 0x78c], eax
jmp 0x421f68
cmp eax, 0xbc0
jne 0x421ca4
movsd xmm0, qword [esi + 8]
call fcn.00508f01
mov dword [ebx + 0x790], eax
jmp 0x421f68
cmp eax, 0xbc1
jne 0x421dbb
push 0xffffffffffffffff
push 0x58b674
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x1a4], 4
mov dword [ebp - 0x1a0], 0x93
call fcn.004524e0
push 0xffffffffffffffff
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0x26
call fcn.004524e0
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0x27
call fcn.00406500
mov esi, eax
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x28
call fcn.00406500
mov edi, eax
push 1
sub esp, 8
mov byte [ebp - 4], 0x29
mov ecx, esi
call fcn.00423eb0
push eax
push 0
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.00423e40
mov byte [ebp - 4], 0x2a
cmp dword [eax + 0x14], 8
jb 0x421d47
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x94]
call fcn.004524e0
lea ecx, [ebp - 0x234]
call fcn.004064c0
lea ecx, [ebp - 0x264]
call fcn.004064c0
lea ecx, [ebp - 0x21c]
call fcn.004064c0
mov esi, dword [ebp - 0x280]
lea eax, [esi + 0x10]
mov dword [ebp - 4], 0x2b
cmp dword [eax + 0x14], 8
jb 0x421d8e
mov eax, dword [eax]
push 0x58da60
push eax
mov ecx, ebx
call fcn.00519290
lea edx, [ebp - 0x1a4]
mov ecx, eax
call fcn.00452120
add esp, 8
lea ecx, [ebp - 0x1a4]
call fcn.0041e400
jmp 0x421f68
cmp eax, 0x3ee
jne 0x421dcf
push 1
push esi
call fcn.00422a50
jmp 0x421f68
cmp eax, 0x1389
je 0x421f68
cmp eax, 0x138a
je 0x421f68
cmp eax, 0x138b
je 0x421f68
cmp eax, 0x138c
je 0x421e02
cmp eax, 0x138d
jne 0x421f68
push 0x58d738
lea ecx, [ebp - 0x27c]
call fcn.00406500
push 0xffffffffffffffff
mov dword [ebp - 4], 0x3a
lea ecx, [ebp - 0x460]
push 0x58b674
mov dword [ebp - 0x468], 4
mov dword [ebp - 0x464], 0x93
call fcn.004524e0
push 0xffffffffffffffff
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x3dc]
mov byte [ebp - 4], 0x3b
call fcn.004524e0
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 0x3c
call fcn.00406500
mov esi, eax
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 4], 0x3d
call fcn.00406500
mov edi, eax
push 1
sub esp, 8
mov byte [ebp - 4], 0x3e
mov ecx, esi
call fcn.00423eb0
push eax
push 0
lea eax, [ebp - 0x2a4]
mov ecx, edi
push eax
call fcn.00423e40
mov byte [ebp - 4], 0x3f
cmp dword [eax + 0x14], 8
jb 0x421eae
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x358]
call fcn.004524e0
lea ecx, [ebp - 0x2a4]
call fcn.004064c0
lea ecx, [ebp - 0x2bc]
call fcn.004064c0
lea ecx, [ebp - 0x2d4]
call fcn.004064c0
mov byte [ebp - 4], 0x40
lea eax, [ebp - 0x27c]
cmp dword [ebp - 0x268], 8
mov ecx, ebx
push 0x58d774
cmovae eax, dword [ebp - 0x27c]
push eax
call fcn.00519290
lea edx, [ebp - 0x468]
mov ecx, eax
call fcn.00452120
add esp, 8
lea ecx, [ebp - 0x468]
call fcn.0041e400
lea ecx, [ebp - 0x27c]
mov dword [ebp - 4], 0xffffffff
call fcn.004064c0
mov ecx, dword [ebx + 0x688]
mov dword [ebx + 0x7b0], 2
test ecx, ecx
je 0x421f50
push 1
push dword [ebx + 0x7a4]
call fcn.0046a9d0
cmp byte [ebx + 0x7b8], 0
je 0x421f62
push 1
mov ecx, ebx
call fcn.00468ea0
mov esi, dword [ebp - 0x280]
push ecx
mov ecx, esi
call fcn.00421f90
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.00508494
mov esp, ebp
pop ebp
ret 0x10