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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x509722
mov eax, dword fs:[0]
push eax
mov eax, 0xbc48
call fcn.004ebbf0
mov eax, dword [0x528af4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [0x5ccfa8]
xor eax, eax
mov ebx, dword [ebp + 8]
mov word [0x595568], ax
mov word [0x596568], ax
mov word [0x597568], ax
mov byte [0x595566], al
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x599064]
cmp eax, dword [ecx + 4]
jle 0x4cfd4f
push 0x599064
call fcn.004ec5e9
add esp, 4
cmp dword [0x599064], 0xffffffff
jne 0x4cfd4f
mov dword [ebp - 4], 0
mov ecx, 0x598748
call fcn.004ca630
push 0x50a230
call fcn.004ec35b
mov dword [ebp - 4], 0xffffffff
push 0x599064
call fcn.004ec5aa
add esp, 8
mov ecx, 0x598748
mov dword [0x59555c], 0x598748
call fcn.0048e9d0
mov ecx, 0x5987a4
call fcn.0048e9d0
mov ecx, 0x598800
call fcn.0048e9d0
mov al, byte [0x53898c]
mov byte [0x599063], al
test ebx, ebx
jne 0x4cfdae
push 0x598748
push 0x4d0730
push dword [0x538900]
push str.FINDFILES
push dword [0x56df20]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x4d070b
push 0x4d12e0
push 0
push 0
push 9
call fcn.004c5f90
push str.HELPSearchResults
call fcn.004c73d0
cmp byte [0x59905f], 0
je 0x4cfdd8
push 1
call fcn.004480f0
test ebx, ebx
je 0x4cfe70
xor ecx, ecx
movzx eax, word [ecx + 0x54e27c]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0x826], ax
test ax, ax
jne 0x4cfde2
push 0x50ba14
mov ecx, 0x598800
mov word [0x59905d], 0x101
mov byte [0x59905c], al
call fcn.0048e7f0
mov ecx, 0x55029c
call fcn.0048ea30
push 0x800
lea eax, [ebp - 0x1824]
mov ecx, 0x55029c
push eax
call fcn.0048e8f0
test al, al
je 0x4cff60
mov edi, edi
lea eax, [ebp - 0x1824]
mov ecx, 0x598748
push eax
call fcn.0048e7f0
push 0x800
lea eax, [ebp - 0x1824]
mov ecx, 0x55029c
push eax
call fcn.0048e8f0
test al, al
jne 0x4cfe40
jmp 0x4cff60
xor eax, eax
mov word [ebp - 0x824], ax
cmp word [0x59885c], ax
je 0x4cff60
cmp byte [0x599060], al
je 0x4cfeb3
lea edi, [ebp - 0x824]
add edi, 0xfffffffe
jmp 0x4cfea0
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x4cfea0
mov eax, dword [0x5135a4]
mov dword [edi], eax
cmp byte [0x599061], 0
je 0x4cfed8
lea edi, [ebp - 0x824]
add edi, 0xfffffffe
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x4cfec5
mov eax, dword [0x5135a8]
mov dword [edi], eax
cmp byte [0x599062], 0
je 0x4cff03
lea edi, [ebp - 0x824]
add edi, 0xfffffffe
lea ebx, [ebx]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x4cfef0
mov eax, dword [0x5135ac]
mov dword [edi], eax
lea edi, [ebp - 0x824]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x4cff10
mov eax, dword [0x510258]
mov edx, 0x59885c
mov dword [edi], eax
mov esi, edx
lea ebx, [ebx]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4cff30
lea edi, [ebp - 0x824]
sub edx, esi
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4cff46
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp byte [0x53898c], 0
je 0x4cff7f
push 0x800
lea eax, [ebp - 0x4824]
mov ecx, 0x55a850
push eax
call fcn.004051a0
cmp byte [0x59905c], 0
mov dword [0x595560], 0
mov byte [0x595565], 0
mov byte [0x595564], 1
je 0x4cffb0
cmp byte [0x599063], 0
jne 0x4cffb0
mov eax, 2
jmp 0x4cffb2
xor eax, eax
test ebx, ebx
jne 0x4cffbb
mov ebx, 0x5987a4
push 3
push 0
push eax
push ebx
lea ecx, [ebp - 0xbc54]
call fcn.0048a9b0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x586c]
call fcn.0040d460
lea eax, [ebp - 0x586c]
push eax
lea ecx, [ebp - 0xbc54]
call fcn.0048b630
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextW]
test eax, eax
jne 0x4d03d7
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
jmp 0x4d0010
mov cl, byte [0x53898e]
test cl, cl
jne 0x4d03dd
call fcn.00445680
mov ecx, dword [0x595560]
test ecx, ecx
je 0x4d004b
movzx eax, byte [0x599063]
push eax
push ecx
push dword [0x53890c]
call fcn.004d36d0
mov dword [0x595560], 0
cmp word [ebp - 0x586c], 0x2e
jne 0x4d0065
cmp word [ebp - 0x586a], 0x5c
lea ecx, [ebp - 0x5868]
je 0x4d006b
lea ecx, [ebp - 0x586c]
lea edx, [ebp - 0x2824]
sub edx, ecx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x4d0073
push 0x50
lea eax, [ebp - 0x2824]
push eax
call fcn.00445730
push eax
push 0x523
call fcn.00488530
push eax
lea eax, [ebp - 0x3824]
push 0x800
push eax
call fcn.004028e0
add esp, 0x10
lea eax, [ebp - 0x3824]
push eax
push 0x9b
push dword [0x53890c]
call ebx
cmp byte [0x59905e], 0
je 0x4d0114
cmp byte [ebp - 0x4860], 0
jne 0x4d0114
mov ecx, 0x598800
call fcn.0048ea30
mov ecx, 0x598800
call fcn.0048e850
mov esi, eax
test esi, esi
je 0x4d0114
push 0
lea eax, [ebp - 0x586c]
push eax
push esi
call fcn.0046c8e0
test al, al
jne 0x4d017e
mov ecx, 0x598800
call fcn.0048e850
mov esi, eax
test esi, esi
jne 0x4d00f1
cmp byte [0x59905d], 0
je 0x4d03bd
cmp byte [ebp - 0x4860], 0
je 0x4d0138
cmp word [ebp - 0x824], 0
jne 0x4d03bd
mov ecx, 0x598748
call fcn.0048ea30
mov ecx, 0x598748
call fcn.0048e850
test eax, eax
je 0x4d03bd
push 4
lea ecx, [ebp - 0x586c]
push ecx
push eax
call fcn.0046c8e0
test al, al
jne 0x4d0576
mov ecx, 0x598748
call fcn.0048e850
test eax, eax
jne 0x4d0154
jmp 0x4d03bd
cmp word [esi], 0x2a
jne 0x4d01b9
cmp word [esi + 2], 0
jne 0x4d01b9
mov al, byte [0x599063]
test al, al
jne 0x4d01be
push 1
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x586c]
mov ecx, 0x55a850
push eax
call fcn.00405550
test al, al
je 0x4d0114
mov al, byte [0x599063]
mov dword [0x539a38], 2
test al, al
je 0x4d01d3
mov byte [0x55ac8c], 1
cmp word [ebp - 0x824], 0
mov ecx, 0x55a850
push 1
setne al
movzx eax, al
push eax
lea eax, [ebp - 0x586c]
push eax
call fcn.004059c0
cmp eax, 2
jne 0x4d020c
call fcn.00446870
test al, al
je 0x4d03d7
jmp 0x4d03bd
cmp eax, 1
jne 0x4d0114
xor eax, eax
mov ecx, 0x55a850
push 1
push eax
push eax
push eax
mov word [ebp - 0x1824], ax
lea eax, [ebp - 0x1824]
push 0x800
push eax
lea eax, [ebp - 0x586c]
push eax
call fcn.00405550
lea eax, [ebp - 0x1824]
push eax
lea eax, [ebp - 0x586c]
push eax
call fcn.00491ab0
test eax, eax
je 0x4d02eb
lea eax, [ebp - 0x1824]
push eax
call edi
cmp eax, 0xffffffff
jne 0x4d03bd
push 0x800
push 0x50ba20
lea eax, [ebp - 0x1824]
push eax
call fcn.00478f50
lea eax, [ebp - 0x1824]
push eax
lea eax, [ebp - 0x586c]
push eax
call fcn.00491ab0
test eax, eax
je 0x4d02ac
lea eax, [ebp - 0x1824]
push eax
call edi
cmp eax, 0xffffffff
jne 0x4d03bd
push 0x800
push 0x50ba18
lea eax, [ebp - 0x1824]
push eax
call fcn.00478f50
lea eax, [ebp - 0x1824]
push eax
lea eax, [ebp - 0x586c]
push eax
call fcn.00491ab0
test eax, eax
je 0x4d02eb
lea eax, [ebp - 0x1824]
push eax
call edi
cmp eax, 0xffffffff
jne 0x4d03bd
cmp word [ebp - 0x824], 0
mov ecx, 0x55a850
jne 0x4d0460
push 1
lea eax, [ebp - 0x7b68]
xor ebx, ebx
push eax
mov dword [ebp - 0x6ad8], ebx
mov dword [ebp - 0x6ad4], ebx
call fcn.004051e0
test al, al
je 0x4d03b7
cmp byte [0x53898e], 0
jne 0x4d03b7
inc ebx
test bl, 0x1f
jne 0x4d033a
call fcn.00445680
mov ecx, 0x598748
call fcn.0048ea30
mov ecx, 0x598748
call fcn.0048e850
test eax, eax
je 0x4d039c
push 4
lea ecx, [ebp - 0x7b68]
push ecx
push eax
call fcn.0046c8e0
test al, al
jne 0x4d0375
mov ecx, 0x598748
call fcn.0048e850
test eax, eax
jne 0x4d0352
jmp 0x4d039c
push 0x50cc30
push dword [ebp - 0x6ad0]
call fcn.00469570
movzx eax, al
push eax
lea eax, [ebp - 0x7b68]
push eax
lea eax, [ebp - 0x586c]
push eax
call fcn.004d56e0
push 1
lea eax, [ebp - 0x7b68]
mov ecx, 0x55a850
push eax
call fcn.004051e0
test al, al
jne 0x4d0322
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea eax, [ebp - 0x586c]
push eax
lea ecx, [ebp - 0xbc54]
call fcn.0048b630
test eax, eax
je 0x4d0010
mov cl, byte [0x53898e]
mov byte [0x595564], 0
test cl, cl
je 0x4d03fb
cmp byte [0x595566], 0
setne al
dec al
and al, cl
mov byte [0x53898e], al
mov ecx, dword [0x595560]
test ecx, ecx
je 0x4d0423
movzx eax, byte [0x599063]
push eax
push ecx
push dword [0x53890c]
call fcn.004d36d0
mov dword [0x595560], 0
push 0x270
mov byte [0x595565], 0
call fcn.00488530
push eax
push 0x9b
push dword [0x53890c]
call ebx
cmp byte [0x53898e], 0
je 0x4d067f
push dword [0x53890c]
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x4d0684
lea eax, [ebp - 0x5a5c]
push eax
call fcn.004051c0
mov ecx, 0x55a850
call fcn.00404f20
and eax, 0x400
xor edx, edx
or eax, edx
je 0x4d049e
push 0x3ac
call fcn.00488530
push eax
push 0x54f29a
call fcn.004d2c60
add esp, 8
jmp 0x4d03bd
push 0
call fcn.004bf7c0
push 0x800
push 0x54f29a
mov ecx, 0x55a850
call fcn.00404e00
mov eax, dword [ebp - 0x591c]
mov ecx, 0x55029c
mov dword [0x54c248], eax
call fcn.0048e9d0
mov ecx, 0x598748
call fcn.0048ea30
mov ecx, 0x598748
call fcn.0048e850
test eax, eax
je 0x4d0509
jmp 0x4d04f0
push eax
mov ecx, 0x55029c
call fcn.0048e7f0
mov ecx, 0x598748
call fcn.0048e850
test eax, eax
jne 0x4d04f0
lea eax, [ebp - 0x824]
mov byte [0x54a169], 1
push eax
push 0x5135b0
push 0x810
push 0x54e27a
mov dword [0x54a148], 0
mov dword [0x54a14c], 0
mov dword [0x54a150], 0
mov dword [0x54a154], 0
call fcn.004028e0
add esp, 0x10
mov byte [0x54e264], 1
mov ecx, 0x55a850
mov dword [0x539a38], 2
call fcn.00406a10
jmp 0x4d03bd
push 0x10000
call fcn.004f2e54
mov esi, eax
add esp, 4
test esi, esi
jne 0x4d0598
mov ecx, 0x56df60
call fcn.00462e40
jmp 0x4d03bd
cmp word [ebp - 0x824], 0
jne 0x4d05d7
lea eax, [ebp - 0x586c]
push eax
push 0
lea eax, [ebp - 0x824]
push eax
push 0
push 0
call fcn.0046b2f0
push 0
push 0
push 0
push 0
push esi
call fcn.0046b2f0
push esi
call fcn.004f252e
add esp, 4
jmp 0x4d03bd
lea ecx, [ebp - 0x6a80]
call fcn.00467980
mov byte [ebp - 4], 2
lea eax, [ebp - 0x586c]
push 4
push eax
lea ecx, [ebp - 0x6a80]
call fcn.00468010
test al, al
jne 0x4d0612
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6a80]
call fcn.004679c0
jmp 0x4d03bd
lea eax, [ebp - 0x586c]
push eax
push 0
lea eax, [ebp - 0x824]
push eax
push 0
push 0
call fcn.0046b2f0
push 0x10000
push esi
lea ecx, [ebp - 0x6a80]
call fcn.00468270
test eax, eax
je 0x4d0662
push 0
push 0
push 0
push eax
push esi
call fcn.0046b2f0
push 0x10000
push esi
lea ecx, [ebp - 0x6a80]
call fcn.00468270
test eax, eax
jne 0x4d0640
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6a80]
call fcn.004679c0
push esi
call fcn.004f252e
add esp, 4
jmp 0x4d03bd
call fcn.004c73f0
cmp word [0x596568], 0
je 0x4d06a9
push 0x596568
mov ecx, 0x55d4d8
call fcn.004408e0
cmp word [0x595568], 0
je 0x4d06ce
jmp 0x4d06bd
cmp word [0x595568], 0
je 0x4d06df
mov ecx, 0x55d4d8
call fcn.0043e4b0
push 1
push 0x595568
mov ecx, 0x55d4d8
call fcn.0043df70
push 0x597568
mov ecx, 0x55d4d8
call fcn.0043fc50
jmp 0x4d06f9
cmp byte [0x53898c], 0
je 0x4d06f9
lea eax, [ebp - 0x4824]
mov ecx, 0x55a850
push eax
call fcn.00406aa0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xbc54]
call fcn.0048aaa0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ebbd8
mov esp, ebp
pop ebp
ret 4