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

Disassembly:
push 0xffffffffffffffff
push 0x4b8ac4
mov eax, dword fs:[0]
push eax
mov eax, 0x1727c
call fcn.004a53e0
mov eax, dword [0x4cc3b0]
xor eax, esp
mov dword [esp + 0x17278], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4cc3b0]
xor eax, esp
push eax
lea eax, [esp + 0x17290]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x172a0]
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebp, ebp
test byte [0x5150e8], 1
mov word [0x512260], ax
mov word [0x511a60], cx
mov word [0x511260], dx
jne 0x4944ab
or dword [0x5150e8], 1
mov dword [esp + 0x17298], ebp
mov ecx, 0x514ae8
call fcn.00490c70
push 0x4b9520
call fcn.004a7613
add esp, 4
mov dword [esp + 0x17298], 0xffffffff
mov ecx, 0x514ae8
mov dword [0x512a64], 0x514ae8
call fcn.0046ae50
mov ecx, 0x514b90
call fcn.0046ae50
mov ecx, 0x514c38
call fcn.0046ae50
mov al, byte [0x4e9b89]
mov byte [0x5150e6], al
cmp ebx, ebp
jne 0x49450c
mov ecx, dword [0x4eacd4]
mov edx, dword [0x4d76b0]
push 0x514ae8
push 0x48e570
push ecx
push str.FINDFILES
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x494dc6
push 0x4913e0
push ebp
push ebp
push 7
call fcn.00488860
push 0x4c1574
call fcn.004866e0
cmp ebx, ebp
je 0x4945f8
xor eax, eax
mov edi, edi
mov cl, byte [eax + 0x4f804c]
mov byte [esp + eax + 0x4e80], cl
inc eax
test cl, cl
jne 0x494530
mov byte [0x5150e0], cl
push 0x4baefc
mov ecx, 0x514c38
mov byte [0x5150e2], 1
mov byte [0x5150e1], 1
call fcn.0046b240
mov ecx, dword [0x4f987c]
call fcn.0046adf0
push 0x400
lea eax, [esp + 0x5a90]
push eax
lea ecx, [esp + 0x5294]
push ecx
mov ecx, dword [0x4f987c]
call fcn.0046b310
test al, al
je 0x4946c9
jmp 0x4945a0
push 0x400
lea edx, [esp + 0x5a90]
push edx
mov eax, edx
push eax
lea ecx, [esp + 0x5298]
push ecx
call fcn.00451a80
lea edx, [esp + 0x5a8c]
push edx
mov ecx, 0x514ae8
call fcn.0046b240
push 0x400
lea eax, [esp + 0x5a90]
push eax
lea ecx, [esp + 0x5294]
push ecx
mov ecx, dword [0x4f987c]
call fcn.0046b310
test al, al
jne 0x4945a0
jmp 0x4946c9
cmp byte [0x514ce0], 0
mov byte [esp + 0x4e80], 0
je 0x4946c9
cmp byte [0x5150e3], 0
je 0x494632
lea edi, [esp + 0x4e80]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x494620
mov dx, word [0x4c1570]
mov word [edi], dx
cmp byte [0x5150e4], 0
je 0x494654
lea edi, [esp + 0x4e80]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x494643
mov ax, word [0x4c156c]
mov word [edi], ax
cmp byte [0x5150e5], 0
je 0x494677
lea edi, [esp + 0x4e80]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x494665
mov cx, word [0x4c1568]
mov word [edi], cx
lea edi, [esp + 0x4e80]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x494680
mov dx, word [str.htc]
mov eax, 0x514ce0
mov word [edi], dx
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4946a0
lea edi, [esp + 0x4e80]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4946b1
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 [0x4e9b89], 0
je 0x4946e9
push 0x400
lea eax, [esp + 0x6290]
push eax
mov ecx, 0x4f0dd0
call fcn.00413080
cmp byte [0x5150e0], 0
mov dword [0x512a60], ebp
mov byte [0x5110cc], 0
mov byte [0x5110cd], 1
mov edi, 2
je 0x494718
cmp byte [0x5150e6], 0
jne 0x494718
mov ecx, edi
jmp 0x49471a
xor ecx, ecx
mov eax, 0x514b90
cmp ebx, ebp
je 0x494725
mov eax, ebx
push ebp
push ebp
push ecx
push eax
lea ecx, [esp + 0x2a64]
call fcn.00463ac0
mov dword [esp + 0x17298], 1
lea ecx, [esp + 0xd78]
call fcn.0046dbe0
lea ecx, [esp + 0xd9c]
call fcn.0046dbe0
lea ecx, [esp + 0xdc0]
call fcn.0046dbe0
lea ecx, [esp + 0x164]
push ecx
lea ecx, [esp + 0x2a58]
call fcn.00464610
test eax, eax
jne 0x494cf0
cmp byte [0x4eac4c], 0
jne 0x494cf0
call fcn.00447090
mov eax, dword [0x512a60]
cmp eax, ebp
je 0x4947b5
movzx edx, byte [0x5150e6]
push edx
push eax
mov eax, dword [0x4e9b84]
push eax
call fcn.00490d50
mov dword [0x512a60], ebp
cmp word [esp + 0x564], 0x2e
jne 0x4947d2
cmp word [esp + 0x566], 0x5c
lea ecx, [esp + 0x568]
je 0x4947d9
lea ecx, [esp + 0x564]
lea edx, [esp + 0x5a8c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, edi
add edx, edi
cmp ax, bp
jne 0x4947e0
push 0x50
lea ecx, [esp + 0x5a90]
push ecx
call fcn.00446c60
push eax
push 0x523
call fcn.004612e0
push eax
lea edx, [esp + 0x6a94]
push edx
mov edx, 0x400
call fcn.0049c880
mov ecx, dword [0x4e9b84]
add esp, 0xc
lea eax, [esp + 0x6a8c]
push eax
push 0x9b
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x5150e2], 0
je 0x494883
mov ecx, 0x514c38
call fcn.0046adf0
mov ecx, 0x514c38
call fcn.0046b4b0
mov esi, eax
cmp esi, ebp
je 0x494883
lea esp, [esp]
push ebp
lea edx, [esp + 0x568]
push edx
push esi
call fcn.00446530
test al, al
jne 0x4948db
mov ecx, 0x514c38
call fcn.0046b4b0
mov esi, eax
cmp esi, ebp
jne 0x494860
cmp byte [0x5150e1], 0
je 0x494cd4
mov ecx, 0x514ae8
call fcn.0046adf0
mov ecx, 0x514ae8
call fcn.0046b4b0
cmp eax, ebp
je 0x494cd4
lea esp, [esp]
push 4
lea ecx, [esp + 0x568]
push ecx
push eax
call fcn.00446530
test al, al
jne 0x494bd3
mov ecx, 0x514ae8
call fcn.0046b4b0
cmp eax, ebp
jne 0x4948b0
jmp 0x494cd4
cmp word [esi], 0x2a
jne 0x494910
cmp word [esi + 2], bp
jne 0x494910
cmp byte [0x5150e6], 0
jne 0x494910
push 1
push ebp
push ebp
push ebp
push ebp
lea eax, [esp + 0x578]
push eax
mov ecx, 0x4f0dd0
call fcn.00416cb0
test al, al
je 0x494883
cmp byte [0x5150e6], 0
mov dword [0x4ea42c], edi
je 0x494926
mov byte [0x4f230a], 1
cmp byte [esp + 0x4e80], 0
push 1
setne cl
movzx edx, cl
push edx
lea eax, [esp + 0x56c]
push eax
mov ecx, 0x4f0dd0
call fcn.004162e0
cmp eax, edi
jne 0x49495f
call fcn.0044f3f0
test al, al
je 0x494cf0
jmp 0x494cd4
cmp eax, 1
jne 0x494883
push eax
push ebp
push ebp
push ebp
xor ecx, ecx
lea edx, [esp + 0x529c]
push edx
lea eax, [esp + 0x578]
mov word [esp + 0x52a0], cx
push eax
mov ecx, 0x4f0dd0
call fcn.00416cb0
lea ecx, [esp + 0x528c]
push ecx
lea edx, [esp + 0x568]
push edx
call fcn.00473580
test eax, eax
je 0x494a42
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea eax, [esp + 0x528c]
push eax
call esi
cmp eax, 0xffffffff
jne 0x494cd4
push 0x4badc8
lea ecx, [esp + 0x5290]
push ecx
call fcn.00453ad0
lea edx, [esp + 0x528c]
push edx
lea eax, [esp + 0x568]
push eax
call fcn.00473580
test eax, eax
je 0x494a04
lea ecx, [esp + 0x528c]
push ecx
call esi
cmp eax, 0xffffffff
jne 0x494cd4
push 0x4badd0
lea edx, [esp + 0x5290]
push edx
call fcn.00453ad0
lea eax, [esp + 0x528c]
push eax
lea ecx, [esp + 0x568]
push ecx
call fcn.00473580
test eax, eax
je 0x494a42
lea edx, [esp + 0x528c]
push edx
call esi
cmp eax, 0xffffffff
jne 0x494cd4
cmp byte [esp + 0x4e80], 0
jne 0x494b12
push 1
lea eax, [esp + 0x1608]
push eax
mov ecx, 0x4f0dd0
xor ebx, ebx
call fcn.00412750
test al, al
je 0x494cd4
mov edi, edi
cmp byte [0x4eac4c], 0
jne 0x494cd4
inc ebx
test bl, 0x1f
jne 0x494a88
call fcn.00447090
mov ecx, 0x514ae8
call fcn.0046adf0
mov ecx, 0x514ae8
call fcn.0046b4b0
cmp eax, ebp
je 0x494af1
push 4
lea ecx, [esp + 0x1608]
push ecx
push eax
call fcn.00446530
test al, al
jne 0x494ac4
mov ecx, 0x514ae8
call fcn.0046b4b0
cmp eax, ebp
jne 0x494aa0
jmp 0x494af1
mov edx, dword [esp + 0x1e14]
push 0x4baa2e
push edx
call fcn.004317a0
movzx eax, al
push eax
lea ecx, [esp + 0x160c]
push ecx
push ebp
lea edx, [esp + 0x574]
push edx
push ebp
call fcn.0048bb00
push 1
lea eax, [esp + 0x1608]
push eax
mov ecx, 0x4f0dd0
call fcn.00412750
test al, al
jne 0x494a70
jmp 0x494cd4
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x4f0dd0
call fcn.004130d0
call fcn.00481960
push 0x400
push 0x4f907c
mov ecx, 0x4f0dd0
call fcn.004130a0
mov edx, dword [esp + 0x94]
mov ecx, dword [0x4f987c]
mov dword [0x4f701c], edx
call fcn.0046ae50
mov ecx, 0x514ae8
call fcn.0046adf0
mov ecx, 0x514ae8
call fcn.0046b4b0
cmp eax, ebp
je 0x494b8a
lea ebx, [ebx]
mov ecx, dword [0x4f987c]
push eax
call fcn.0046b250
mov ecx, 0x514ae8
call fcn.0046b4b0
cmp eax, ebp
jne 0x494b70
lea eax, [esp + 0x4e80]
push eax
push 0x4c1560
push 0x4f804b
mov byte [0x4f673a], 1
mov dword [0x4f66dc], ebp
mov dword [0x4f6700], ebp
call fcn.004a4bc2
add esp, 0xc
mov ecx, 0x4f0dd0
mov byte [0x4f802e], 1
mov dword [0x4ea42c], edi
call fcn.004115c0
jmp 0x494cd4
cmp byte [esp + 0x4e80], 0
jne 0x494c16
lea edx, [esp + 0x564]
push edx
lea eax, [esp + 0x168]
push eax
push ebp
push ebp
lea ecx, [esp + 0x4e90]
push ecx
push ebp
push ebp
call fcn.00435990
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0x72a4]
push edx
call fcn.00435990
jmp 0x494cd4
lea ecx, [esp + 0x1e34]
call fcn.004302b0
mov byte [esp + 0x17298], 2
push ebp
push 1
lea eax, [esp + 0x56c]
push eax
lea ecx, [esp + 0x170]
push ecx
lea ecx, [esp + 0x1e44]
call fcn.004306f0
test al, al
je 0x494cc0
lea edx, [esp + 0x564]
push edx
lea eax, [esp + 0x168]
push eax
push ebp
push ebp
lea ecx, [esp + 0x4e90]
push ecx
push ebp
push ebp
call fcn.00435990
push 0x10000
lea edx, [esp + 0x7290]
push edx
lea ecx, [esp + 0x1e3c]
call fcn.00430fb0
cmp eax, ebp
je 0x494cc0
jmp 0x494c90
push ebp
push ebp
push ebp
push ebp
push ebp
push eax
lea eax, [esp + 0x72a4]
push eax
call fcn.00435990
push 0x10000
lea ecx, [esp + 0x7290]
push ecx
lea ecx, [esp + 0x1e3c]
call fcn.00430fb0
cmp eax, ebp
jne 0x494c90
mov byte [esp + 0x17298], 1
lea ecx, [esp + 0x1e34]
call fcn.004306c0
lea edx, [esp + 0x164]
push edx
lea ecx, [esp + 0x2a58]
call fcn.00464610
test eax, eax
je 0x494780
mov eax, dword [0x512a60]
mov byte [0x5110cd], 0
cmp eax, ebp
je 0x494d1b
movzx ecx, byte [0x5150e6]
mov edx, dword [0x4e9b84]
push ecx
push eax
push edx
call fcn.00490d50
mov dword [0x512a60], ebp
push 0x270
mov byte [0x5110cc], 0
call fcn.004612e0
push eax
mov eax, dword [0x4e9b84]
push 0x9b
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x4eac4c], 0
je 0x494d56
mov ecx, dword [0x4e9b84]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x494d5b
call fcn.00486250
cmp word [0x511a60], bp
je 0x494d7e
push 0x511a60
mov ecx, 0x4f04a8
call fcn.00444c60
cmp word [0x512260], bp
je 0x494da0
jmp 0x494d91
cmp word [0x512260], bp
je 0x494daf
mov ecx, 0x4f04a8
call fcn.00442a00
push 0x512260
mov ecx, 0x4f04a8
call fcn.004446b0
push 0x511260
mov ecx, 0x4f04a8
call fcn.00442b20
mov dword [esp + 0x17298], 0xffffffff
lea ecx, [esp + 0x2a54]
call fcn.00463d70
mov ecx, dword [esp + 0x17290]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x17278]
xor ecx, esp
call fcn.004a4bb3
add esp, 0x17288
ret 4