Function at 0x4269e0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffcfc
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x300], ecx
mov dword [ebp - 0x304], ecx
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x2e8], ecx
mov dword [ebp - 0x2f0], ecx
mov dword [ebp - 0x2f4], ecx
mov dword [ebp - 0x2ec], ecx
mov edi, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x427428
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.0042c0cc
mov esi, eax
test esi, esi
je 0x426a5d
mov dword [ebp - 0x44], esi
mov eax, dword [ebp - 0x44]
call fcn.00406ea8
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x40], eax
jmp 0x426a62
xor eax, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x104
jl 0x426a86
mov eax, dword [0x459938]
mov dword [eax], 0x233f
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x42740a
mov eax, dword [0x4596c0]
cmp byte [eax], 0
je 0x426ab1
mov edx, 0x42743c
mov ecx, 4
mov eax, esi
call fcn.0041529c
test eax, eax
jne 0x426ab1
mov eax, 0x427448
call fcn.00422a20
mov esi, eax
lea eax, [ebp - 0x2e2]
mov ecx, 0x104
xor edx, edx
call fcn.0041c43c
lea eax, [ebp - 0x2e2]
mov edx, esi
call fcn.0041c328
lea eax, [ebp - 0x2e2]
mov dx, 0x2f
call fcn.0042524c
mov word [ebp - 0x1a], 0x5c
mov word [ebp - 0x18], 0x3a
mov word [ebp - 0x16], 0
lea edx, [ebp - 0x1a]
lea eax, [ebp - 0x2e2]
call fcn.0041c350
cmp eax, dword [ebp - 0x24]
setl byte [ebp - 0x2d]
mov word [ebp - 0x18], 0
cmp byte [ebp - 0x2d], 0
je 0x426b67
lea eax, [ebp - 0x2e2]
mov dx, 0x5c
call fcn.0041c2d0
mov esi, eax
test esi, esi
jne 0x426b62
xor eax, eax
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x2e2]
test eax, eax
je 0x426b5f
lea eax, [ebp - 0x2e2]
mov dword [ebp - 0x50], eax
jmp 0x426b56
mov eax, dword [ebp - 0x50]
cmp word [eax], 0x3a
jne 0x426b52
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x4c], eax
jmp 0x426b5f
add dword [ebp - 0x50], 2
mov eax, dword [ebp - 0x50]
cmp word [eax], 0
jne 0x426b41
mov esi, dword [ebp - 0x4c]
add esi, 2
jmp 0x426b6d
lea esi, [ebp - 0x2e2]
test esi, esi
je 0x426b91
mov edx, 0x427458
mov eax, esi
call fcn.004151c8
test eax, eax
je 0x426b91
mov edx, 0x42745c
mov eax, esi
call fcn.004151c8
test eax, eax
jne 0x426bd1
mov eax, dword [0x4596c0]
cmp byte [eax], 0
je 0x426bbc
push edi
call sub.kernel32.dll_GetFileAttributesW
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xffffffff
je 0x426bbc
test byte [ebp - 0x3c], 0x10
je 0x426bbc
mov dword [ebp - 8], 5
jmp 0x42740a
mov eax, dword [0x459938]
mov dword [eax], 0x2331
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x42740a
mov eax, 0x410
call fcn.0041cad4
mov ebx, eax
test ebx, ebx
jne 0x426bf8
mov eax, dword [0x459938]
mov dword [eax], 8
mov dword [ebp - 8], 3
jmp 0x42740a
lea edx, [ebp - 0x2e2]
mov eax, edi
call fcn.0041c328
lea eax, [ebp - 0x2e2]
test eax, eax
je 0x426c2b
lea eax, [ebp - 0x2e2]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
call fcn.00406ea8
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x54], eax
jmp 0x426c30
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x60], esi
mov eax, dword [ebp - 0x60]
call fcn.00406ea8
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x54]
cdq
push edx
push eax
mov eax, dword [ebp - 0x64]
xor edx, edx
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
mov word [edi + eax*2], 0
mov edx, 0x427458
mov eax, edi
call fcn.0041c33c
mov ecx, 0x208
mov edx, edi
mov eax, ebx
call fcn.00424584
test eax, eax
je 0x426cb6
mov eax, dword [0x4596c0]
cmp byte [eax], 0
je 0x426ca1
push edi
call sub.kernel32.dll_GetFileAttributesW
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xffffffff
je 0x426ca1
test byte [ebp - 0x3c], 0x10
je 0x426ca1
mov dword [ebp - 8], 5
jmp 0x42740a
mov eax, dword [0x459938]
mov dword [eax], 0x2331
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x42740a
mov eax, ebx
call fcn.0041c44c
cmp word [eax], 0x5c
je 0x426ccf
mov edx, 0x427464
mov eax, ebx
call fcn.0041c33c
mov edx, esi
mov eax, ebx
call fcn.0041c33c
test ebx, ebx
je 0x426cf2
mov dword [ebp - 0x6c], ebx
mov eax, dword [ebp - 0x6c]
call fcn.00406ea8
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x68], eax
jmp 0x426cf7
xor eax, eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
inc eax
mov edx, eax
add edx, edx
mov eax, ebx
call fcn.0041cb80
mov ebx, eax
mov dx, 0x5c
mov eax, ebx
call fcn.0041c2d0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov word [eax], 0
add dword [ebp - 0x10], 2
movzx eax, byte [ebp - 0x2d]
xor al, 1
test al, al
je 0x426d39
mov eax, 0x427468
call fcn.00422a20
mov dword [ebp - 0x14], eax
test ebx, ebx
je 0x426d53
mov dword [ebp - 0x78], ebx
mov eax, dword [ebp - 0x78]
call fcn.00406ea8
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x74], eax
jmp 0x426d58
xor eax, eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x14], 0
je 0x426d83
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
call fcn.00406ea8
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x80], eax
jmp 0x426d88
xor eax, eax
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x74]
add eax, 2
add eax, dword [ebp - 0x80]
add eax, 2
add eax, eax
call fcn.0041cad4
mov esi, eax
test esi, esi
jne 0x426db8
mov eax, dword [0x459938]
mov dword [eax], 8
mov dword [ebp - 8], 3
jmp 0x42740a
mov edx, 0x427474
mov eax, esi
call fcn.0041c33c
mov edx, ebx
mov eax, esi
call fcn.0041c33c
mov edx, 0x427474
mov eax, esi
call fcn.0041c33c
movzx eax, byte [ebp - 0x2d]
xor al, 1
test al, al
je 0x426df9
mov edx, 0x427478
mov eax, esi
call fcn.0041c33c
mov edx, dword [ebp - 0x14]
mov eax, esi
call fcn.0041c33c
mov eax, esi
call fcn.00427984
mov edx, 0x427478
mov ecx, 1
mov eax, esi
call fcn.004254e0
mov esi, eax
cmp dword [ebp - 0x10], 0
je 0x426e41
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x90]
call fcn.00406ea8
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x8c], eax
jmp 0x426e49
xor eax, eax
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [0x4596c0]
cmp byte [eax], 0
je 0x426e6c
mov eax, 0x42747c
call fcn.00422a20
mov dword [ebp - 0xc], eax
jmp 0x426e74
mov eax, 0x42748c
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
call fcn.00427984
mov edx, 0x427478
mov ecx, 1
mov eax, dword [ebp - 0xc]
call fcn.004254e0
mov dword [ebp - 0xc], eax
test esi, esi
je 0x426eba
mov dword [ebp - 0x9c], esi
mov eax, dword [ebp - 0x9c]
call fcn.00406ea8
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x98], eax
jmp 0x426ec2
xor eax, eax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x28], eax
mov eax, esi
call fcn.0042c0cc
mov edx, eax
mov eax, esi
call fcn.0041c328
test esi, esi
je 0x426f04
mov dword [ebp - 0xa8], esi
mov eax, dword [ebp - 0xa8]
call fcn.00406ea8
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xa4], eax
jmp 0x426f0c
xor eax, eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x38], eax
mov eax, esi
call fcn.0041c44c
cmp word [eax], 0x5c
je 0x426f2e
mov byte [ebp - 0x2e], 1
inc dword [ebp - 0x28]
inc dword [ebp - 0x38]
jmp 0x426f32
mov byte [ebp - 0x2e], 0
cmp word [esi], 0
je 0x426f7e
mov eax, dword [ebp - 0x38]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x24]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
cmp edx, 0
jne 0x426f5b
cmp eax, 0x104
jbe 0x426f7e
jmp 0x426f5d
jle 0x426f7e
cmp byte [ebp - 0x2e], 0
je 0x426f6f
mov eax, dword [ebp - 0x28]
add eax, eax
add esi, eax
jmp 0x426e91
mov eax, dword [ebp - 0x28]
add eax, eax
add esi, eax
add esi, 2
jmp 0x426e91
cmp word [esi], 0
jne 0x426fc0
cmp byte [ebp - 0x2d], 0
je 0x426fab
mov eax, dword [0x459938]
cmp dword [eax], 0
je 0x426f9e
mov eax, dword [0x459938]
cmp dword [eax], 2
jne 0x426fb6
mov eax, dword [0x459938]
mov dword [eax], 0x2331
jmp 0x426fb6
mov eax, dword [0x459938]
mov dword [eax], 0x2331
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x42740a
mov edx, esi
mov eax, edi
call fcn.0041c328
cmp byte [ebp - 0x2e], 0
je 0x426fd8
mov eax, dword [ebp - 0x28]
add eax, eax
add esi, eax
jmp 0x426fe2
mov eax, dword [ebp - 0x28]
add eax, eax
add esi, eax
add esi, 2
cmp byte [ebp - 0x2e], 0
je 0x426ff2
lea edx, [ebp - 0x1a]
mov eax, edi
call fcn.0041c33c
mov edx, dword [ebp - 0x10]
mov eax, edi
call fcn.0041c33c
mov eax, edi
call fcn.0042c0cc
mov edx, eax
mov eax, edi
call fcn.0041c328
test edi, edi
je 0x427035
mov dword [ebp - 0xb4], edi
mov eax, dword [ebp - 0xb4]
call fcn.00406ea8
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xb0], eax
jmp 0x42703d
xor eax, eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x2c], eax
lea eax, [edi + 2]
cmp word [eax], 0x3a
jne 0x42705f
movzx eax, word [edi]
call fcn.0042bfc8
test al, al
je 0x426e91
mov dx, 0x2e
mov eax, dword [ebp - 0x10]
call fcn.0041c2d0
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x427170
mov eax, dword [ebp - 0x34]
cmp word [eax + 2], 0
je 0x427170
mov dl, 1
mov eax, edi
call fcn.00425150
test al, al
jne 0x4270ab
cmp byte [ebp - 0x2d], 0
je 0x427158
mov eax, dword [0x459938]
cmp dword [eax], 5
jne 0x427158
lea eax, [ebp - 0x2ec]
call fcn.0041c1e4
mov eax, dword [ebp - 0x2ec]
lea edx, [ebp - 0x2e8]
call fcn.00414fb8
mov eax, dword [ebp - 0x2e8]
call fcn.00407508
push eax
lea eax, [ebp - 0x2f4]
mov edx, edi
call fcn.00407570
mov eax, dword [ebp - 0x2f4]
lea edx, [ebp - 0x2f0]
call fcn.00414fb8
mov eax, dword [ebp - 0x2f0]
call fcn.00407508
pop edx
call fcn.004151f4
test eax, eax
jne 0x427112
mov dword [ebp - 8], 2
jmp 0x42740a
mov edx, 0x4274b4
mov eax, dword [ebp - 0x34]
call fcn.004151f4
test eax, eax
jne 0x42712f
mov dword [ebp - 8], 2
jmp 0x42740a
mov edx, 0x4274c0
mov eax, dword [ebp - 0x34]
call fcn.004151f4
test eax, eax
jne 0x42714c
mov dword [ebp - 8], 2
jmp 0x42740a
mov dword [ebp - 8], 1
jmp 0x42740a
mov eax, dword [0x459938]
cmp dword [eax], 2
je 0x427170
mov eax, dword [0x459938]
cmp dword [eax], 0
jne 0x426e91
xor eax, eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0x10], 0
je 0x4271b6
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc0], eax
jmp 0x4271aa
mov eax, dword [ebp - 0xc0]
cmp word [eax], 0x2a
jne 0x4271a3
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xbc], eax
jmp 0x4271b6
add dword [ebp - 0xc0], 2
mov eax, dword [ebp - 0xc0]
cmp word [eax], 0
jne 0x427189
cmp dword [ebp - 0xbc], 0
je 0x4271c8
mov byte [ebp - 0xc9], 1
jmp 0x42721c
xor eax, eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0x10], 0
je 0x42720e
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc8], eax
jmp 0x427202
mov eax, dword [ebp - 0xc8]
cmp word [eax], 0x3f
jne 0x4271fb
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], eax
jmp 0x42720e
add dword [ebp - 0xc8], 2
mov eax, dword [ebp - 0xc8]
cmp word [eax], 0
jne 0x4271e1
cmp dword [ebp - 0xc4], 0
setne byte [ebp - 0xc9]
cmp byte [ebp - 0xc9], 0
je 0x42723a
mov eax, dword [0x459938]
mov dword [eax], 0x2331
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x42740a
mov ebx, dword [ebp - 0xc]
push 0
mov ecx, 0x4274cc
mov edx, dword [ebp - 0x2c]
mov eax, edi
call fcn.004274d4
test eax, eax
je 0x4273ad
jmp 0x4273a3
test ebx, ebx
je 0x427284
mov dword [ebp - 0xd4], ebx
mov eax, dword [ebp - 0xd4]
call fcn.00406ea8
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], eax
jmp 0x42728c
xor eax, eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x24]
cdq
push edx
push eax
mov eax, dword [ebp - 0x38]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, dword [ebp - 0xd0]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
cmp edx, 0
jne 0x4272c6
cmp eax, 0x104
ja 0x42739a
jmp 0x4272cc
jg 0x42739a
push 1
mov ecx, ebx
mov edx, dword [ebp - 0x2c]
mov eax, edi
call fcn.004274d4
test eax, eax
je 0x427381
mov edx, 0x4274c0
mov eax, ebx
call fcn.004151f4
test eax, eax
je 0x427302
mov edx, 0x4274b4
mov eax, ebx
call fcn.004151f4
test eax, eax
jne 0x42730e
mov dword [ebp - 8], 2
jmp 0x42740a
lea eax, [ebp - 0x2fc]
call fcn.0041c1e4
mov eax, dword [ebp - 0x2fc]
lea edx, [ebp - 0x2f8]
call fcn.00414fb8
mov eax, dword [ebp - 0x2f8]
call fcn.00407508
push eax
lea eax, [ebp - 0x304]
mov edx, edi
call fcn.00407570
mov eax, dword [ebp - 0x304]
lea edx, [ebp - 0x300]
call fcn.00414fb8
mov eax, dword [ebp - 0x300]
call fcn.00407508
pop edx
call fcn.004151f4
test eax, eax
jne 0x427375
mov dword [ebp - 8], 2
jmp 0x42740a
mov dword [ebp - 8], 1
jmp 0x42740a
mov eax, dword [0x459938]
cmp dword [eax], 2
je 0x42739a
mov eax, dword [0x459938]
cmp dword [eax], 0
jne 0x4273ad
jmp 0x42739a
add ebx, 2
cmp word [ebx], 0
jne 0x427397
add ebx, 2
cmp word [ebx], 0
jne 0x42725b
mov eax, dword [0x459938]
cmp dword [eax], 0
je 0x4273c5
mov eax, dword [0x459938]
cmp dword [eax], 2
jne 0x426e91
push 1
xor ecx, ecx
mov edx, dword [ebp - 0x2c]
mov eax, edi
call fcn.004274d4
test eax, eax
je 0x426e91
lea eax, [ebp - 0x20]
push eax
push edi
call sub.kernel32.dll_GetBinaryTypeW
test eax, eax
je 0x426e91
cmp dword [ebp - 0x20], 4
jne 0x426e91
mov dword [ebp - 8], 1
jmp 0x42740a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x42742f
lea eax, [ebp - 0x304]
mov edx, 8
call fcn.00406a1c
ret