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

Disassembly:
push 0xffffffffffffffff
push 0x4d6c94
mov eax, dword fs:[0]
push eax
mov eax, 0x1ba5c
call fcn.004c1c40
mov eax, dword [0x4ec0b4]
xor eax, esp
mov dword [esp + 0x1ba58], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ec0b4]
xor eax, esp
push eax
lea eax, [esp + 0x1ba70]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x1ba80]
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebp, ebp
test byte [0x57ab54], 1
mov word [0x5755a8], ax
mov word [0x5745a8], cx
mov word [0x5735a8], dx
mov byte [0x573414], al
jne 0x4ae9a0
or dword [0x57ab54], 1
mov dword [esp + 0x1ba78], ebp
mov ecx, 0x57a238
call fcn.004a8860
push 0x4d7790
call fcn.004c4c16
add esp, 4
mov dword [esp + 0x1ba78], 0xffffffff
mov ecx, 0x57a238
mov dword [0x5765ac], 0x57a238
call fcn.00480170
mov ecx, 0x57a294
call fcn.00480170
mov ecx, 0x57a2f0
call fcn.00480170
mov al, byte [0x533b59]
mov byte [0x57ab52], al
cmp ebx, ebp
jne 0x4aea01
mov ecx, dword [0x535cac]
mov edx, dword [0x51ff0c]
push 0x57a238
push 0x4a8970
push ecx
push str.FINDFILES
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x4af378
push 0x4ab660
push ebp
push ebp
push 7
call fcn.004a30d0
push 0x4e03ec
call fcn.004a0f80
xor eax, eax
cmp ebx, ebp
je 0x4aead2
jmp 0x4aea30
movzx ecx, word [eax + 0x55045c]
mov word [esp + eax + 0x7258], cx
add eax, 2
cmp cx, bp
jne 0x4aea30
push 0x4d8800
mov ecx, 0x57a2f0
mov byte [0x57ab4e], 1
mov byte [0x57ab4d], 1
mov byte [0x57ab4c], 0
call fcn.004801a0
mov ecx, 0x55247c
call fcn.00480120
push 0x800
lea eax, [esp + 0x7a70]
push eax
mov ecx, 0x55247c
call fcn.004803b0
test al, al
je 0x4aebdc
jmp 0x4aeaa0
lea ecx, [esp + 0x7a6c]
push ecx
mov ecx, 0x57a238
call fcn.004801a0
push 0x800
lea edx, [esp + 0x7a70]
push edx
mov ecx, 0x55247c
call fcn.004803b0
test al, al
jne 0x4aeaa0
jmp 0x4aebdc
mov word [esp + 0x7258], ax
cmp word [0x57a34c], bp
je 0x4aebdc
cmp byte [0x57ab4f], 0
je 0x4aeb14
lea edi, [esp + 0x7258]
add edi, 0xfffffffe
lea ebx, [ebx]
mov ax, word [edi + 2]
add edi, 2
cmp ax, bp
jne 0x4aeb00
mov ecx, dword [0x4e03e8]
mov dword [edi], ecx
cmp byte [0x57ab50], 0
je 0x4aeb44
lea edi, [esp + 0x7258]
add edi, 0xfffffffe
jmp 0x4aeb30
mov ax, word [edi + 2]
add edi, 2
cmp ax, bp
jne 0x4aeb30
mov edx, dword [0x4e03e4]
mov dword [edi], edx
cmp byte [0x57ab51], 0
je 0x4aeb73
lea edi, [esp + 0x7258]
add edi, 0xfffffffe
jmp 0x4aeb60
mov ax, word [edi + 2]
add edi, 2
cmp ax, bp
jne 0x4aeb60
mov eax, dword [0x4e03e0]
mov dword [edi], eax
lea edi, [esp + 0x7258]
add edi, 0xfffffffe
lea ecx, [ecx]
mov ax, word [edi + 2]
add edi, 2
cmp ax, bp
jne 0x4aeb80
mov ecx, dword [str.htc]
mov eax, 0x57a34c
mov dword [edi], ecx
mov edx, eax
jmp 0x4aeba0
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x4aeba0
lea edi, [esp + 0x7258]
sub eax, edx
add edi, 0xfffffffe
jmp 0x4aebc0
mov cx, word [edi + 2]
add edi, 2
cmp cx, bp
jne 0x4aebc0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp byte [0x533b59], 0
je 0x4aebfc
push 0x800
lea edx, [esp + 0x8a70]
push edx
mov ecx, 0x542618
call fcn.004153a0
cmp byte [0x57ab4c], 0
mov dword [0x5765a8], ebp
mov byte [0x573415], 0
mov byte [0x573416], 1
je 0x4aec29
cmp byte [0x57ab52], 0
jne 0x4aec29
mov ecx, 2
jmp 0x4aec2b
xor ecx, ecx
mov eax, 0x57a294
cmp ebx, ebp
je 0x4aec36
mov eax, ebx
push 3
push ebp
push ecx
push eax
lea ecx, [esp + 0x3240]
call fcn.004786e0
mov dword [esp + 0x1ba78], 1
lea ecx, [esp + 0x1184]
call fcn.00482f00
lea ecx, [esp + 0x118c]
call fcn.00482f00
lea ecx, [esp + 0x1194]
call fcn.00482f00
lea eax, [esp + 0x174]
push eax
lea ecx, [esp + 0x3234]
call fcn.00478f80
test eax, eax
jne 0x4af24e
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
jmp 0x4aeca0
cmp byte [0x535c28], 0
jne 0x4af24e
call fcn.00453df0
mov eax, dword [0x5765a8]
cmp eax, ebp
je 0x4aecd6
movzx ecx, byte [0x57ab52]
mov edx, dword [0x533b54]
push ecx
push eax
push edx
call fcn.004ab040
mov dword [0x5765a8], ebp
cmp word [esp + 0x174], 0x2e
jne 0x4aecf3
cmp word [esp + 0x176], 0x5c
lea ecx, [esp + 0x178]
je 0x4aecfa
lea ecx, [esp + 0x174]
lea edx, [esp + 0x9a6c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4aed01
push 0x50
lea eax, [esp + 0x9a70]
push eax
call fcn.00453ea0
push eax
push 0x523
call fcn.00475cc0
push eax
lea ecx, [esp + 0xaa74]
push ecx
mov edx, 0x800
call fcn.00407810
mov eax, dword [0x533b54]
add esp, 0xc
lea edx, [esp + 0xaa6c]
push edx
push 0x9b
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x57ab4e], 0
je 0x4aedb3
cmp byte [esp + 0x1180], 0
jne 0x4aedb3
mov ecx, 0x57a2f0
call fcn.00480120
mov ecx, 0x57a2f0
call fcn.00480480
mov esi, eax
cmp esi, ebp
je 0x4aedb3
jmp 0x4aed90
push ebp
lea ecx, [esp + 0x178]
push ecx
push esi
call fcn.004534e0
test al, al
jne 0x4aee1f
mov ecx, 0x57a2f0
call fcn.00480480
mov esi, eax
cmp esi, ebp
jne 0x4aed90
cmp byte [0x57ab4d], 0
je 0x4af232
cmp byte [esp + 0x1180], 0
je 0x4aedd8
cmp word [esp + 0x7258], bp
jne 0x4af232
mov ecx, 0x57a238
call fcn.00480120
mov ecx, 0x57a238
call fcn.00480480
cmp eax, ebp
je 0x4af232
push 4
lea ecx, [esp + 0x178]
push ecx
push eax
call fcn.004534e0
test al, al
jne 0x4af153
mov ecx, 0x57a238
call fcn.00480480
cmp eax, ebp
jne 0x4aedf4
jmp 0x4af232
cmp word [esi], 0x2a
jne 0x4aee54
cmp word [esi + 2], bp
jne 0x4aee54
cmp byte [0x57ab52], 0
jne 0x4aee54
push 1
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0x188]
push edx
mov ecx, 0x542618
call fcn.004194b0
test al, al
je 0x4aedb3
cmp byte [0x57ab52], 0
mov esi, 2
mov dword [0x534bfc], esi
je 0x4aee6f
mov byte [0x542b1c], 1
cmp word [esp + 0x7258], bp
push 1
setne al
movzx ecx, al
push ecx
lea edx, [esp + 0x17c]
push edx
mov ecx, 0x542618
call fcn.00418a80
cmp eax, esi
jne 0x4aeea8
call fcn.0045e2d0
test al, al
je 0x4af24e
jmp 0x4af232
cmp eax, 1
jne 0x4aedb3
push 1
push ebp
push ebp
push ebp
lea ecx, [esp + 0x7a7c]
push ecx
lea edx, [esp + 0x188]
xor eax, eax
push edx
mov ecx, 0x542618
mov word [esp + 0x7a84], ax
call fcn.004194b0
lea eax, [esp + 0x7a6c]
push eax
lea ecx, [esp + 0x178]
push ecx
call fcn.00487680
test eax, eax
je 0x4aef86
lea edx, [esp + 0x7a6c]
push edx
call edi
cmp eax, 0xffffffff
jne 0x4af232
push 0x4d881c
lea eax, [esp + 0x7a70]
push eax
call fcn.00462140
lea ecx, [esp + 0x7a6c]
push ecx
lea edx, [esp + 0x178]
push edx
call fcn.00487680
test eax, eax
je 0x4aef48
lea eax, [esp + 0x7a6c]
push eax
call edi
cmp eax, 0xffffffff
jne 0x4af232
push 0x4d8824
lea ecx, [esp + 0x7a70]
push ecx
call fcn.00462140
lea edx, [esp + 0x7a6c]
push edx
lea eax, [esp + 0x178]
push eax
call fcn.00487680
test eax, eax
je 0x4aef86
lea ecx, [esp + 0x7a6c]
push ecx
call edi
cmp eax, 0xffffffff
jne 0x4af232
cmp word [esp + 0x7258], bp
jne 0x4af052
push 1
lea edx, [esp + 0x21e4]
push edx
mov ecx, 0x542618
xor ebx, ebx
call fcn.004150c0
test al, al
je 0x4af232
cmp byte [0x535c28], 0
jne 0x4af232
inc ebx
test bl, 0x1f
jne 0x4aefca
call fcn.00453df0
mov ecx, 0x57a238
call fcn.00480120
mov ecx, 0x57a238
call fcn.00480480
cmp eax, ebp
je 0x4af031
push 4
lea ecx, [esp + 0x21e4]
push ecx
push eax
call fcn.004534e0
test al, al
jne 0x4af006
mov ecx, 0x57a238
call fcn.00480480
cmp eax, ebp
jne 0x4aefe2
jmp 0x4af031
mov edx, dword [esp + 0x31f0]
push 0x4da47c
push edx
call fcn.0043cc00
movzx eax, al
push eax
lea ecx, [esp + 0x21e8]
push ecx
lea edx, [esp + 0x180]
push edx
call fcn.004a6110
push 1
lea eax, [esp + 0x21e4]
push eax
mov ecx, 0x542618
call fcn.004150c0
test al, al
jne 0x4aefb2
jmp 0x4af232
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x542618
call fcn.004153f0
mov ecx, 0x542618
call fcn.00414480
and eax, 0x400
and edx, ebp
or eax, edx
je 0x4af093
push 0x3ac
call fcn.00475cc0
push eax
push 0x55147a
call fcn.004adf30
add esp, 8
jmp 0x4af232
push ebp
call fcn.0049ba40
push 0x800
push 0x55147a
mov ecx, 0x542618
call fcn.004153c0
mov edx, dword [esp + 0x94]
mov ecx, 0x55247c
mov dword [0x54e418], edx
call fcn.00480170
mov ecx, 0x57a238
call fcn.00480120
mov ecx, 0x57a238
call fcn.00480480
cmp eax, ebp
je 0x4af0f9
lea esp, [esp]
push eax
mov ecx, 0x55247c
call fcn.004801a0
mov ecx, 0x57a238
call fcn.00480480
cmp eax, ebp
jne 0x4af0e0
lea eax, [esp + 0x7258]
push eax
push 0x4e03d4
push 0x55045a
mov edx, 0x810
mov byte [0x54c339], 1
mov dword [0x54c318], ebp
mov dword [0x54c31c], ebp
mov dword [0x54c320], ebp
mov dword [0x54c324], ebp
call fcn.00407810
add esp, 0xc
mov ecx, 0x542618
mov byte [0x550434], 1
mov dword [0x534bfc], esi
call fcn.004143f0
jmp 0x4af232
cmp word [esp + 0x7258], bp
jne 0x4af18b
lea edx, [esp + 0x174]
push edx
push ebp
lea eax, [esp + 0x7260]
push eax
push ebp
push ebp
call fcn.00442290
push ebp
push ebp
push ebp
push ebp
lea ecx, [esp + 0xba7c]
push ecx
call fcn.00442290
jmp 0x4af232
lea ecx, [esp + 0x11bc]
call fcn.0043ba40
mov byte [esp + 0x1ba78], 2
push 4
lea edx, [esp + 0x178]
push edx
lea ecx, [esp + 0x11c4]
call fcn.0043ba80
test al, al
je 0x4af21e
lea eax, [esp + 0x174]
push eax
push ebp
lea ecx, [esp + 0x7260]
push ecx
push ebp
push ebp
call fcn.00442290
push 0x10000
lea edx, [esp + 0xba70]
push edx
lea ecx, [esp + 0x11c4]
call fcn.0043c490
cmp eax, ebp
je 0x4af21e
mov edi, edi
push ebp
push ebp
push ebp
push eax
lea eax, [esp + 0xba7c]
push eax
call fcn.00442290
push 0x10000
lea ecx, [esp + 0xba70]
push ecx
lea ecx, [esp + 0x11c4]
call fcn.0043c490
cmp eax, ebp
jne 0x4af1f0
mov byte [esp + 0x1ba78], 1
lea ecx, [esp + 0x11bc]
call fcn.0043c140
lea edx, [esp + 0x174]
push edx
lea ecx, [esp + 0x3234]
call fcn.00478f80
test eax, eax
je 0x4aeca0
cmp byte [0x535c28], 0
mov byte [0x573416], 0
je 0x4af26e
cmp byte [0x573414], 0
je 0x4af26e
mov byte [0x535c28], 0
mov eax, dword [0x5765a8]
cmp eax, ebp
je 0x4af292
movzx ecx, byte [0x57ab52]
mov edx, dword [0x533b54]
push ecx
push eax
push edx
call fcn.004ab040
mov dword [0x5765a8], ebp
push 0x270
mov byte [0x573415], 0
call fcn.00475cc0
push eax
mov eax, dword [0x533b54]
push 0x9b
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x535c28], 0
je 0x4af2cd
mov ecx, dword [0x533b54]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x4af2d2
call fcn.004a0af0
cmp word [0x5745a8], bp
je 0x4af313
push 0x5745a8
mov ecx, 0x5404f0
call fcn.00451530
cmp word [0x5755a8], bp
je 0x4af302
push 0x5755a8
mov ecx, 0x5404f0
call fcn.00451650
push 0x5735a8
mov ecx, 0x5404f0
call fcn.0044f990
jmp 0x4af361
cmp word [0x5755a8], bp
je 0x4af346
mov ecx, 0x5404f0
call fcn.0044f920
push 0x5755a8
mov ecx, 0x5404f0
call fcn.00451650
push 0x5735a8
mov ecx, 0x5404f0
call fcn.0044f990
jmp 0x4af361
cmp byte [0x533b59], 0
je 0x4af361
lea edx, [esp + 0x8a6c]
push edx
mov ecx, 0x542618
call fcn.00415280
mov dword [esp + 0x1ba78], 0xffffffff
lea ecx, [esp + 0x3230]
call fcn.00478950
mov ecx, dword [esp + 0x1ba70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1ba58]
xor ecx, esp
call fcn.004c1c22
add esp, 0x1ba68
ret 4