Function at 0x413630
Capabilities:
Check if file exists
Get graphical window text
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x45b106
mov eax, dword fs:[0]
push eax
sub esp, 0x688
mov eax, dword [0x46e3d0]
xor eax, esp
mov dword [esp + 0x680], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46e3d0]
xor eax, esp
push eax
lea eax, [esp + 0x69c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x6ac]
sub esp, 0x1c
mov edi, esp
push str.CDlgOptionalComponetProc::Install:
mov ebp, 7
mov ecx, ebp
mov esi, 0x472048
push 0x400
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x2b8]
push 0x200
push ecx
mov dword [esp + 0x60], eax
call fcn.0043ef21
add esp, 0x2c
lea ecx, [esp + 0x38]
call fcn.0042a750
xor ebx, ebx
mov dword [esp + 0x6a4], ebx
lea eax, [esp + 0x294]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov word [esp + 0x18], bx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4136d1
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x298]
push edx
lea esi, [esp + 0x1c]
call fcn.00406f20
mov eax, esi
push ebx
push eax
or eax, 0xffffffff
lea esi, [esp + 0x40]
mov byte [esp + 0x6ac], 1
call fcn.00406d90
mov esi, 8
cmp dword [esp + 0x2c], esi
jb 0x413722
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x50], esi
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov word [esp + 0x18], bx
jae 0x41373d
lea edx, [esp + 0x3c]
mov edi, dword [0x471b30]
cmp edi, ebx
je 0x41377a
mov eax, edx
lea esi, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x413750
sub eax, esi
sar eax, 1
push edi
add eax, eax
push eax
push 1
push edx
call fcn.0043fe21
mov ecx, dword [0x471b30]
push ecx
call fcn.004402ef
add esp, 0x14
mov dword [esp + 0x6a4], 0xffffffff
cmp dword [esp + 0x50], 8
jb 0x413799
mov edx, dword [esp + 0x3c]
push edx
call fcn.0043ef40
add esp, 4
push 0x206
lea eax, [esp + 0x92]
push ebx
push eax
xor ebp, ebp
mov word [esp + 0x98], bx
call fcn.00443e10
mov edx, dword [esp + 0x40]
add esp, 0xc
push 0x104
lea ecx, [esp + 0x90]
push ecx
push 0x410
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov eax, dword [0x46f5d8]
sub eax, 2
je 0x413837
sub eax, 1
je 0x41384a
lea eax, [esp + 0x38]
push eax
call fcn.004142c0
mov eax, dword [esp + 0x40]
mov esi, 8
add esp, 4
cmp dword [esp + 0x50], esi
jae 0x41380c
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x90]
push 0x208
push ecx
call fcn.0043f9ed
add esp, 0xc
cmp dword [esp + 0x50], esi
jb 0x41384a
mov edx, dword [esp + 0x3c]
push edx
call fcn.0043ef40
add esp, 4
jmp 0x41384a
push 0x4603c4
lea eax, [esp + 0x90]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [esp + 0x8c]
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], bx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x413865
sub eax, edx
sar eax, 1
push eax
lea ecx, [esp + 0x90]
push ecx
lea esi, [esp + 0x40]
call fcn.00406f20
push 0xffffffffffffffff
push ebx
mov eax, esi
mov ecx, 0x472064
mov dword [esp + 0x6ac], 2
call fcn.00406cc0
mov dword [esp + 0x6a4], 0xffffffff
cmp dword [esp + 0x50], 8
jb 0x4138bf
mov edx, dword [esp + 0x3c]
push edx
call fcn.0043ef40
add esp, 4
mov eax, 0x472064
lea ecx, [esp + 0x70]
call fcn.0041bae0
mov dword [esp + 0x6a4], 3
push 5
mov edi, 7
push 0x4603c4
lea esi, [esp + 0x5c]
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], ebx
mov word [esp + 0x60], bx
call fcn.00406f20
mov byte [esp + 0x6a4], 4
push 6
push str.Trial0
lea esi, [esp + 0x1c]
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], bx
call fcn.00406f20
mov byte [esp + 0x6a4], 5
mov eax, dword [esp + 0x28]
push str.Trial1
mov edi, 6
mov ecx, esi
call fcn.00411e60
test eax, eax
sete byte [esp + 0x33]
mov byte [esp + 0x6a4], 4
cmp dword [esp + 0x2c], 8
jb 0x41395f
mov eax, dword [esp + 0x18]
push eax
call fcn.0043ef40
add esp, 4
cmp byte [esp + 0x33], bl
je 0x413975
push 7
push str.QTTrial
lea esi, [esp + 0x5c]
call fcn.00406f20
cmp dword [esp + 0x6c], 8
mov eax, dword [esp + 0x58]
jae 0x413984
lea eax, [esp + 0x58]
mov edi, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x88]
lea ecx, [esp + 0x74]
call fcn.00411e60
test eax, eax
je 0x4139df
mov esi, dword [0x472078]
cmp esi, ebx
jle 0x4139cc
mov edi, 1
mov ebx, 0x472064
call fcn.00414bd0
add esi, 0xffffffff
cmp eax, esi
je 0x4139ca
push edi
push 0x46042c
mov ecx, ebx
call fcn.00406e50
xor ebx, ebx
push ebx
lea ecx, [esp + 0x58]
push ecx
or eax, 0xffffffff
mov esi, 0x472064
call fcn.00406d90
push 0xffffffffffffffff
push ebx
mov eax, 0x472064
mov ecx, 0x472048
call fcn.00406cc0
push 1
push 0x46042c
mov ecx, 0x472048
call fcn.00406e50
push ebx
push 0x47209c
or eax, 0xffffffff
mov esi, 0x472048
call fcn.00406d90
mov eax, dword [0x47204c]
mov edi, 8
cmp dword [0x472060], edi
jae 0x413a2c
mov eax, 0x47204c
push eax
push str.Install2:
push 0x400
lea edx, [esp + 0x2a0]
push 0x200
push edx
call fcn.0043ef21
add esp, 0x14
lea ecx, [esp + 0x38]
call fcn.0042a750
mov byte [esp + 0x6a4], 6
lea eax, [esp + 0x294]
mov dword [esp + 0x2c], 7
mov dword [esp + 0x28], ebx
mov word [esp + 0x18], bx
lea edx, [eax + 2]
jmp 0x413a80
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x413a80
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x298]
push eax
lea esi, [esp + 0x1c]
call fcn.00406f20
mov ecx, esi
push ebx
push ecx
or eax, 0xffffffff
lea esi, [esp + 0x40]
mov byte [esp + 0x6ac], 7
call fcn.00406d90
cmp dword [esp + 0x2c], edi
jb 0x413acc
mov edx, dword [esp + 0x18]
push edx
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x50], edi
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x2c], 7
mov dword [esp + 0x28], ebx
mov word [esp + 0x18], bx
jae 0x413aeb
lea edx, [esp + 0x3c]
mov edi, dword [0x471b30]
cmp edi, ebx
je 0x413b2a
mov eax, edx
lea esi, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x413b00
sub eax, esi
sar eax, 1
push edi
add eax, eax
push eax
push 1
push edx
call fcn.0043fe21
mov ecx, dword [0x471b30]
push ecx
call fcn.004402ef
add esp, 0x14
mov byte [esp + 0x6a4], 4
cmp dword [esp + 0x50], 8
jb 0x413b46
mov edx, dword [esp + 0x3c]
push edx
call fcn.0043ef40
add esp, 4
cmp dword [0x472060], 8
mov eax, dword [0x47204c]
jae 0x413b59
mov eax, 0x47204c
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x413cc4
push 0x472048
call fcn.0041bcd0
add esp, 4
test eax, eax
jne 0x413cc4
mov eax, dword [0x47204c]
mov ebp, 8
cmp dword [0x472060], ebp
jae 0x413b94
mov eax, 0x47204c
push eax
push 0x461e18
push 0x400
lea eax, [esp + 0x2a0]
push 0x200
push eax
call fcn.0043ef21
add esp, 0x14
lea ecx, [esp + 0x38]
call fcn.0042a750
mov byte [esp + 0x6a4], 8
mov edi, 7
lea eax, [esp + 0x294]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
mov word [esp + 0x18], bx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x413be1
sub eax, edx
sar eax, 1
push eax
lea ecx, [esp + 0x298]
push ecx
lea esi, [esp + 0x1c]
call fcn.00406f20
mov edx, esi
push ebx
push edx
or eax, 0xffffffff
lea esi, [esp + 0x40]
mov byte [esp + 0x6ac], 9
call fcn.00406d90
cmp dword [esp + 0x2c], ebp
jb 0x413c2d
mov eax, dword [esp + 0x18]
push eax
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x50], ebp
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
mov word [esp + 0x18], bx
jae 0x413c48
lea edx, [esp + 0x3c]
mov edi, dword [0x471b30]
cmp edi, ebx
je 0x413c82
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x413c57
sub eax, esi
sar eax, 1
push edi
lea ecx, [eax + eax]
push ecx
push 1
push edx
call fcn.0043fe21
mov edx, dword [0x471b30]
push edx
call fcn.004402ef
add esp, 0x14
mov byte [esp + 0x6a4], 4
cmp dword [esp + 0x50], 8
jb 0x413c9e
mov eax, dword [esp + 0x3c]
push eax
call fcn.0043ef40
add esp, 4
mov ecx, dword [esp + 0x34]
push 0x10
push 0x4602a4
push ecx
push ecx
call fcn.00406c20
add esp, 4
mov ecx, 0x461bb8
mov edx, eax
call fcn.00410df0
mov ebp, 1
cmp dword [0x47207c], 8
mov eax, dword [0x472068]
jae 0x413cd7
mov eax, 0x472068
mov edx, dword [esp + 0x34]
push eax
push 0x410
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
cmp ebp, ebx
jne 0x413e3e
mov eax, dword [esp + 0x34]
push 0x472048
push eax
call fcn.00412f00
add esp, 8
mov edi, eax
mov eax, dword [0x47204c]
neg edi
sbb edi, edi
add edi, 1
cmp dword [0x472060], 8
jae 0x413d25
mov eax, 0x47204c
push edi
push eax
push str.Install3:
push 0x400
lea ecx, [esp + 0x2a4]
push 0x200
push ecx
call fcn.0043ef21
add esp, 0x18
lea ecx, [esp + 0x38]
call fcn.0042a750
mov byte [esp + 0x6a4], 0xa
mov ebp, 7
lea eax, [esp + 0x294]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov word [esp + 0x18], bx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x413d73
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x298]
push edx
lea esi, [esp + 0x1c]
call fcn.00406f20
mov eax, esi
push ebx
push eax
or eax, 0xffffffff
lea esi, [esp + 0x40]
mov byte [esp + 0x6ac], 0xb
call fcn.00406d90
mov esi, 8
cmp dword [esp + 0x2c], esi
jb 0x413dc4
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x50], esi
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov word [esp + 0x18], bx
jae 0x413ddf
lea edx, [esp + 0x3c]
mov ebp, dword [0x471b30]
cmp ebp, ebx
je 0x413e1a
mov eax, edx
lea esi, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x413df0
sub eax, esi
sar eax, 1
push ebp
add eax, eax
push eax
push 1
push edx
call fcn.0043fe21
mov ecx, dword [0x471b30]
push ecx
call fcn.004402ef
add esp, 0x14
mov byte [esp + 0x6a4], 4
cmp dword [esp + 0x50], 8
jb 0x413e36
mov edx, dword [esp + 0x3c]
push edx
call fcn.0043ef40
add esp, 4
cmp edi, ebx
je 0x4140b3
cmp dword [0x46f5d8], 1
mov ebp, 7
lea edi, [ebp + 1]
je 0x413f5e
lea eax, [esp + 0x8c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
lea ecx, [esp + 0x8c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x8c]
push edx
push 0x410
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
lea eax, [esp + 0x8c]
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], ebx
mov word [esp + 0x3c], bx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x413ea5
sub eax, edx
sar eax, 1
push eax
lea ecx, [esp + 0x90]
push ecx
lea esi, [esp + 0x40]
call fcn.00406f20
push 0xffffffffffffffff
push ebx
mov eax, esi
mov ecx, 0x472064
mov byte [esp + 0x6ac], 0xc
call fcn.00406cc0
mov byte [esp + 0x6a4], 4
cmp dword [esp + 0x50], edi
jb 0x413ef8
mov edx, dword [esp + 0x3c]
push edx
call fcn.0043ef40
add esp, 4
push 0x472064
mov ebx, 0x46042c
lea esi, [esp + 0x3c]
call fcn.00408750
add esp, 4
push 0xffffffffffffffff
push 0
mov ecx, 0x472048
mov byte [esp + 0x6ac], 0xd
call fcn.00406cc0
mov byte [esp + 0x6a4], 4
cmp dword [esp + 0x50], 8
jb 0x413f40
mov eax, dword [esp + 0x3c]
push eax
call fcn.0043ef40
add esp, 4
push 0
push 0x47209c
or eax, 0xffffffff
mov esi, 0x472048
call fcn.00406d90
xor ebx, ebx
mov edi, 8
lea ebp, [ebx + 7]
cmp dword [0x472060], edi
mov eax, dword [0x47204c]
jae 0x413f70
mov eax, 0x47204c
push eax
push str.Install4:
push 0x400
lea ecx, [esp + 0x2a0]
push 0x200
push ecx
call fcn.0043ef21
add esp, 0x14
lea ecx, [esp + 0x38]
call fcn.0042a750
mov byte [esp + 0x6a4], 0xe
lea eax, [esp + 0x294]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov word [esp + 0x18], bx
lea edx, [eax + 2]
jmp 0x413fc0
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x413fc0
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x298]
push edx
lea esi, [esp + 0x1c]
call fcn.00406f20
mov eax, esi
push ebx
push eax
or eax, 0xffffffff
lea esi, [esp + 0x40]
mov byte [esp + 0x6ac], 0xf
call fcn.00406d90
cmp dword [esp + 0x2c], edi
jb 0x41400c
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x50], edi
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov word [esp + 0x18], bx
jae 0x414027
lea edx, [esp + 0x3c]
mov edi, dword [0x471b30]
cmp edi, ebx
je 0x414060
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x414036
sub eax, esi
sar eax, 1
push edi
add eax, eax
push eax
push 1
push edx
call fcn.0043fe21
mov ecx, dword [0x471b30]
push ecx
call fcn.004402ef
add esp, 0x14
cmp dword [esp + 0x50], 8
jb 0x414074
mov edx, dword [esp + 0x3c]
push edx
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x6c], 8
jb 0x414088
mov eax, dword [esp + 0x58]
push eax
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x88], 8
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], ebx
mov word [esp + 0x58], bx
jb 0x4140ac
mov ecx, dword [esp + 0x74]
push ecx
call fcn.0043ef40
add esp, 4
xor eax, eax
jmp 0x414293
push 0x472048
mov ebx, str.Bin_
lea esi, [esp + 0x3c]
call fcn.00408750
add esp, 4
push 0xffffffffffffffff
push 0
mov ecx, 0x471ff4
mov byte [esp + 0x6ac], 0x10
call fcn.00406cc0
mov byte [esp + 0x6a4], 4
cmp dword [esp + 0x50], 8
jb 0x4140fb
mov edx, dword [esp + 0x3c]
push edx
call fcn.0043ef40
add esp, 4
push 0x472080
mov ebx, str.Bin_
lea esi, [esp + 0x18]
call fcn.00408750
add esp, 4
push 0xffffffffffffffff
xor ebp, ebp
push ebp
mov ecx, 0x472010
mov byte [esp + 0x6ac], 0x11
call fcn.00406cc0
mov ebx, 8
mov byte [esp + 0x6a4], 4
cmp dword [esp + 0x2c], ebx
jb 0x414148
mov eax, dword [esp + 0x18]
push eax
call fcn.0043ef40
add esp, 4
call fcn.00406bc0
mov ecx, dword [eax + 0x40]
cmp ecx, dword [eax + 0x44]
jge 0x414162
cmp ecx, ebp
jl 0x414162
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*4 + 8]
jmp 0x414164
xor eax, eax
push eax
call fcn.00429da0
add esp, 4
test eax, eax
je 0x4141c7
push ebp
push ecx
call fcn.00406bc0
add esp, 4
mov esi, eax
call fcn.0040fdc0
cmp dword [esp + 0x6c], ebx
jb 0x414195
mov edx, dword [esp + 0x58]
push edx
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x88], ebx
mov dword [esp + 0x6c], 7
mov dword [esp + 0x68], ebp
mov word [esp + 0x58], bp
jb 0x4140ac
mov eax, dword [esp + 0x74]
push eax
call fcn.0043ef40
add esp, 4
xor eax, eax
jmp 0x414293
fldz
fstp dword [0x470fc4]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x471e7c]
cmp ecx, ebp
mov dword [0x471e88], eax
je 0x41422d
mov eax, dword [0x471ec0]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
add eax, 1
push eax
push 9
push 0x40
call edx
mov ecx, dword [0x471e7c]
cmp ecx, ebp
je 0x41422d
mov edx, dword [0x471ec4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
add edx, 1
push edx
push ebx
push 0x40
call eax
mov ecx, dword [0x471e7c]
cmp ecx, ebp
je 0x41422d
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
push 1
push 2
push 0x40
call eax
mov dword [0x470fa4], 1
call fcn.00406bc0
mov esi, dword [eax + 0x3c]
mov edi, dword [sym.imp.USER32.dll_SetTimer]
push ebp
push 0x32
push ebp
push esi
call edi
push ebp
push 0xa
push 4
push esi
call edi
cmp dword [esp + 0x6c], ebx
jb 0x414267
mov ecx, dword [esp + 0x58]
push ecx
call fcn.0043ef40
add esp, 4
cmp dword [esp + 0x88], ebx
mov dword [esp + 0x6c], 7
mov dword [esp + 0x68], ebp
mov word [esp + 0x58], bp
jb 0x41428e
mov edx, dword [esp + 0x74]
push edx
call fcn.0043ef40
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0x69c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x680]
xor ecx, esp
call fcn.0043ef12
add esp, 0x694
ret