Function at 0x4218f0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54fb68
mov eax, dword fs:[0]
push eax
sub esp, 0x45c
mov eax, dword [0x5aa464]
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 0x4226a0
mov eax, dword [esi]
cmp eax, 0x3ea
jne 0x421a3b
movsd xmm0, qword [esi + 8]
lea eax, [ebp - 0x204]
mulsd xmm0, qword [0x5b0a98]
push 0x1f4
push 0
push eax
mulsd xmm0, qword [0x592698]
cvttsd2si esi, xmm0
call fcn.004b4650
mov ecx, dword [ebx + 0x6c0]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0xcc]
mov ecx, eax
call fcn.004537c0
push eax
lea ecx, [ebp - 0x21c]
call fcn.004064b0
mov dword [ebp - 4], 0
cmp dword [ebp - 0x20c], 0
jne 0x4219c9
lea ecx, [ebx + 0x798]
call fcn.0044f7c0
comiss xmm0, dword [0x5926b8]
lea ecx, [ebp - 0x21c]
jbe 0x4219bf
push 0x58fa38
jmp 0x4219c4
push 0x58fa60
call fcn.004094e0
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.00425690
mov ecx, dword [ebx + 0x6c0]
add esp, 0xc
test ecx, ecx
je 0x421a04
mov eax, dword [ecx]
lea edx, [ebp - 0x204]
push edx
call dword [eax + 0x3c]
mov ecx, dword [ebx + 0x6ec]
test ecx, ecx
je 0x421a14
push esi
call fcn.0046cd30
mov eax, dword [ebp - 0x208]
cmp eax, 8
jb 0x422692
inc eax
lea ecx, [ebp - 0x21c]
push eax
push dword [ebp - 0x21c]
call fcn.00406e80
jmp 0x422692
cmp eax, 0x3e9
jne 0x421b5c
cmp byte [ebx + 0x7e0], 0
jne 0x421ae1
lea eax, [ebp - 0x264]
mov byte [ebx + 0x7e0], 1
push eax
mov ecx, 0x5b09e8
call fcn.0041e670
lea esi, [ebx + 0x7c8]
push eax
mov ecx, esi
call fcn.00409530
lea ecx, [ebp - 0x264]
call fcn.00406470
push esi
push ecx
lea ecx, [ebp - 0x24c]
call fcn.004255f0
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.0041dab0
push 0x58d674
xorps xmm1, xmm1
mov ecx, 0x58f92c
call fcn.00405320
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x24c]
push fcn.00408300
push 1
push 0x30
push eax
call fcn.0050996a
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.004255f0
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.0041dab0
push 0x58d674
xorps xmm1, xmm1
mov ecx, 0x58fa84
call fcn.00405320
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x24c]
push fcn.00408300
push 1
push 0x30
push eax
call fcn.0050996a
jmp 0x422692
cmp eax, 0x3eb
jne 0x421be7
lea ecx, [ebx + 0x798]
call fcn.0044f7c0
lea eax, [ebx + 0x7c8]
movss dword [ebp - 0x284], xmm0
push eax
push ecx
lea ecx, [ebp - 0x24c]
call fcn.004255f0
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.0041dab0
movss xmm1, dword [ebp - 0x284]
mov ecx, 0x58fa94
push 0x58d674
call fcn.00405320
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x24c]
push fcn.00408300
push 1
push 0x30
push eax
call fcn.0050996a
jmp 0x422692
cmp eax, 0x3ec
jne 0x421e2d
push esi
call fcn.00422ea0
push 0xffffffffffffffff
push 0x58d674
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x1a4], 4
mov dword [ebp - 0x1a0], 0x93
call fcn.004534e0
push 0xffffffffffffffff
push str.NetworkTipWnd.xml
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 4
call fcn.004534e0
push str.NetworkTipWnd.xml
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 5
call fcn.004064b0
mov esi, eax
push str.NetworkTipWnd.xml
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 6
call fcn.004064b0
mov edi, eax
push 1
sub esp, 8
mov byte [ebp - 4], 7
mov ecx, esi
call fcn.004245e0
push eax
push 0
lea eax, [ebp - 0x264]
mov ecx, edi
push eax
call fcn.00424570
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 8
jb 0x421c90
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x94]
call fcn.004534e0
lea ecx, [ebp - 0x264]
call fcn.00406470
lea ecx, [ebp - 0x21c]
call fcn.00406470
lea ecx, [ebp - 0x234]
call fcn.00406470
push 0
push 0
mov ecx, ebx
mov dword [ebp - 4], 9
call fcn.004939a0
lea edx, [ebp - 0x1a4]
mov ecx, eax
call fcn.00453120
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a4]
mov esi, eax
call fcn.0041eb90
cmp esi, 1
jne 0x421d14
cmp byte [ebx + 0x7b8], 0
je 0x421e03
push esi
mov ecx, ebx
call fcn.00469f10
jmp 0x421e03
test esi, esi
jne 0x421e03
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 0x421d89
lea eax, [ebp - 0x234]
mov ecx, ebx
push eax
call fcn.00422710
push eax
lea ecx, [ebp - 0x21c]
call fcn.00409530
lea ecx, [ebp - 0x234]
call fcn.00406470
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.0041f9d0
cmp dword [ebx + 0x7a4], 1
jne 0x421df1
lea eax, [ebp - 0x234]
mov ecx, ebx
push eax
call fcn.00422c20
push eax
lea ecx, [ebp - 0x21c]
call fcn.00409530
lea ecx, [ebp - 0x234]
call fcn.00406470
cmp dword [ebp - 0x208], 8
lea esi, [ebp - 0x21c]
mov ecx, dword [ebx + 0x6d0]
cmovae esi, dword [ebp - 0x21c]
call fcn.0046c070
mov ecx, dword [ebx + 0x6cc]
movzx eax, al
push eax
call fcn.0046c070
movzx eax, al
mov ecx, ebx
push eax
push esi
call fcn.0041f9d0
lea ecx, [ebp - 0x21c]
mov dword [ebp - 4], 0xffffffff
call fcn.00406470
mov ecx, dword [ebx + 0x688]
mov dword [ebx + 0x7b0], 2
test ecx, ecx
je 0x422692
push 1
push dword [ebx + 0x7a4]
call fcn.0046ba50
jmp 0x422692
cmp eax, 0x7d1
jne 0x421e3e
call fcn.00423560
jmp 0x422698
cmp eax, 0x7d2
jne 0x421fd8
movsd xmm0, qword [esi + 8]
lea ecx, [ebp - 0x234]
movaps xmm1, xmm0
movsd qword [ebp - 0x28c], xmm0
call fcn.0041e640
mov dword [ebp - 4], 0xb
movsd xmm0, qword [ebx + 0x7a8]
addsd xmm0, qword [0x592670]
movsd xmm1, qword [0x592680]
comisd xmm0, xmm1
movsd qword [ebx + 0x7a8], xmm0
jbe 0x421e99
movsd qword [ebx + 0x7a8], xmm1
movsd xmm2, qword [ebp - 0x28c]
ucomisd xmm2, qword [0x592658]
movsd xmm0, qword [ebx + 0x7a8]
lahf
test ah, 0x44
jp 0x421ec2
comisd xmm0, xmm2
jbe 0x421ed3
movaps xmm2, xmm0
jmp 0x421edb
comisd xmm0, xmm2
jbe 0x421ecd
movaps xmm2, xmm0
jmp 0x421edb
comisd xmm2, xmm0
jbe 0x421edb
movsd qword [ebx + 0x7a8], xmm2
movsd xmm1, qword [0x592688]
lea eax, [ebp - 0x204]
subsd xmm1, qword [0x5b0a98]
push 0x1f4
push 0
push eax
mulsd xmm1, xmm2
addsd xmm1, qword [0x5b0a98]
mulsd xmm1, qword [0x592698]
cvttsd2si esi, xmm1
call fcn.004b4650
mov ecx, dword [ebx + 0x6c0]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0xcc]
mov ecx, eax
call fcn.004537c0
push eax
lea ecx, [ebp - 0x21c]
call fcn.004064b0
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x20c], 0
jne 0x421f72
lea ecx, [ebx + 0x798]
call fcn.0044f7c0
comiss xmm0, dword [0x5926b8]
lea ecx, [ebp - 0x21c]
jbe 0x421f68
push 0x58fa38
jmp 0x421f6d
push 0x58fa60
call fcn.004094e0
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.00425690
mov ecx, dword [ebx + 0x6c0]
add esp, 0xc
test ecx, ecx
je 0x421fad
mov eax, dword [ecx]
lea edx, [ebp - 0x204]
push edx
call dword [eax + 0x3c]
mov ecx, dword [ebx + 0x6ec]
test ecx, ecx
je 0x421fbd
push esi
call fcn.0046cd30
lea ecx, [ebp - 0x21c]
call fcn.00406470
lea ecx, [ebp - 0x234]
call fcn.00406550
jmp 0x422692
cmp eax, 0x7d3
jne 0x422188
lea ecx, [ebx + 0x798]
call fcn.0044f7c0
lea eax, [ebx + 0x7c8]
push eax
push ecx
lea ecx, [ebp - 0x24c]
call fcn.004255f0
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.0041dab0
push 0x58d674
xorps xmm1, xmm1
mov ecx, 0x58fac8
call fcn.00405320
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x24c]
push fcn.00408300
push 1
push 0x30
push eax
call fcn.0050996a
call fcn.00459bb0
mov ecx, eax
call fcn.004537c0
push eax
lea ecx, [ebp - 0x264]
call fcn.004064b0
push str.resmainWndinstallPrg3.png
lea ecx, [ebp - 0x21c]
mov dword [ebp - 4], 0xe
call fcn.004064b0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebx + 0x6ec]
test ecx, ecx
je 0x422095
push 0x64
call fcn.0046cd30
lea eax, [ebp - 0x21c]
push eax
lea edx, [ebp - 0x264]
lea ecx, [ebp - 0x234]
call fcn.00411d40
add esp, 4
cmp dword [eax + 0x14], 8
jb 0x4220b8
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea ecx, [ebp - 0x234]
mov esi, eax
call fcn.00406470
test esi, esi
je 0x422103
mov ecx, dword [ebx + 0x6ec]
test ecx, ecx
je 0x4220f4
cmp dword [ebp - 0x208], 8
lea eax, [ebp - 0x21c]
cmovae eax, dword [ebp - 0x21c]
push eax
call fcn.0046cce0
mov ecx, dword [ebx + 0x6ec]
test ecx, ecx
je 0x422103
call fcn.0045f8e0
push 0x1625
push dword [ebx + 0x6c8]
lea ecx, [ebx + 0x2c]
call fcn.00459f30
push 0x112c
push dword [ebx + 0x6c8]
lea ecx, [ebx + 0x2c]
call fcn.00459f30
mov ecx, dword [ebx + 0x6dc]
test ecx, ecx
je 0x42214d
mov eax, dword [ecx]
push 0x58f504
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.0046ba50
mov ecx, ebx
mov dword [ebx + 0x7b0], 3
call fcn.00423270
lea ecx, [ebp - 0x21c]
call fcn.00406470
lea ecx, [ebp - 0x264]
call fcn.00406470
jmp 0x422692
cmp eax, 0x7d4
jne 0x422331
push 0
push esi
call fcn.00423180
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x21c]
call fcn.00411030
mov dword [ebp - 4], 0x10
cmp dword [esi + 0x20], 0
jne 0x4221c7
push 0x58fb0c
lea ecx, [ebp - 0x21c]
call fcn.004094e0
push 0xffffffffffffffff
push 0x58d674
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x1a4], 4
mov dword [ebp - 0x1a0], 0x93
call fcn.004534e0
push 0xffffffffffffffff
push str.MessageBox2Wnd.xml
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x18
call fcn.004534e0
push str.MessageBox2Wnd.xml
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 0x19
call fcn.004064b0
mov esi, eax
push str.MessageBox2Wnd.xml
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x1a
call fcn.004064b0
mov edi, eax
push 1
sub esp, 8
mov byte [ebp - 4], 0x1b
mov ecx, esi
call fcn.004245e0
push eax
push 0
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.00424570
mov byte [ebp - 4], 0x1c
cmp dword [eax + 0x14], 8
jb 0x42225c
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x94]
call fcn.004534e0
lea ecx, [ebp - 0x234]
call fcn.00406470
lea ecx, [ebp - 0x264]
call fcn.00406470
lea ecx, [ebp - 0x27c]
call fcn.00406470
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x21c]
cmp dword [ebp - 0x208], 8
mov ecx, ebx
push 0x58f86c
cmovae eax, dword [ebp - 0x21c]
push eax
call fcn.004939a0
lea edx, [ebp - 0x1a4]
mov ecx, eax
call fcn.00453120
add esp, 8
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1a4]
call fcn.0041eb90
mov ecx, dword [ebx + 0x6ec]
mov dword [ebx + 0x7b0], 2
call fcn.0046c9c0
cmp eax, 0x46
jl 0x42230e
mov ecx, dword [ebx + 0x6c0]
test ecx, ecx
je 0x4222fd
mov eax, dword [ecx]
push str.ck_W
call dword [eax + 0x3c]
mov ecx, dword [ebx + 0x6ec]
test ecx, ecx
je 0x42230e
push 0
call fcn.0046cd30
mov ecx, dword [ebx + 0x688]
test ecx, ecx
je 0x422321
push 1
push 0
call fcn.0046ba50
lea ecx, [ebp - 0x21c]
call fcn.00406470
jmp 0x422692
cmp eax, 0xbb8
jne 0x422358
lea ecx, [ebx + 0x728]
add esi, 0x10
cmp ecx, esi
je 0x422692
push 0xffffffffffffffff
push 0
push esi
call fcn.00406820
jmp 0x422692
cmp eax, 0xbb9
jne 0x422367
lea ecx, [ebx + 0x6f8]
jmp 0x42233e
cmp eax, 0xbbb
jne 0x422376
lea ecx, [ebx + 0x710]
jmp 0x42233e
cmp eax, 0xbbc
jne 0x422385
lea ecx, [ebx + 0x770]
jmp 0x42233e
cmp eax, 0xbbd
jne 0x42239c
cvttsd2si eax, qword [esi + 8]
mov dword [ebx + 0x788], eax
jmp 0x422698
cmp eax, 0xbbf
jne 0x4223b8
movsd xmm0, qword [esi + 8]
call fcn.00509eb1
mov dword [ebx + 0x78c], eax
jmp 0x422698
cmp eax, 0xbc0
jne 0x4223d4
movsd xmm0, qword [esi + 8]
call fcn.00509eb1
mov dword [ebx + 0x790], eax
jmp 0x422698
cmp eax, 0xbc1
jne 0x4224eb
push 0xffffffffffffffff
push 0x58d674
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x1a4], 4
mov dword [ebp - 0x1a0], 0x93
call fcn.004534e0
push 0xffffffffffffffff
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0x26
call fcn.004534e0
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0x27
call fcn.004064b0
mov esi, eax
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x28
call fcn.004064b0
mov edi, eax
push 1
sub esp, 8
mov byte [ebp - 4], 0x29
mov ecx, esi
call fcn.004245e0
push eax
push 0
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.00424570
mov byte [ebp - 4], 0x2a
cmp dword [eax + 0x14], 8
jb 0x422477
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x94]
call fcn.004534e0
lea ecx, [ebp - 0x234]
call fcn.00406470
lea ecx, [ebp - 0x264]
call fcn.00406470
lea ecx, [ebp - 0x21c]
call fcn.00406470
mov esi, dword [ebp - 0x280]
lea eax, [esi + 0x10]
mov dword [ebp - 4], 0x2b
cmp dword [eax + 0x14], 8
jb 0x4224be
mov eax, dword [eax]
push 0x58fb38
push eax
mov ecx, ebx
call fcn.004939a0
lea edx, [ebp - 0x1a4]
mov ecx, eax
call fcn.00453120
add esp, 8
lea ecx, [ebp - 0x1a4]
call fcn.0041eb90
jmp 0x422698
cmp eax, 0x3ee
jne 0x4224ff
push 1
push esi
call fcn.00423180
jmp 0x422698
cmp eax, 0x1389
je 0x422698
cmp eax, 0x138a
je 0x422698
cmp eax, 0x138b
je 0x422698
cmp eax, 0x138c
je 0x422532
cmp eax, 0x138d
jne 0x422698
push 0x58f830
lea ecx, [ebp - 0x27c]
call fcn.004064b0
push 0xffffffffffffffff
mov dword [ebp - 4], 0x3a
lea ecx, [ebp - 0x460]
push 0x58d674
mov dword [ebp - 0x468], 4
mov dword [ebp - 0x464], 0x93
call fcn.004534e0
push 0xffffffffffffffff
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x3dc]
mov byte [ebp - 4], 0x3b
call fcn.004534e0
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], 0x3c
call fcn.004064b0
mov esi, eax
push str.MessageBox1Wnd.xml
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 4], 0x3d
call fcn.004064b0
mov edi, eax
push 1
sub esp, 8
mov byte [ebp - 4], 0x3e
mov ecx, esi
call fcn.004245e0
push eax
push 0
lea eax, [ebp - 0x2a4]
mov ecx, edi
push eax
call fcn.00424570
mov byte [ebp - 4], 0x3f
cmp dword [eax + 0x14], 8
jb 0x4225de
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x358]
call fcn.004534e0
lea ecx, [ebp - 0x2a4]
call fcn.00406470
lea ecx, [ebp - 0x2bc]
call fcn.00406470
lea ecx, [ebp - 0x2d4]
call fcn.00406470
mov byte [ebp - 4], 0x40
lea eax, [ebp - 0x27c]
cmp dword [ebp - 0x268], 8
mov ecx, ebx
push 0x58f86c
cmovae eax, dword [ebp - 0x27c]
push eax
call fcn.004939a0
lea edx, [ebp - 0x468]
mov ecx, eax
call fcn.00453120
add esp, 8
lea ecx, [ebp - 0x468]
call fcn.0041eb90
lea ecx, [ebp - 0x27c]
mov dword [ebp - 4], 0xffffffff
call fcn.00406470
mov ecx, dword [ebx + 0x688]
mov dword [ebx + 0x7b0], 2
test ecx, ecx
je 0x422680
push 1
push dword [ebx + 0x7a4]
call fcn.0046ba50
cmp byte [ebx + 0x7b8], 0
je 0x422692
push 1
mov ecx, ebx
call fcn.00469f10
mov esi, dword [ebp - 0x280]
push ecx
mov ecx, esi
call fcn.004226c0
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.00509444
mov esp, ebp
pop ebp
ret 0x10