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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x50
mov ebx, dword [ebp + 8]
mov eax, dword [0x5df440]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, 0x1126
push ebx
call fcn.004260a0
add esp, 4
test al, al
jne 0x4268c0
movaps xmm0, xmmword [0x5874e0]
lea edi, [ebp - 0x28]
movups xmmword [edi], xmm0
movsd xmm0, qword [0x5874f0]
movsd qword [edi + 0x10], xmm0
mov word [edi], 0
mov ecx, ebx
mov edx, edi
call fcn.004268de
mov bh, al
mov ecx, edi
call fcn.00426ab0
mov byte [ebp - 0x4d], al
mov ecx, edi
mov edx, edi
call fcn.00426af7
test bh, bh
jne 0x42650e
cmp byte [ebp - 0x4d], 0
jne 0x42650e
mov dword [ebp - 0x58], 0x7b
test al, al
je 0x426884
cmp byte [ebp - 0x4d], 0
jne 0x42664e
movsd xmm0, qword [0x589390]
movsd qword [ebp - 0x3c], xmm0
mov dword [ebp - 0x48], 0x5c002e
mov dword [ebp - 0x4c], 0x5c005c
mov word [ebp - 0x44], 0
mov esi, dword [ebp - 0x18]
cmp dword [ebp - 0x14], 8
jb 0x426545
mov edi, dword [ebp - 0x28]
cmp esi, 3
jbe 0x426569
sub esp, 0x10
mov al, byte [ebp - 0x34]
mov byte [esp + 4], al
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov dword [esp], esi
lea ecx, [ebp - 0x4c]
call fcn.00406ae0
jmp 0x42658a
lea eax, [ebp - 0x44]
lea ecx, [esi + 4]
mov dword [eax + 8], ecx
lea ecx, [esi + esi]
push ecx
push edi
push eax
call fcn.00516970
add esp, 0xc
mov word [ebp + esi*2 - 0x44], 0
lea eax, [ebp - 0x4c]
mov esi, dword [eax]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2c], ecx
movsd xmm0, qword [eax + 4]
movsd qword [ebp - 0x34], xmm0
mov edi, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], 0
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x4265f6
mov ecx, dword [ebp - 0x28]
lea edx, [eax + eax]
add edx, 2
cmp edx, 0x1000
jb 0x4265ec
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
mov dword [ebp - 0x5c], edx
sub ecx, edx
cmp ecx, 0x20
jae 0x4268d9
add eax, eax
add eax, 0x25
mov edx, eax
mov ecx, dword [ebp - 0x5c]
push edx
push ecx
call fcn.00513968
add esp, 8
lea eax, [ebp - 0x24]
mov dword [eax - 4], esi
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 8], ecx
movsd xmm0, qword [ebp - 0x34]
movsd qword [eax], xmm0
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], ebx
mov eax, dword [ebp - 0x38]
cmp eax, 8
jb 0x42664e
mov ecx, dword [ebp - 0x4c]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x426644
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4268d9
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00513968
add esp, 8
xor esi, esi
dec esi
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], 0
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
cmp ebx, esi
cmovae ebx, esi
lea ecx, [ebp - 0x28]
cmp edi, 8
jb 0x426682
mov ecx, dword [ebp - 0x28]
cmp ebx, 7
jbe 0x4266af
cmp ebx, 0x7fffffff
jae 0x4268d4
mov edi, ebx
or edi, 7
cmp edi, 0x7ffffffe
mov dword [ebp - 0x54], ecx
jbe 0x4266cc
mov edi, 0x7ffffffe
mov eax, 0xfffffffe
jmp 0x4266e5
mov dword [ebp - 0x3c], ebx
lea eax, [ebx + ebx]
push eax
push ecx
lea eax, [ebp - 0x4c]
push eax
call fcn.00516970
add esp, 0xc
mov word [ebp + ebx*2 - 0x4c], 0
jmp 0x42671a
cmp edi, 0xb
mov eax, 0xa
cmovb edi, eax
lea eax, [edi + edi]
add eax, 2
cmp edi, 0x7ff
jb 0x4266ed
push eax
call fcn.00447c52
jmp 0x4266f3
push eax
call fcn.00513938
add esp, 4
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], edi
lea ecx, [ebx + ebx]
push ecx
push dword [ebp - 0x54]
push eax
mov edi, eax
call fcn.00516970
add esp, 0xc
mov word [edi + ebx*2], 0
mov dword [ebp - 0x4c], edi
mov edi, dword [ebp - 0x14]
cmp edi, 8
jb 0x426754
mov eax, dword [ebp - 0x28]
lea edx, [edi + edi]
add edx, 2
cmp edx, 0x1000
jb 0x42674a
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x4268d9
add edi, edi
add edi, 0x25
mov edx, edi
mov eax, ecx
push edx
push eax
call fcn.00513968
add esp, 8
movsd xmm0, qword [ebp - 0x3c]
movsd qword [ebp - 0x18], xmm0
movups xmm0, xmmword [ebp - 0x4c]
movups xmmword [ebp - 0x28], xmm0
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
jb 0x426772
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x42678d
bt eax, 0xa
jae 0x426813
jmp 0x42687d
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 2]
cmp ecx, 2
jb 0x426809
cmp eax, 0x7b
je 0x426809
test byte [ebp - 0x5c], 1
sete dl
or dl, byte [ebp - 0x4d]
jne 0x426803
cmp dword [ebp - 0x14], 8
lea edx, [ebp - 0x28]
mov dword [ebp - 0x54], edx
jb 0x4267c0
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x54], edx
mov edi, dword [ebp - 0x18]
test edi, edi
je 0x426803
mov edx, dword [ebp - 0x54]
lea edx, [edx + edi*2]
add edx, 0xfffffffe
cmp word [edx], 0x5c
jne 0x4267da
mov edi, edx
jmp 0x4267f6
add edi, edi
mov ebx, 2
sub ebx, edi
test ebx, ebx
je 0x426803
lea edi, [edx - 2]
add ebx, 2
cmp word [edx - 2], 0x5c
mov edx, edi
jne 0x4267e3
sub edi, dword [ebp - 0x54]
mov ebx, 2
cmp edi, 6
je 0x426809
mov dword [ebp - 0x58], eax
xor ebx, ebx
inc ebx
cmp ecx, 2
jb 0x426813
cmp eax, 0x7b
jne 0x42686b
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
jb 0x42681f
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov cl, 1
mov dword [ebp - 0x5c], ecx
test esi, esi
je 0x42685d
lea ecx, [eax + esi*2]
add ecx, 0xfffffffe
cmp word [ecx], 0x5c
jne 0x42683b
mov esi, ecx
jmp 0x426857
add esi, esi
mov edx, 2
sub edx, esi
test edx, edx
je 0x42685d
lea esi, [ecx - 2]
add edx, 2
cmp word [ecx - 2], 0x5c
mov ecx, esi
jne 0x426844
sub esi, eax
sar esi, 1
jmp 0x426860
xor esi, esi
dec esi
cmp esi, 2
ja 0x426658
jmp 0x426874
test ebx, ebx
je 0x426860
cmp ebx, 2
jne 0x426884
mov dword [ebp - 0x58], 0x1126
jmp 0x426884
mov dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x14]
cmp eax, 8
mov edi, dword [ebp - 0x58]
jb 0x4268c0
mov ecx, dword [ebp - 0x28]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x4268b6
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4268d9
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00513968
add esp, 8
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00513cac
mov eax, edi
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004555a7
call fcn.0051a096