Function at 0x4269b0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49f426
mov eax, dword fs:[0]
push eax
sub esp, 0x44
push ebx
push esi
push edi
mov eax, dword [0x4c7650]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0xc]
push 0x14
call fcn.0047a58d
mov esi, eax
xor edi, edi
add esp, 4
cmp esi, edi
je 0x426a11
mov eax, dword [0x4c72d4]
mov edx, dword [eax + 0xc]
mov ecx, 0x4c72d4
call edx
add eax, 0x10
mov dword [esi], eax
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov edi, esi
mov dword [ebp - 0x20], esi
jmp 0x426a14
mov dword [ebp - 0x20], edi
push 2
push 0x4aa950
mov ecx, edi
mov dword [ebp - 0x18], edi
call fcn.00405810
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x74]
lea ecx, [ebp - 0x18]
cmp ecx, eax
jae 0x426a63
mov ecx, dword [esi + 0x70]
lea edx, [ebp - 0x18]
cmp ecx, edx
ja 0x426a63
mov edi, edx
sub edi, ecx
sar edi, 2
cmp eax, dword [esi + 0x78]
jne 0x426a50
lea eax, [esi + 0x70]
call fcn.0040d9a0
mov eax, dword [esi + 0x70]
lea ecx, [eax + edi*4]
mov eax, dword [esi + 0x74]
test eax, eax
je 0x426a79
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x426a79
cmp eax, dword [esi + 0x78]
jne 0x426a70
lea eax, [esi + 0x70]
call fcn.0040d9a0
mov eax, dword [esi + 0x74]
test eax, eax
je 0x426a79
mov dword [eax], edi
add dword [esi + 0x74], 4
mov esi, dword [ebx]
mov dword [ebp - 0x14], esi
cmp esi, dword [ebx + 4]
je 0x427013
jmp 0x426a90
mov edx, dword [esi]
mov eax, dword [edx + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x427001
mov eax, dword [esi]
mov ecx, dword [eax + 8]
cmp dword [ecx - 0xc], 0
mov dword [ebp - 0x2c], eax
jle 0x427001
mov ecx, dword [eax + 0x48]
mov dword [ebp - 0x18], ecx
cmp ecx, dword [eax + 0x4c]
je 0x426e6c
push 0x120
call fcn.0047a58d
mov edi, eax
add esp, 4
mov dword [ebp - 0x28], edi
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp edi, ebx
je 0x426b15
fldz
lea edx, [ebp - 0x3c]
fst dword [ebp - 0x3c]
push edx
fstp dword [ebp - 0x38]
push edi
fld dword [0x4b4458]
fstp dword [ebp - 0x34]
fld dword [0x4b4454]
fstp dword [ebp - 0x30]
call fcn.00433900
mov byte [ebp - 4], 1
mov dword [edi], vtable.CComAppCell.0
call fcn.00424850
jmp 0x426b17
xor edi, edi
mov dword [ebp - 4], 0xffffffff
mov esi, dword [esi]
push ebx
mov dword [edi + 0x118], esi
mov edx, dword [esi + 8]
push 1
sub esp, 0x1c
mov ecx, esp
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], ebx
mov word [ecx], ax
mov eax, edx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x28], esp
lea edi, [eax + 2]
jmp 0x426b50
mov bx, word [eax]
add eax, 2
test bx, bx
jne 0x426b50
sub eax, edi
sar eax, 1
push eax
push edx
call fcn.00417c60
mov edi, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x10c]
call fcn.00435660
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0x114]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [edi + 0x108]
push esi
call fcn.0041c320
mov edi, dword [ebp - 0x18]
mov ebx, dword [ebp + 8]
mov ecx, edi
lea eax, [ebx + 0x90]
call fcn.00417150
mov esi, dword [ebx + 0x94]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x426c09
mov eax, dword [eax + 0xc]
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x427027
mov edi, dword [edi]
mov ecx, eax
mov eax, edi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x426bf6
test dx, dx
je 0x426bf2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x426bf6
add eax, 4
add ecx, 4
test dx, dx
jne 0x426bd0
xor eax, eax
jmp 0x426bfb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sets al
test al, al
jne 0x426c09
lea eax, [ebp - 0x10]
jmp 0x426c0f
mov dword [ebp - 0x24], esi
lea eax, [ebp - 0x24]
mov eax, dword [eax]
cmp esi, eax
jne 0x426d86
push 0x14
call fcn.0047a58d
mov esi, eax
add esp, 4
test esi, esi
je 0x426c4d
mov edx, dword [0x4c72d4]
mov eax, dword [edx + 0xc]
mov ecx, 0x4c72d4
call eax
add eax, 0x10
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov ebx, esi
jmp 0x426c4f
xor ebx, ebx
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp + 8]
push esi
add edi, 0x90
mov dword [ebp - 0x10], ebx
call fcn.00417090
mov dword [eax], ebx
mov ecx, dword [esi]
mov esi, dword [ebx]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x426cbb
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x426caf
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x426caf
push eax
call fcn.00405350
mov dword [ebp - 0x28], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x426ca5
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x10
mov dword [ebx], ecx
jmp 0x426cbb
mov eax, dword [ecx - 0xc]
push eax
push ecx
mov ecx, ebx
call fcn.00405810
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x74]
add esi, 0x70
lea edx, [ebp - 0x10]
cmp edx, eax
jae 0x426d33
mov edx, dword [esi]
lea ecx, [ebp - 0x10]
cmp edx, ecx
ja 0x426d33
mov edi, ecx
mov ecx, dword [esi + 8]
sub edi, edx
sar edi, 2
cmp eax, ecx
jne 0x426d1d
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x427031
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x426d1d
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x426d0f
xor ecx, ecx
jmp 0x426d11
add ecx, edx
cmp ecx, eax
jae 0x426d17
mov ecx, eax
push ecx
call fcn.0040d9f0
mov eax, dword [esi + 4]
mov edx, dword [esi]
lea edi, [edx + edi*4]
test eax, eax
je 0x426d2d
mov ecx, dword [edi]
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x426d8c
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x426d77
mov edx, dword [esi]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x427031
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x426d77
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x426d69
xor ecx, ecx
jmp 0x426d6b
add ecx, edx
cmp ecx, eax
jae 0x426d71
mov ecx, eax
push ecx
call fcn.0040d9f0
mov eax, dword [esi + 4]
test eax, eax
je 0x426d80
mov dword [eax], ebx
add dword [esi + 4], 4
jmp 0x426d8c
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x10], edx
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 8]
mov edi, dword [ebp - 0x1c]
add esi, 4
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], edi
cmp ecx, eax
jae 0x426e03
mov edx, dword [esi]
cmp edx, ecx
ja 0x426e03
mov edi, ecx
mov ecx, dword [esi + 8]
sub edi, edx
sar edi, 2
cmp eax, ecx
jne 0x426df1
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x427031
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x426df1
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x426de3
xor ecx, ecx
jmp 0x426de5
add ecx, edx
cmp ecx, eax
jae 0x426deb
mov ecx, eax
push ecx
call fcn.0040d9f0
mov eax, dword [esi + 4]
mov edx, dword [esi]
lea edi, [edx + edi*4]
test eax, eax
je 0x426e50
mov ecx, dword [edi]
mov dword [eax], ecx
jmp 0x426e50
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x426e47
mov edx, dword [esi]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x427031
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x426e47
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x426e39
xor ecx, ecx
jmp 0x426e3b
add ecx, edx
cmp ecx, eax
jae 0x426e41
mov ecx, eax
push ecx
call fcn.0040d9f0
mov eax, dword [esi + 4]
test eax, eax
je 0x426e50
mov dword [eax], edi
mov eax, dword [ebp - 0x18]
add dword [esi + 4], 4
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [edx + 0x4c]
jne 0x426ac5
push 0x120
call fcn.0047a58d
mov edi, eax
add esp, 4
mov dword [ebp - 0x2c], edi
mov dword [ebp - 4], 2
test edi, edi
je 0x426ebe
fldz
lea eax, [ebp - 0x4c]
fst dword [ebp - 0x4c]
push eax
fstp dword [ebp - 0x48]
push edi
fld dword [0x4b4458]
fstp dword [ebp - 0x44]
fld dword [0x4b4454]
fstp dword [ebp - 0x40]
call fcn.00433900
mov byte [ebp - 4], 3
mov dword [edi], vtable.CComAppCell.0
call fcn.00424850
jmp 0x426ec0
xor edi, edi
mov dword [ebp - 4], 0xffffffff
mov esi, dword [esi]
push 0
push 1
sub esp, 0x1c
mov dword [edi + 0x118], esi
mov edx, dword [esi + 8]
mov ecx, esp
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
mov word [ecx], ax
mov eax, edx
lea ebx, [eax + 2]
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x2c], ebx
lea esp, [esp]
mov bx, word [eax]
add eax, 2
test bx, bx
jne 0x426f00
sub eax, dword [ebp - 0x2c]
sar eax, 1
push eax
push edx
call fcn.00417c60
mov ecx, dword [edi + 0x10c]
call fcn.00435660
mov ecx, dword [edi + 0x114]
mov edx, dword [ecx]
mov eax, dword [esi + 4]
mov edx, dword [edx + 0x10]
push eax
call edx
mov ecx, dword [edi + 0x108]
push esi
call fcn.0041c320
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + 8]
add esi, 4
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], edi
cmp ecx, eax
jae 0x426fb1
mov edx, dword [esi]
cmp edx, ecx
ja 0x426fb1
mov edi, ecx
mov ecx, dword [esi + 8]
sub edi, edx
sar edi, 2
cmp eax, ecx
jne 0x426fa1
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x427031
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x426fa1
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x426f93
xor ecx, ecx
jmp 0x426f95
add ecx, edx
cmp ecx, eax
jae 0x426f9b
mov ecx, eax
push ecx
call fcn.0040d9f0
mov eax, dword [esi + 4]
test eax, eax
je 0x426ffa
mov edx, dword [esi]
mov ecx, dword [edx + edi*4]
mov dword [eax], ecx
jmp 0x426ffa
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x426ff1
mov edx, dword [esi]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x427031
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x426ff1
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x426fe3
xor ecx, ecx
jmp 0x426fe5
add ecx, edx
cmp ecx, eax
jae 0x426feb
mov ecx, eax
push ecx
call fcn.0040d9f0
mov eax, dword [esi + 4]
test eax, eax
je 0x426ffa
mov dword [eax], edi
add dword [esi + 4], 4
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
add esi, 4
mov dword [ebp - 0x14], esi
cmp esi, dword [edx + 4]
jne 0x426a90
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0x80004005
call fcn.004057f0
push str.vector_T__too_long
call fcn.0047732a
int3