Function at 0x428420
Capabilities:
Check if file exists

Disassembly:
push 0xffffffffffffffff
push 0x460438
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push ebp
push esi
push edi
mov eax, dword [0x491104]
xor eax, esp
push eax
lea eax, [esp + 0x4c]
mov dword fs:[0], eax
mov edi, ecx
mov esi, edx
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
xor ebx, ebx
cmp ecx, ebx
jl 0x428557
push 0x481028
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x428557
sub eax, dword [edi]
or ebp, 0xffffffff
sar eax, 1
cmp eax, ebp
je 0x42855a
lea ecx, [esp + 0x18]
call fcn.00406fc0
mov dword [esp + 0x54], ebx
push 0x11
push str.___t_tthis_message_n
lea ecx, [esp + 0x20]
call fcn.00406cd0
push 0x17
push str._diag_t_tdiagnostic_dump_n
lea ecx, [esp + 0x20]
call fcn.00406510
push 0x23
push str._noprereq_tskip_prerequisites_check_n
lea ecx, [esp + 0x20]
call fcn.00406510
push 0x13
push str._lang:___isocode___n
lea ecx, [esp + 0x20]
call fcn.00406510
push 0x36
push str._onlyprereq___licensedir:___path____tskip_installation_n
lea ecx, [esp + 0x20]
call fcn.00406510
push 0x4a
push str._reconfiguredatabases___destinationdir:___path______licensedir:___path____n
lea ecx, [esp + 0x20]
call fcn.00406510
push 0x8a
push str._installemptydata__destinationdir:___path____licensedir:___path____lang:___isocode____mandator:___MandatorKey_____packages:___packages____n
lea ecx, [esp + 0x20]
call fcn.00406510
push 0x89
push str._installdemodata__destinationdir:___path____licensedir:___path____lang:___isocode____mandator:___MandatorKey_____packages:___packages____n
lea ecx, [esp + 0x20]
call fcn.00406510
push 0x11
push str._createlangfiles_n
lea ecx, [esp + 0x20]
call fcn.00406510
push 0x6c
push str._batch__destinationdir:___path____licensedir:___path____lang:___isocode____dbversionname:___dbversionname__
lea ecx, [esp + 0x20]
call fcn.00406510
mov eax, dword [esp + 0x18]
push ebx
push ebx
push eax
call fcn.0042f5c8
mov ecx, dword [esp + 0x5c]
mov byte [ecx], 1
mov dword [esp + 0x54], ebp
lea ecx, [esp + 0x18]
call fcn.00406ed0
jmp 0x428a50
or ebp, 0xffffffff
mov eax, dword [edi]
cmp dword [eax - 0xc], ebx
jl 0x42868e
push str._createlangfiles
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x42868e
sub eax, dword [edi]
sar eax, 1
cmp eax, ebp
je 0x42868e
lea esi, [esp + 0x1c]
call fcn.004105a0
mov dword [esp + 0x54], 1
call fcn.00410430
mov dword [esp + 0x54], ebp
mov ecx, esi
call fcn.00406ed0
lea edx, [esp + 0x1c]
push edx
call fcn.004106b0
add esp, 4
mov dword [esp + 0x54], 2
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
sete bl
mov dword [esp + 0x54], ebp
lea ecx, [esp + 0x1c]
call fcn.00406ed0
test bl, bl
je 0x428605
lea eax, [esp + 0x1c]
push eax
call fcn.004106b0
add esp, 4
mov dword [esp + 0x54], 3
mov ecx, eax
call fcn.00410b70
mov dword [esp + 0x54], ebp
lea ecx, [esp + 0x1c]
call fcn.00406ed0
lea ecx, [esp + 0x38]
call fcn.0042ef2c
mov dword [esp + 0x54], 4
lea ecx, [esp + 0x24]
call fcn.0042ef2c
mov byte [esp + 0x54], 5
push 1
lea edi, [esp + 0x28]
lea ebx, [esp + 0x3c]
call fcn.00416570
mov eax, dword [esp + 0x30]
add esp, 4
xor esi, esi
test eax, eax
jle 0x428662
test esi, esi
jl 0x428689
cmp esi, eax
jge 0x428689
mov ecx, dword [esp + 0x28]
lea ecx, [ecx + esi*4]
push 1
call fcn.00412e90
mov eax, dword [esp + 0x30]
inc esi
add esp, 4
cmp esi, eax
jl 0x428640
mov edx, dword [esp + 0x5c]
mov byte [edx], 1
mov byte [esp + 0x54], 4
lea ecx, [esp + 0x24]
call fcn.0042f0e3
mov dword [esp + 0x54], ebp
lea ecx, [esp + 0x38]
call fcn.0042f0e3
jmp 0x428a50
call fcn.0042df48
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
cmp ecx, ebx
jl 0x4286be
push str._diag
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x4286be
sub eax, dword [edi]
sar eax, 1
cmp eax, ebp
je 0x4286be
mov ebp, 1
mov dword [esi + 0xa4], ebp
jmp 0x4286c3
mov ebp, 1
mov eax, dword [edi]
cmp dword [eax - 0xc], ebx
jl 0x4286f8
push str._deletetempsetup:
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x4286f8
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
je 0x4286f8
mov ecx, edi
call fcn.00429d70
mov eax, dword [esp + 0x5c]
mov byte [eax], 1
jmp 0x428a50
mov byte [esi + 0xac], bl
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
cmp ecx, ebx
jl 0x428722
push str._noprereq
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x428722
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
jne 0x428766
mov eax, dword [edi]
cmp dword [eax - 0xc], ebx
jl 0x428744
push str._installemptydata
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x428744
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
jne 0x428766
mov eax, dword [edi]
cmp dword [eax - 0xc], ebx
jl 0x42876d
push str._installdemodata
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x42876d
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
je 0x42876d
mov byte [esi + 0xac], 1
mov dword [esi + 0xb0], ebx
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
cmp ecx, ebx
jl 0x4287a2
push str._netclientinstall
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x4287a2
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
je 0x4287a2
mov dword [esi + 0xb0], ebp
jmp 0x4288bd
mov eax, dword [edi]
cmp dword [eax - 0xc], ebx
jl 0x4287d3
push str._netclientaminstall
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x4287d3
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
je 0x4287d3
mov dword [esi + 0xb0], 2
jmp 0x4288bd
mov eax, dword [edi]
cmp dword [eax - 0xc], ebx
jl 0x428804
push str._serverdongleinstall
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x428804
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
je 0x428804
mov dword [esi + 0xb0], 3
jmp 0x4288bd
mov eax, dword [edi]
cmp dword [eax - 0xc], ebx
jl 0x428835
push str._onlyprereq
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x428835
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
je 0x428835
mov dword [esi + 0xb0], 4
jmp 0x4288bd
mov eax, dword [edi]
cmp dword [eax - 0xc], ebx
jl 0x428863
push str._installemptydata
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x428863
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
je 0x428863
mov dword [esi + 0xb0], 5
jmp 0x4288bd
mov eax, dword [edi]
cmp dword [eax - 0xc], ebx
jl 0x428891
push str._installdemodata
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x428891
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
je 0x428891
mov dword [esi + 0xb0], 6
jmp 0x4288bd
mov eax, dword [edi]
cmp dword [eax - 0xc], ebx
jl 0x4288bd
push str._batch
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x4288bd
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
je 0x4288bd
mov dword [esi + 0xb0], 7
cmp dword [esi + 0xb0], ebx
jne 0x4288f3
mov eax, dword [edi]
cmp dword [eax - 0xc], ebx
jl 0x428a0c
push str._originpath:
push eax
call fcn.0044298b
add esp, 8
cmp eax, ebx
je 0x428a0c
sub eax, dword [edi]
sar eax, 1
cmp eax, 0xffffffff
je 0x428a0c
lea ecx, [esp + 0x18]
call fcn.00406fc0
mov dword [esp + 0x54], 6
cmp dword [esi + 0xb0], ebx
jne 0x428960
push str._originpath:
lea ecx, [esp + 0x20]
mov dword [esi + 0xa8], ebp
call fcn.00406e00
mov byte [esp + 0x54], 7
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x24]
push edi
push edx
call fcn.00429e90
add esp, 0xc
mov byte [esp + 0x54], 8
push eax
lea ecx, [esp + 0x1c]
call fcn.00406800
mov byte [esp + 0x54], 7
lea ecx, [esp + 0x20]
call fcn.00406ed0
mov byte [esp + 0x54], 6
lea ecx, [esp + 0x1c]
jmp 0x42897f
lea esi, [esp + 0x20]
call fcn.004105a0
mov byte [esp + 0x54], 9
push eax
lea ecx, [esp + 0x1c]
call fcn.00406800
mov byte [esp + 0x54], 6
mov ecx, esi
call fcn.00406ed0
mov eax, dword [esp + 0x18]
cmp dword [eax - 4], ebp
jle 0x42899e
mov eax, dword [eax - 0xc]
push eax
lea ecx, [esp + 0x1c]
call fcn.00406b50
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.00442d0b
add esp, 8
cmp eax, ebx
jl 0x428a02
mov ecx, dword [esp + 0x18]
cmp eax, dword [ecx - 8]
jg 0x428a02
mov dword [ecx - 0xc], eax
mov edx, dword [esp + 0x18]
xor ecx, ecx
lea esi, [esp + 0x18]
mov word [edx + eax*2], cx
call fcn.004293d0
test al, al
jne 0x4289e6
mov eax, dword [esp + 0x5c]
mov byte [eax], 1
jmp 0x4289ef
lea eax, [esp + 0x18]
call fcn.00410430
mov dword [esp + 0x54], 0xffffffff
lea ecx, [esp + 0x18]
call fcn.00406ed0
jmp 0x428a50
push 0x80070057
call fcn.00406f30
lea esi, [esp + 0x20]
call fcn.004105a0
mov dword [esp + 0x54], 0xa
call fcn.00410430
mov dword [esp + 0x54], 0xffffffff
mov ecx, esi
call fcn.00406ed0
call fcn.00429700
test al, al
jne 0x428a43
mov ecx, dword [esp + 0x5c]
mov byte [ecx], 1
jmp 0x428a50
push edi
call fcn.00429af0
mov edx, dword [esp + 0x5c]
mov byte [edx], 1
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 4