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

Disassembly:
push 0xffffffffffffffff
push 0x4c4e04
mov eax, dword fs:[0]
push eax
mov eax, 0x17284
call fcn.004b0000
mov eax, dword [0x4d98f0]
xor eax, esp
mov dword [esp + 0x17280], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d98f0]
xor eax, esp
push eax
lea eax, [esp + 0x17298]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x172a8]
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebp, ebp
test byte [0x542e30], 1
mov word [0x53ffa8], ax
mov word [0x53f7a8], cx
mov word [0x53efa8], dx
mov byte [0x53ee14], al
jne 0x49a6e0
or dword [0x542e30], 1
mov dword [esp + 0x172a0], ebp
mov ecx, 0x542830
call fcn.00496ee0
push 0x4c5830
call fcn.004b1e3f
add esp, 4
mov dword [esp + 0x172a0], 0xffffffff
mov ecx, 0x542830
mov dword [0x5407ac], 0x542830
call fcn.00470000
mov ecx, 0x5428d8
call fcn.00470000
mov ecx, 0x542980
call fcn.00470000
mov al, byte [0x51a779]
mov byte [0x542e2e], al
cmp ebx, ebp
jne 0x49a741
mov ecx, dword [0x51b8cc]
mov edx, dword [0x5072f0]
push 0x542830
push 0x494930
push ecx
push str.FINDFILES
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x49b06f
push 0x497650
push ebp
push ebp
push 7
call fcn.0048ebc0
push 0x4cdda8
call fcn.0048ca80
cmp ebx, ebp
je 0x49a838
xor eax, eax
jmp 0x49a770
mov cl, byte [eax + 0x528c63]
mov byte [esp + eax + 0x4e88], cl
inc eax
test cl, cl
jne 0x49a770
mov byte [0x542e28], cl
push 0x4c6f44
mov ecx, 0x542980
mov byte [0x542e2a], 1
mov byte [0x542e29], 1
call fcn.004703f0
mov ecx, dword [0x52a494]
call fcn.0046ffa0
push 0x400
lea eax, [esp + 0x5a98]
push eax
lea ecx, [esp + 0x529c]
push ecx
mov ecx, dword [0x52a494]
call fcn.004704c0
test al, al
je 0x49a909
jmp 0x49a7e0
push 0x400
lea edx, [esp + 0x5a98]
push edx
mov eax, edx
push eax
lea ecx, [esp + 0x52a0]
push ecx
call fcn.00455d40
lea edx, [esp + 0x5a94]
push edx
mov ecx, 0x542830
call fcn.004703f0
push 0x400
lea eax, [esp + 0x5a98]
push eax
lea ecx, [esp + 0x529c]
push ecx
mov ecx, dword [0x52a494]
call fcn.004704c0
test al, al
jne 0x49a7e0
jmp 0x49a909
cmp byte [0x542a28], 0
mov byte [esp + 0x4e88], 0
je 0x49a909
cmp byte [0x542e2b], 0
je 0x49a872
lea edi, [esp + 0x4e88]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x49a860
mov dx, word [0x4cdda4]
mov word [edi], dx
cmp byte [0x542e2c], 0
je 0x49a894
lea edi, [esp + 0x4e88]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x49a883
mov ax, word [0x4cdda0]
mov word [edi], ax
cmp byte [0x542e2d], 0
je 0x49a8b7
lea edi, [esp + 0x4e88]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x49a8a5
mov cx, word [0x4cdd9c]
mov word [edi], cx
lea edi, [esp + 0x4e88]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x49a8c0
mov dx, word [str.htc]
mov eax, 0x542a28
mov word [edi], dx
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49a8e0
lea edi, [esp + 0x4e88]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x49a8f1
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 [0x51a779], 0
je 0x49a929
push 0x400
lea eax, [esp + 0x6298]
push eax
mov ecx, 0x5219d0
call fcn.004131f0
cmp byte [0x542e28], 0
mov dword [0x5407a8], ebp
mov byte [0x53ee15], 0
mov byte [0x53ee16], 1
mov edi, 2
je 0x49a958
cmp byte [0x542e2e], 0
jne 0x49a958
mov ecx, edi
jmp 0x49a95a
xor ecx, ecx
mov eax, 0x5428d8
cmp ebx, ebp
je 0x49a965
mov eax, ebx
push 3
push ebp
push ecx
push eax
lea ecx, [esp + 0x2a6c]
call fcn.00469000
mov dword [esp + 0x172a0], 1
lea ecx, [esp + 0xd78]
call fcn.004128b0
lea ecx, [esp + 0xd9c]
call fcn.004128b0
lea ecx, [esp + 0xdc0]
call fcn.004128b0
lea ecx, [esp + 0x164]
push ecx
lea ecx, [esp + 0x2a60]
call fcn.00469b50
test eax, eax
jne 0x49af80
cmp byte [0x51b848], 0
jne 0x49af80
call fcn.0044c9d0
mov eax, dword [0x5407a8]
cmp eax, ebp
je 0x49a9f6
movzx edx, byte [0x542e2e]
push edx
push eax
mov eax, dword [0x51a774]
push eax
call fcn.00496fc0
mov dword [0x5407a8], ebp
cmp word [esp + 0x564], 0x2e
jne 0x49aa13
cmp word [esp + 0x566], 0x5c
lea ecx, [esp + 0x568]
je 0x49aa1a
lea ecx, [esp + 0x564]
lea edx, [esp + 0x5a94]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, edi
add edx, edi
cmp ax, bp
jne 0x49aa21
push 0x50
lea ecx, [esp + 0x5a98]
push ecx
call fcn.0044c5a0
push eax
push 0x523
call fcn.00466860
push eax
lea edx, [esp + 0x6a9c]
push edx
mov edx, 0x400
call fcn.00407130
mov ecx, dword [0x51a774]
add esp, 0xc
lea eax, [esp + 0x6a94]
push eax
push 0x9b
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x542e2a], 0
je 0x49aace
cmp byte [esp + 0xd74], 0
jne 0x49aace
mov ecx, 0x542980
call fcn.0046ffa0
mov ecx, 0x542980
call fcn.00470660
mov esi, eax
cmp esi, ebp
je 0x49aace
push ebp
lea edx, [esp + 0x568]
push edx
push esi
call fcn.0044be70
test al, al
jne 0x49ab3b
mov ecx, 0x542980
call fcn.00470660
mov esi, eax
cmp esi, ebp
jne 0x49aaa7
cmp byte [0x542e29], 0
je 0x49af64
cmp byte [esp + 0xd74], 0
je 0x49aaf3
cmp byte [esp + 0x4e88], 0
jne 0x49af64
mov ecx, 0x542830
call fcn.0046ffa0
mov ecx, 0x542830
call fcn.00470660
cmp eax, ebp
je 0x49af64
nop
push 4
lea ecx, [esp + 0x568]
push ecx
push eax
call fcn.0044be70
test al, al
jne 0x49ae63
mov ecx, 0x542830
call fcn.00470660
cmp eax, ebp
jne 0x49ab10
jmp 0x49af64
cmp word [esi], 0x2a
jne 0x49ab70
cmp word [esi + 2], bp
jne 0x49ab70
cmp byte [0x542e2e], 0
jne 0x49ab70
push 1
push ebp
push ebp
push ebp
push ebp
lea eax, [esp + 0x578]
push eax
mov ecx, 0x5219d0
call fcn.004173a0
test al, al
je 0x49aace
cmp byte [0x542e2e], 0
mov dword [0x51b01c], edi
je 0x49ab86
mov byte [0x522f0a], 1
cmp byte [esp + 0x4e88], 0
push 1
setne cl
movzx edx, cl
push edx
lea eax, [esp + 0x56c]
push eax
mov ecx, 0x5219d0
call fcn.004169e0
cmp eax, edi
jne 0x49abbf
call fcn.004535a0
test al, al
je 0x49af80
jmp 0x49af64
cmp eax, 1
jne 0x49aace
push eax
push ebp
push ebp
push ebp
xor ecx, ecx
lea edx, [esp + 0x52a4]
push edx
lea eax, [esp + 0x578]
mov word [esp + 0x52a8], cx
push eax
mov ecx, 0x5219d0
call fcn.004173a0
lea ecx, [esp + 0x5294]
push ecx
lea edx, [esp + 0x568]
push edx
call fcn.00477400
test eax, eax
je 0x49aca2
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea eax, [esp + 0x5294]
push eax
call esi
cmp eax, 0xffffffff
jne 0x49af64
push 0x4c6e10
lea ecx, [esp + 0x5298]
push ecx
call fcn.00457e10
lea edx, [esp + 0x5294]
push edx
lea eax, [esp + 0x568]
push eax
call fcn.00477400
test eax, eax
je 0x49ac64
lea ecx, [esp + 0x5294]
push ecx
call esi
cmp eax, 0xffffffff
jne 0x49af64
push 0x4c6e18
lea edx, [esp + 0x5298]
push edx
call fcn.00457e10
lea eax, [esp + 0x5294]
push eax
lea ecx, [esp + 0x568]
push ecx
call fcn.00477400
test eax, eax
je 0x49aca2
lea edx, [esp + 0x5294]
push edx
call esi
cmp eax, 0xffffffff
jne 0x49af64
cmp byte [esp + 0x4e88], 0
jne 0x49ad72
push 1
lea eax, [esp + 0x1608]
push eax
mov ecx, 0x5219d0
xor ebx, ebx
call fcn.004128c0
test al, al
je 0x49af64
mov edi, edi
cmp byte [0x51b848], 0
jne 0x49af64
inc ebx
test bl, 0x1f
jne 0x49ace8
call fcn.0044c9d0
mov ecx, 0x542830
call fcn.0046ffa0
mov ecx, 0x542830
call fcn.00470660
cmp eax, ebp
je 0x49ad51
push 4
lea ecx, [esp + 0x1608]
push ecx
push eax
call fcn.0044be70
test al, al
jne 0x49ad24
mov ecx, 0x542830
call fcn.00470660
cmp eax, ebp
jne 0x49ad00
jmp 0x49ad51
mov edx, dword [esp + 0x1e14]
push 0x4c6a66
push edx
call fcn.00435650
movzx eax, al
push eax
lea ecx, [esp + 0x160c]
push ecx
push ebp
lea edx, [esp + 0x574]
push edx
push ebp
call fcn.00491eb0
push 1
lea eax, [esp + 0x1608]
push eax
mov ecx, 0x5219d0
call fcn.004128c0
test al, al
jne 0x49acd0
jmp 0x49af64
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x5219d0
call fcn.00413240
mov ecx, 0x5219d0
call fcn.00411b10
and eax, 0x400
and edx, ebp
or eax, edx
je 0x49adb3
push 0x3ac
call fcn.00466860
push eax
push 0x529c92
call fcn.00499df0
add esp, 8
jmp 0x49af64
push ebp
call fcn.00487920
push 0x400
push 0x529c92
mov ecx, 0x5219d0
call fcn.00413210
mov edx, dword [esp + 0x94]
mov ecx, dword [0x52a494]
mov dword [0x527c24], edx
call fcn.00470000
mov ecx, 0x542830
call fcn.0046ffa0
mov ecx, 0x542830
call fcn.00470660
cmp eax, ebp
je 0x49ae1a
lea ecx, [ecx]
mov ecx, dword [0x52a494]
push eax
call fcn.00470400
mov ecx, 0x542830
call fcn.00470660
cmp eax, ebp
jne 0x49ae00
lea eax, [esp + 0x4e88]
push eax
push 0x4cdd94
push 0x528c62
mov byte [0x527342], 1
mov dword [0x5272e4], ebp
mov dword [0x527308], ebp
call fcn.004b002b
add esp, 0xc
mov ecx, 0x5219d0
mov byte [0x528c3c], 1
mov dword [0x51b01c], edi
call fcn.00413c20
jmp 0x49af64
cmp byte [esp + 0x4e88], 0
jne 0x49aea6
lea edx, [esp + 0x564]
push edx
lea eax, [esp + 0x168]
push eax
push ebp
push ebp
lea ecx, [esp + 0x4e98]
push ecx
push ebp
push ebp
call fcn.0043b2a0
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0x72ac]
push edx
call fcn.0043b2a0
jmp 0x49af64
lea ecx, [esp + 0x1e34]
call fcn.004340f0
mov byte [esp + 0x172a0], 2
push 4
lea eax, [esp + 0x568]
push eax
lea ecx, [esp + 0x16c]
push ecx
lea ecx, [esp + 0x1e40]
call fcn.00434530
test al, al
je 0x49af50
lea edx, [esp + 0x564]
push edx
lea eax, [esp + 0x168]
push eax
push ebp
push ebp
lea ecx, [esp + 0x4e98]
push ecx
push ebp
push ebp
call fcn.0043b2a0
push 0x10000
lea edx, [esp + 0x7298]
push edx
lea ecx, [esp + 0x1e3c]
call fcn.00434e60
cmp eax, ebp
je 0x49af50
lea ebx, [ebx]
push ebp
push ebp
push ebp
push ebp
push ebp
push eax
lea eax, [esp + 0x72ac]
push eax
call fcn.0043b2a0
push 0x10000
lea ecx, [esp + 0x7298]
push ecx
lea ecx, [esp + 0x1e3c]
call fcn.00434e60
cmp eax, ebp
jne 0x49af20
mov byte [esp + 0x172a0], 1
lea ecx, [esp + 0x1e34]
call fcn.00434500
lea edx, [esp + 0x164]
push edx
lea ecx, [esp + 0x2a60]
call fcn.00469b50
test eax, eax
je 0x49a9c1
cmp byte [0x51b848], 0
mov byte [0x53ee16], 0
je 0x49afa0
cmp byte [0x53ee14], 0
je 0x49afa0
mov byte [0x51b848], 0
mov eax, dword [0x5407a8]
cmp eax, ebp
je 0x49afc4
movzx ecx, byte [0x542e2e]
mov edx, dword [0x51a774]
push ecx
push eax
push edx
call fcn.00496fc0
mov dword [0x5407a8], ebp
push 0x270
mov byte [0x53ee15], 0
call fcn.00466860
push eax
mov eax, dword [0x51a774]
push 0x9b
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x51b848], 0
je 0x49afff
mov ecx, dword [0x51a774]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x49b004
call fcn.0048c5f0
cmp word [0x53f7a8], bp
je 0x49b027
push 0x53f7a8
mov ecx, 0x5210a8
call fcn.0044a0e0
cmp word [0x53ffa8], bp
je 0x49b049
jmp 0x49b03a
cmp word [0x53ffa8], bp
je 0x49b058
mov ecx, 0x5210a8
call fcn.00448480
push 0x53ffa8
mov ecx, 0x5210a8
call fcn.0044a290
push 0x53efa8
mov ecx, 0x5210a8
call fcn.004485a0
mov dword [esp + 0x172a0], 0xffffffff
lea ecx, [esp + 0x2a5c]
call fcn.004692a0
mov ecx, dword [esp + 0x17298]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x17280]
xor ecx, esp
call fcn.004affec
add esp, 0x17290
ret 4