Function at 0x42977c
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 [0x5cc440]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, 0x1126
push ebx
call fcn.00429390
add esp, 4
test al, al
jne 0x429bb0
movaps xmm0, xmmword [0x574b00]
lea edi, [ebp - 0x28]
movups xmmword [edi], xmm0
movsd xmm0, qword [0x574b10]
movsd qword [edi + 0x10], xmm0
mov word [edi], 0
mov ecx, ebx
mov edx, edi
call fcn.00429bce
mov bh, al
mov ecx, edi
call fcn.00429da0
mov byte [ebp - 0x4d], al
mov ecx, edi
mov edx, edi
call fcn.00429de7
test bh, bh
jne 0x4297fe
cmp byte [ebp - 0x4d], 0
jne 0x4297fe
mov dword [ebp - 0x58], 0x7b
test al, al
je 0x429b74
cmp byte [ebp - 0x4d], 0
jne 0x42993e
movsd xmm0, qword [0x576a10]
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 0x429835
mov edi, dword [ebp - 0x28]
cmp esi, 3
jbe 0x429859
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 0x42987a
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.00504b50
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 0x4298e6
mov ecx, dword [ebp - 0x28]
lea edx, [eax + eax]
add edx, 2
cmp edx, 0x1000
jb 0x4298dc
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
mov dword [ebp - 0x5c], edx
sub ecx, edx
cmp ecx, 0x20
jae 0x429bc9
add eax, eax
add eax, 0x25
mov edx, eax
mov ecx, dword [ebp - 0x5c]
push edx
push ecx
call fcn.00503276
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 0x42993e
mov ecx, dword [ebp - 0x4c]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x429934
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x429bc9
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00503276
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 0x429972
mov ecx, dword [ebp - 0x28]
cmp ebx, 7
jbe 0x42999f
cmp ebx, 0x7fffffff
jae 0x429bc4
mov edi, ebx
or edi, 7
cmp edi, 0x7ffffffe
mov dword [ebp - 0x54], ecx
jbe 0x4299bc
mov edi, 0x7ffffffe
mov eax, 0xfffffffe
jmp 0x4299d5
mov dword [ebp - 0x3c], ebx
lea eax, [ebx + ebx]
push eax
push ecx
lea eax, [ebp - 0x4c]
push eax
call fcn.00504b50
add esp, 0xc
mov word [ebp + ebx*2 - 0x4c], 0
jmp 0x429a0a
cmp edi, 0xb
mov eax, 0xa
cmovb edi, eax
lea eax, [edi + edi]
add eax, 2
cmp edi, 0x7ff
jb 0x4299dd
push eax
call fcn.0044a992
jmp 0x4299e3
push eax
call fcn.00503246
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.00504b50
add esp, 0xc
mov word [edi + ebx*2], 0
mov dword [ebp - 0x4c], edi
mov edi, dword [ebp - 0x14]
cmp edi, 8
jb 0x429a44
mov eax, dword [ebp - 0x28]
lea edx, [edi + edi]
add edx, 2
cmp edx, 0x1000
jb 0x429a3a
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x429bc9
add edi, edi
add edi, 0x25
mov edx, edi
mov eax, ecx
push edx
push eax
call fcn.00503276
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 0x429a62
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x429a7d
bt eax, 0xa
jae 0x429b03
jmp 0x429b6d
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 2]
cmp ecx, 2
jb 0x429af9
cmp eax, 0x7b
je 0x429af9
test byte [ebp - 0x5c], 1
sete dl
or dl, byte [ebp - 0x4d]
jne 0x429af3
cmp dword [ebp - 0x14], 8
lea edx, [ebp - 0x28]
mov dword [ebp - 0x54], edx
jb 0x429ab0
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x54], edx
mov edi, dword [ebp - 0x18]
test edi, edi
je 0x429af3
mov edx, dword [ebp - 0x54]
lea edx, [edx + edi*2]
add edx, 0xfffffffe
cmp word [edx], 0x5c
jne 0x429aca
mov edi, edx
jmp 0x429ae6
add edi, edi
mov ebx, 2
sub ebx, edi
test ebx, ebx
je 0x429af3
lea edi, [edx - 2]
add ebx, 2
cmp word [edx - 2], 0x5c
mov edx, edi
jne 0x429ad3
sub edi, dword [ebp - 0x54]
mov ebx, 2
cmp edi, 6
je 0x429af9
mov dword [ebp - 0x58], eax
xor ebx, ebx
inc ebx
cmp ecx, 2
jb 0x429b03
cmp eax, 0x7b
jne 0x429b5b
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
jb 0x429b0f
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov cl, 1
mov dword [ebp - 0x5c], ecx
test esi, esi
je 0x429b4d
lea ecx, [eax + esi*2]
add ecx, 0xfffffffe
cmp word [ecx], 0x5c
jne 0x429b2b
mov esi, ecx
jmp 0x429b47
add esi, esi
mov edx, 2
sub edx, esi
test edx, edx
je 0x429b4d
lea esi, [ecx - 2]
add edx, 2
cmp word [ecx - 2], 0x5c
mov ecx, esi
jne 0x429b34
sub esi, eax
sar esi, 1
jmp 0x429b50
xor esi, esi
dec esi
cmp esi, 2
ja 0x429948
jmp 0x429b64
test ebx, ebx
je 0x429b50
cmp ebx, 2
jne 0x429b74
mov dword [ebp - 0x58], 0x1126
jmp 0x429b74
mov dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x14]
cmp eax, 8
mov edi, dword [ebp - 0x58]
jb 0x429bb0
mov ecx, dword [ebp - 0x28]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x429ba6
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x429bc9
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00503276
add esp, 8
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005035b5
mov eax, edi
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0044d811
call fcn.005099a6