Function at 0x42921c
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 [0x5ce440]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov edi, 0x1126
push ebx
call fcn.00428e30
add esp, 4
test al, al
jne 0x429650
movaps xmm0, xmmword [0x578470]
lea edi, [ebp - 0x28]
movups xmmword [edi], xmm0
movsd xmm0, qword [0x578480]
movsd qword [edi + 0x10], xmm0
mov word [edi], 0
mov ecx, ebx
mov edx, edi
call fcn.0042966e
mov bh, al
mov ecx, edi
call fcn.00429840
mov byte [ebp - 0x4d], al
mov ecx, edi
mov edx, edi
call fcn.00429887
test bh, bh
jne 0x42929e
cmp byte [ebp - 0x4d], 0
jne 0x42929e
mov dword [ebp - 0x58], 0x7b
test al, al
je 0x429614
cmp byte [ebp - 0x4d], 0
jne 0x4293de
movsd xmm0, qword [0x57a380]
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 0x4292d5
mov edi, dword [ebp - 0x28]
cmp esi, 3
jbe 0x4292f9
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 0x42931a
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.00507e70
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 0x429386
mov ecx, dword [ebp - 0x28]
lea edx, [eax + eax]
add edx, 2
cmp edx, 0x1000
jb 0x42937c
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
mov dword [ebp - 0x5c], edx
sub ecx, edx
cmp ecx, 0x20
jae 0x429669
add eax, eax
add eax, 0x25
mov edx, eax
mov ecx, dword [ebp - 0x5c]
push edx
push ecx
call fcn.00504e76
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 0x4293de
mov ecx, dword [ebp - 0x4c]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x4293d4
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x429669
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00504e76
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 0x429412
mov ecx, dword [ebp - 0x28]
cmp ebx, 7
jbe 0x42943f
cmp ebx, 0x7fffffff
jae 0x429664
mov edi, ebx
or edi, 7
cmp edi, 0x7ffffffe
mov dword [ebp - 0x54], ecx
jbe 0x42945c
mov edi, 0x7ffffffe
mov eax, 0xfffffffe
jmp 0x429475
mov dword [ebp - 0x3c], ebx
lea eax, [ebx + ebx]
push eax
push ecx
lea eax, [ebp - 0x4c]
push eax
call fcn.00507e70
add esp, 0xc
mov word [ebp + ebx*2 - 0x4c], 0
jmp 0x4294aa
cmp edi, 0xb
mov eax, 0xa
cmovb edi, eax
lea eax, [edi + edi]
add eax, 2
cmp edi, 0x7ff
jb 0x42947d
push eax
call fcn.0044aa0c
jmp 0x429483
push eax
call fcn.00504e46
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.00507e70
add esp, 0xc
mov word [edi + ebx*2], 0
mov dword [ebp - 0x4c], edi
mov edi, dword [ebp - 0x14]
cmp edi, 8
jb 0x4294e4
mov eax, dword [ebp - 0x28]
lea edx, [edi + edi]
add edx, 2
cmp edx, 0x1000
jb 0x4294da
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x429669
add edi, edi
add edi, 0x25
mov edx, edi
mov eax, ecx
push edx
push eax
call fcn.00504e76
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 0x429502
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x42951d
bt eax, 0xa
jae 0x4295a3
jmp 0x42960d
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 2]
cmp ecx, 2
jb 0x429599
cmp eax, 0x7b
je 0x429599
test byte [ebp - 0x5c], 1
sete dl
or dl, byte [ebp - 0x4d]
jne 0x429593
cmp dword [ebp - 0x14], 8
lea edx, [ebp - 0x28]
mov dword [ebp - 0x54], edx
jb 0x429550
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x54], edx
mov edi, dword [ebp - 0x18]
test edi, edi
je 0x429593
mov edx, dword [ebp - 0x54]
lea edx, [edx + edi*2]
add edx, 0xfffffffe
cmp word [edx], 0x5c
jne 0x42956a
mov edi, edx
jmp 0x429586
add edi, edi
mov ebx, 2
sub ebx, edi
test ebx, ebx
je 0x429593
lea edi, [edx - 2]
add ebx, 2
cmp word [edx - 2], 0x5c
mov edx, edi
jne 0x429573
sub edi, dword [ebp - 0x54]
mov ebx, 2
cmp edi, 6
je 0x429599
mov dword [ebp - 0x58], eax
xor ebx, ebx
inc ebx
cmp ecx, 2
jb 0x4295a3
cmp eax, 0x7b
jne 0x4295fb
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
jb 0x4295af
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov cl, 1
mov dword [ebp - 0x5c], ecx
test esi, esi
je 0x4295ed
lea ecx, [eax + esi*2]
add ecx, 0xfffffffe
cmp word [ecx], 0x5c
jne 0x4295cb
mov esi, ecx
jmp 0x4295e7
add esi, esi
mov edx, 2
sub edx, esi
test edx, edx
je 0x4295ed
lea esi, [ecx - 2]
add edx, 2
cmp word [ecx - 2], 0x5c
mov ecx, esi
jne 0x4295d4
sub esi, eax
sar esi, 1
jmp 0x4295f0
xor esi, esi
dec esi
cmp esi, 2
ja 0x4293e8
jmp 0x429604
test ebx, ebx
je 0x4295f0
cmp ebx, 2
jne 0x429614
mov dword [ebp - 0x58], 0x1126
jmp 0x429614
mov dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x14]
cmp eax, 8
mov edi, dword [ebp - 0x58]
jb 0x429650
mov ecx, dword [ebp - 0x28]
lea esi, [eax + eax]
add esi, 2
cmp esi, 0x1000
jb 0x429646
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x429669
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00504e76
add esp, 8
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005051b5
mov eax, edi
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004568b4
call fcn.0050b58a