Function at 0x47ced0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4deee7
mov eax, dword fs:[0]
push eax
sub esp, 0x70
push ebx
push esi
push edi
mov eax, dword [0x50f52c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov esi, ecx
mov dword [ebp - 0x78], esi
xor ebx, ebx
mov dword [ebp - 4], ebx
mov eax, dword [ebp + 0x2c]
push eax
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x7c], esp
mov dword [eax], ebx
call fcn.0047bef0
mov byte [ebp - 4], 1
lea ecx, [esi + 0x68]
mov dword [esi], vtable.install::wizard::InstallWizard.0
call fcn.004882c0
mov byte [ebp - 4], 2
lea ecx, [esi + 0xbc]
call fcn.0047e670
mov byte [ebp - 4], 3
lea ecx, [esi + 0x114]
call fcn.0047db40
mov byte [ebp - 4], 4
lea ecx, [esi + 0x16c]
call fcn.0047f9a0
mov byte [ebp - 4], 5
lea ecx, [esi + 0x1c0]
call fcn.00481000
mov byte [ebp - 4], 6
lea ecx, [esi + 0x254]
call fcn.00471e80
mov byte [ebp - 4], 7
lea ecx, [esi + 0x2c4]
call fcn.00477e70
mov byte [ebp - 4], 8
lea ecx, [esi + 0x330]
call fcn.00483430
mov byte [ebp - 4], 9
lea ecx, [esi + 0x3a4]
call fcn.00470710
mov byte [ebp - 4], 0xa
lea ecx, [esi + 0x418]
call fcn.0046a310
mov byte [ebp - 4], 0xb
lea ecx, [esi + 0x4ac]
call fcn.004770a0
mov byte [ebp - 4], 0xc
lea ecx, [esi + 0x504]
call fcn.00462440
mov byte [ebp - 4], 0xd
lea ecx, [esi + 0x558]
call fcn.00481e10
mov byte [ebp - 4], 0xe
lea ecx, [esi + 0x5ac]
call fcn.00484fd0
mov byte [ebp - 4], 0xf
lea ecx, [esi + 0x618]
call fcn.004635c0
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x74], 1
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
push ebx
lea ecx, [ebp - 0x74]
push ecx
lea edx, [esi + 0x64]
push edx
call sub.gdiplus.dll_GdiplusStartup
or dword [esi + 0x28], 0x20
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x64]
mov dword [0x510ac4], edi
mov dword [0x510ac0], eax
mov dword [0x510a68], edi
mov dword [0x510a64], eax
mov dword [0x510a60], edi
mov dword [0x510a5c], eax
mov dword [0x510a70], edi
mov dword [0x510a6c], eax
mov dword [0x510a78], edi
mov dword [0x510a74], eax
mov dword [0x510a90], edi
mov dword [0x510a8c], eax
mov dword [0x510a08], edi
mov dword [0x510a04], eax
mov dword [0x510a34], edi
mov dword [0x510a30], eax
mov dword [0x510a58], edi
mov dword [0x510a54], eax
mov dword [0x5109cc], edi
mov dword [0x5109c8], eax
mov dword [0x510a80], edi
mov dword [0x510a7c], eax
mov dword [0x510abc], edi
mov dword [0x510ab8], eax
mov dword [0x5109dc], edi
mov dword [0x5109d8], eax
mov dword [0x510a50], edi
mov dword [0x510a4c], eax
mov dword [0x5109d4], edi
mov dword [0x5109d0], eax
call fcn.004312a0
mov byte [ebp - 4], 0x11
push ebx
xor eax, eax
push 0x4e25d8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x24], ax
call fcn.00401860
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], ebx
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x10], 8
jb 0x47d11b
mov edx, dword [ebp - 0x24]
push edx
call fcn.004b29fa
add esp, 4
mov eax, 7
xor ecx, ecx
push eax
mov word [ebp - 0x24], cx
xor edx, edx
push str.WELCOME
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
call fcn.00401860
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], ebx
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x2c], 8
jb 0x47d16e
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.004b29fa
add esp, 4
mov eax, 7
xor ecx, ecx
push eax
xor edx, edx
mov word [ebp - 0x24], cx
push str.LICENSE
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
call fcn.00401860
mov byte [ebp - 4], 0x14
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 1
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x10], 8
jb 0x47d1c5
mov eax, dword [ebp - 0x24]
push eax
call fcn.004b29fa
add esp, 4
xor ecx, ecx
mov eax, 7
push 0xa
mov word [ebp - 0x24], cx
xor edx, edx
push str.LICENSEKEY
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
call fcn.00401860
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 2
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x2c], 8
jb 0x47d21d
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.004b29fa
add esp, 4
mov eax, 7
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], eax
push 0xc
xor edx, edx
xor eax, eax
push str.REGISTRATION
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x24], ax
call fcn.00401860
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 3
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x10], 8
jb 0x47d275
mov edx, dword [ebp - 0x24]
push edx
call fcn.004b29fa
add esp, 4
mov eax, 7
xor ecx, ecx
push eax
mov word [ebp - 0x24], cx
xor edx, edx
push str.TOOLBAR
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
call fcn.00401860
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 8
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x2c], 8
jb 0x47d2cc
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.004b29fa
add esp, 4
mov eax, 7
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], eax
push 6
xor edx, edx
xor eax, eax
push str.CUSTOM
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x24], ax
call fcn.00401860
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 8
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x10], 8
jb 0x47d324
mov edx, dword [ebp - 0x24]
push edx
call fcn.004b29fa
add esp, 4
xor ecx, ecx
mov eax, 7
push 8
mov word [ebp - 0x24], cx
xor edx, edx
push str.SOFTWARE
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
call fcn.00401860
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 4
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x2c], 8
jb 0x47d37c
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.004b29fa
add esp, 4
mov eax, 7
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], eax
push 8
xor edx, edx
xor eax, eax
push str.DOWNLOAD
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x24], ax
call fcn.00401860
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 5
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x10], 8
jb 0x47d3d4
mov edx, dword [ebp - 0x24]
push edx
call fcn.004b29fa
add esp, 4
mov eax, 7
xor ecx, ecx
push eax
mov word [ebp - 0x24], cx
xor edx, edx
push str.INSTALL
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
call fcn.00401860
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 6
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x2c], 8
jb 0x47d42b
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.004b29fa
add esp, 4
mov eax, 7
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], eax
push 6
xor edx, edx
xor eax, eax
push str.UPDATE
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x24], ax
call fcn.00401860
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 7
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x10], 8
jb 0x47d483
mov edx, dword [ebp - 0x24]
push edx
call fcn.004b29fa
add esp, 4
xor ecx, ecx
mov eax, 7
push 6
mov word [ebp - 0x24], cx
xor edx, edx
push str.CONFIG
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
call fcn.00401860
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 9
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x2c], 8
jb 0x47d4db
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.004b29fa
add esp, 4
mov eax, 7
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], eax
push 6
xor edx, edx
xor eax, eax
push str.FINISH
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x24], ax
call fcn.00401860
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 0xff
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x10], 8
jb 0x47d533
mov edx, dword [ebp - 0x24]
push edx
call fcn.004b29fa
add esp, 4
xor ecx, ecx
mov eax, 7
push 4
mov word [ebp - 0x24], cx
xor edx, edx
push str.CHAT
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
call fcn.00401860
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 0xb
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x2c], 8
jb 0x47d58b
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.004b29fa
add esp, 4
mov eax, 7
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], eax
push 6
xor edx, edx
xor eax, eax
push 0x4ee494
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x24], ax
call fcn.00401860
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 0xb
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x10], 8
jb 0x47d5e3
mov edx, dword [ebp - 0x24]
push edx
call fcn.004b29fa
add esp, 4
xor ecx, ecx
mov eax, 7
push 9
mov word [ebp - 0x24], cx
xor edx, edx
push str.UNINSTALL
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
call fcn.00401860
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 0xb
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x2c], 8
jb 0x47d63b
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.004b29fa
add esp, 4
mov eax, 7
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], eax
push 5
xor edx, edx
xor eax, eax
push str.CLEAN
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], dx
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x24], ax
call fcn.00401860
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x64]
call fcn.00431300
mov dword [eax], 0xc
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x10], 8
jb 0x47d693
mov edx, dword [ebp - 0x24]
push edx
call fcn.004b29fa
add esp, 4
xor eax, eax
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x24], ax
cmp dword [edi + 0x25c], ebx
je 0x47d7bf
lea ecx, [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x64]
call fcn.00431300
mov eax, dword [eax]
cmp eax, 0xff
ja case.0x47d7e7.7
je 0x47d7b3
cmp eax, 9
ja case.0x47d7e7.7
jmp dword [eax*4 + 0x47d9d0]
lea edx, [esi + 0x88]
push edx
mov ecx, esi
call fcn.0047bd80
cmp dword [edi + 0x3a4], 8
jb 0x47d6fd
mov eax, dword [edi + 0x390]
jmp 0x47d703
lea eax, [edi + 0x390]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je case.0x47d6d7.5
lea eax, [edi + 0x31c]
push str.hidden
push eax
call fcn.00402620
add esp, 8
test al, al
je case.0x47d6d7.5
lea ecx, [esi + 0xdc]
push ecx
mov ecx, esi
call fcn.0047bd80
cmp dword [edi + 0x284], ebx
je 0x47d74a
lea edx, [esi + 0x274]
push edx
mov ecx, esi
call fcn.0047bd80
lea eax, [esi + 0x638]
push eax
mov ecx, esi
call fcn.0047bd80
mov ecx, edi
call fcn.0041bfa0
test eax, eax
je 0x47d771
lea ecx, [esi + 0x134]
push ecx
mov ecx, esi
call fcn.0047bd80
push str.hidden
add edi, 0x338
push edi
call fcn.00402620
add esp, 8
test al, al
je case.0x47d6d7.6
lea edx, [esi + 0x350]
push edx
mov ecx, esi
call fcn.0047bd80
lea eax, [esi + 0x2e4]
push eax
mov ecx, esi
call fcn.0047bd80
lea ecx, [esi + 0x438]
push ecx
mov ecx, esi
call fcn.0047bd80
lea edx, [esi + 0x4cc]
push edx
jmp 0x47d97e
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x64]
call fcn.00431300
mov eax, dword [eax]
cmp eax, 0xff
ja case.0x47d7e7.7
je 0x47d977
cmp eax, 0xc
ja case.0x47d7e7.7
jmp dword [eax*4 + 0x47d9f8]
lea ecx, [edi + 0x354]
push str.hidden
push ecx
call fcn.00402620
add esp, 8
test al, al
je 0x47d852
lea edx, [edi + 0x268]
push 0x4e29e4
push edx
call fcn.00402330
add esp, 8
test al, al
je 0x47d844
push str.0409
add edi, 0x2c4
push edi
call fcn.00402330
add esp, 8
test al, al
je 0x47d844
lea eax, [esi + 0x524]
push eax
mov ecx, esi
call fcn.0047bd80
lea ecx, [esi + 0x578]
push ecx
mov ecx, esi
call fcn.0047bd80
lea edx, [esi + 0x5cc]
push edx
jmp 0x47d97e
lea eax, [esi + 0x638]
push eax
jmp 0x47d97e
lea ecx, [esi + 0x88]
push ecx
mov ecx, esi
call fcn.0047bd80
cmp dword [edi + 0x3a4], 8
jb 0x47d889
mov eax, dword [edi + 0x390]
jmp 0x47d88f
lea eax, [edi + 0x390]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je case.0x47d7e7.2
lea edx, [edi + 0x31c]
push str.hidden
push edx
call fcn.00402620
add esp, 8
test al, al
je case.0x47d7e7.2
lea eax, [esi + 0xdc]
push eax
mov ecx, esi
call fcn.0047bd80
mov ecx, edi
call fcn.0041bfa0
test eax, eax
je case.0x47d7e7.4
lea ecx, [edi + 0x31c]
push str.hidden
push ecx
call fcn.00402620
add esp, 8
test al, al
je case.0x47d7e7.4
lea edx, [esi + 0x134]
push edx
mov ecx, esi
call fcn.0047bd80
lea eax, [edi + 0x338]
push str.hidden
push eax
call fcn.00402620
add esp, 8
test al, al
je case.0x47d7e7.3
lea ecx, [esi + 0x350]
push ecx
mov ecx, esi
call fcn.0047bd80
cmp dword [edi + 0x1fc], ebx
jne case.0x47d7e7.5
lea edx, [edi + 0x338]
push str.hidden
push edx
call fcn.00402620
add esp, 8
test al, al
je case.0x47d7e7.5
lea eax, [esi + 0x18c]
push eax
mov ecx, esi
call fcn.0047bd80
cmp dword [edi + 0x284], ebx
je case.0x47d7e7.6
lea ecx, [esi + 0x274]
push ecx
mov ecx, esi
call fcn.0047bd80
lea edx, [esi + 0x2e4]
push edx
mov ecx, esi
call fcn.0047bd80
lea eax, [esi + 0x438]
push eax
mov ecx, esi
call fcn.0047bd80
lea ecx, [esi + 0x4cc]
push ecx
mov ecx, esi
call fcn.0047bd80
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x64]
call fcn.0047c8c0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp + 0x28], 8
jb 0x47d9aa
mov edx, dword [ebp + 0x14]
push edx
call fcn.004b29fa
add esp, 4
xor eax, eax
mov word [ebp + 0x14], ax
mov dword [ebp + 0x28], 7
mov dword [ebp + 0x24], ebx
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x28