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

Disassembly:
push 0xffffffffffffffff
push 0x4b87f4
mov eax, dword fs:[0]
push eax
mov eax, 0x1727c
call fcn.004a5100
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 [0x515c60], 1
mov word [0x512dd8], ax
mov word [0x5125d8], cx
mov word [0x511dd8], dx
jne 0x4941fb
or dword [0x515c60], 1
mov dword [esp + 0x17298], ebp
mov ecx, 0x515660
call fcn.004909b0
push 0x4b9250
call fcn.004a7333
add esp, 4
mov dword [esp + 0x17298], 0xffffffff
mov ecx, 0x515660
mov dword [0x5135dc], 0x515660
call fcn.0046ac90
mov ecx, 0x515708
call fcn.0046ac90
mov ecx, 0x5157b0
call fcn.0046ac90
mov al, byte [0x4e9b89]
mov byte [0x515c5e], al
cmp ebx, ebp
jne 0x49425c
mov ecx, dword [0x4eacd4]
mov edx, dword [0x4d76b0]
push 0x515660
push 0x48e2c0
push ecx
push str.FINDFILES
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x494b16
push 0x491130
push ebp
push ebp
push 7
call fcn.004885c0
push 0x4c154c
call fcn.00486450
cmp ebx, ebp
je 0x494348
xor eax, eax
mov edi, edi
mov cl, byte [eax + 0x4f7fec]
mov byte [esp + eax + 0x4e80], cl
inc eax
test cl, cl
jne 0x494280
mov byte [0x515c58], cl
push 0x4baefc
mov ecx, 0x5157b0
mov byte [0x515c5a], 1
mov byte [0x515c59], 1
call fcn.0046b080
mov ecx, dword [0x4f981c]
call fcn.0046ac30
push 0x400
lea eax, [esp + 0x5a90]
push eax
lea ecx, [esp + 0x5294]
push ecx
mov ecx, dword [0x4f981c]
call fcn.0046b150
test al, al
je 0x494419
jmp 0x4942f0
push 0x400
lea edx, [esp + 0x5a90]
push edx
mov eax, edx
push eax
lea ecx, [esp + 0x5298]
push ecx
call fcn.00451ae0
lea edx, [esp + 0x5a8c]
push edx
mov ecx, 0x515660
call fcn.0046b080
push 0x400
lea eax, [esp + 0x5a90]
push eax
lea ecx, [esp + 0x5294]
push ecx
mov ecx, dword [0x4f981c]
call fcn.0046b150
test al, al
jne 0x4942f0
jmp 0x494419
cmp byte [0x515858], 0
mov byte [esp + 0x4e80], 0
je 0x494419
cmp byte [0x515c5b], 0
je 0x494382
lea edi, [esp + 0x4e80]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x494370
mov dx, word [0x4c1548]
mov word [edi], dx
cmp byte [0x515c5c], 0
je 0x4943a4
lea edi, [esp + 0x4e80]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x494393
mov ax, word [0x4c1544]
mov word [edi], ax
cmp byte [0x515c5d], 0
je 0x4943c7
lea edi, [esp + 0x4e80]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4943b5
mov cx, word [0x4c1540]
mov word [edi], cx
lea edi, [esp + 0x4e80]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4943d0
mov dx, word [str.htc]
mov eax, 0x515858
mov word [edi], dx
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4943f0
lea edi, [esp + 0x4e80]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x494401
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 0x494439
push 0x400
lea eax, [esp + 0x6290]
push eax
mov ecx, 0x4f0da0
call fcn.004130c0
cmp byte [0x515c58], 0
mov dword [0x5135d8], ebp
mov byte [0x511c44], 0
mov byte [0x511c45], 1
mov edi, 2
je 0x494468
cmp byte [0x515c5e], 0
jne 0x494468
mov ecx, edi
jmp 0x49446a
xor ecx, ecx
mov eax, 0x515708
cmp ebx, ebp
je 0x494475
mov eax, ebx
push ebp
push ebp
push ecx
push eax
lea ecx, [esp + 0x2a64]
call fcn.004639a0
mov dword [esp + 0x17298], 1
lea ecx, [esp + 0xd78]
call fcn.00412750
lea ecx, [esp + 0xd9c]
call fcn.00412750
lea ecx, [esp + 0xdc0]
call fcn.00412750
lea ecx, [esp + 0x164]
push ecx
lea ecx, [esp + 0x2a58]
call fcn.004644f0
test eax, eax
jne 0x494a40
cmp byte [0x4eac4c], 0
jne 0x494a40
call fcn.004470b0
mov eax, dword [0x5135d8]
cmp eax, ebp
je 0x494505
movzx edx, byte [0x515c5e]
push edx
push eax
mov eax, dword [0x4e9b84]
push eax
call fcn.00490aa0
mov dword [0x5135d8], ebp
cmp word [esp + 0x564], 0x2e
jne 0x494522
cmp word [esp + 0x566], 0x5c
lea ecx, [esp + 0x568]
je 0x494529
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 0x494530
push 0x50
lea ecx, [esp + 0x5a90]
push ecx
call fcn.00446c80
push eax
push 0x523
call fcn.004611c0
push eax
lea edx, [esp + 0x6a94]
push edx
mov edx, 0x400
call fcn.004a29f0
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 [0x515c5a], 0
je 0x4945d3
mov ecx, 0x5157b0
call fcn.0046ac30
mov ecx, 0x5157b0
call fcn.0046b2f0
mov esi, eax
cmp esi, ebp
je 0x4945d3
lea esp, [esp]
push ebp
lea edx, [esp + 0x568]
push edx
push esi
call fcn.00446550
test al, al
jne 0x49462b
mov ecx, 0x5157b0
call fcn.0046b2f0
mov esi, eax
cmp esi, ebp
jne 0x4945b0
cmp byte [0x515c59], 0
je 0x494a24
mov ecx, 0x515660
call fcn.0046ac30
mov ecx, 0x515660
call fcn.0046b2f0
cmp eax, ebp
je 0x494a24
lea esp, [esp]
push 4
lea ecx, [esp + 0x568]
push ecx
push eax
call fcn.00446550
test al, al
jne 0x494923
mov ecx, 0x515660
call fcn.0046b2f0
cmp eax, ebp
jne 0x494600
jmp 0x494a24
cmp word [esi], 0x2a
jne 0x494660
cmp word [esi + 2], bp
jne 0x494660
cmp byte [0x515c5e], 0
jne 0x494660
push 1
push ebp
push ebp
push ebp
push ebp
lea eax, [esp + 0x578]
push eax
mov ecx, 0x4f0da0
call fcn.00416ca0
test al, al
je 0x4945d3
cmp byte [0x515c5e], 0
mov dword [0x4ea42c], edi
je 0x494676
mov byte [0x4f22da], 1
cmp byte [esp + 0x4e80], 0
push 1
setne cl
movzx edx, cl
push edx
lea eax, [esp + 0x56c]
push eax
mov ecx, 0x4f0da0
call fcn.00416320
cmp eax, edi
jne 0x4946af
call fcn.0044f470
test al, al
je 0x494a40
jmp 0x494a24
cmp eax, 1
jne 0x4945d3
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, 0x4f0da0
call fcn.00416ca0
lea ecx, [esp + 0x528c]
push ecx
lea edx, [esp + 0x568]
push edx
call fcn.00473340
test eax, eax
je 0x494792
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea eax, [esp + 0x528c]
push eax
call esi
cmp eax, 0xffffffff
jne 0x494a24
push 0x4badc8
lea ecx, [esp + 0x5290]
push ecx
call fcn.00453bf0
lea edx, [esp + 0x528c]
push edx
lea eax, [esp + 0x568]
push eax
call fcn.00473340
test eax, eax
je 0x494754
lea ecx, [esp + 0x528c]
push ecx
call esi
cmp eax, 0xffffffff
jne 0x494a24
push 0x4badd0
lea edx, [esp + 0x5290]
push edx
call fcn.00453bf0
lea eax, [esp + 0x528c]
push eax
lea ecx, [esp + 0x568]
push ecx
call fcn.00473340
test eax, eax
je 0x494792
lea edx, [esp + 0x528c]
push edx
call esi
cmp eax, 0xffffffff
jne 0x494a24
cmp byte [esp + 0x4e80], 0
jne 0x494862
push 1
lea eax, [esp + 0x1608]
push eax
mov ecx, 0x4f0da0
xor ebx, ebx
call fcn.00412790
test al, al
je 0x494a24
mov edi, edi
cmp byte [0x4eac4c], 0
jne 0x494a24
inc ebx
test bl, 0x1f
jne 0x4947d8
call fcn.004470b0
mov ecx, 0x515660
call fcn.0046ac30
mov ecx, 0x515660
call fcn.0046b2f0
cmp eax, ebp
je 0x494841
push 4
lea ecx, [esp + 0x1608]
push ecx
push eax
call fcn.00446550
test al, al
jne 0x494814
mov ecx, 0x515660
call fcn.0046b2f0
cmp eax, ebp
jne 0x4947f0
jmp 0x494841
mov edx, dword [esp + 0x1e14]
push 0x4baa2e
push edx
call fcn.004317f0
movzx eax, al
push eax
lea ecx, [esp + 0x160c]
push ecx
push ebp
lea edx, [esp + 0x574]
push edx
push ebp
call fcn.0048b860
push 1
lea eax, [esp + 0x1608]
push eax
mov ecx, 0x4f0da0
call fcn.00412790
test al, al
jne 0x4947c0
jmp 0x494a24
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x4f0da0
call fcn.00413110
call fcn.004816c0
push 0x400
push 0x4f901c
mov ecx, 0x4f0da0
call fcn.004130e0
mov edx, dword [esp + 0x94]
mov ecx, dword [0x4f981c]
mov dword [0x4f6fbc], edx
call fcn.0046ac90
mov ecx, 0x515660
call fcn.0046ac30
mov ecx, 0x515660
call fcn.0046b2f0
cmp eax, ebp
je 0x4948da
lea ebx, [ebx]
mov ecx, dword [0x4f981c]
push eax
call fcn.0046b090
mov ecx, 0x515660
call fcn.0046b2f0
cmp eax, ebp
jne 0x4948c0
lea eax, [esp + 0x4e80]
push eax
push 0x4c1538
push 0x4f7feb
mov byte [0x4f66da], 1
mov dword [0x4f667c], ebp
mov dword [0x4f66a0], ebp
call fcn.004a48e2
add esp, 0xc
mov ecx, 0x4f0da0
mov byte [0x4f7fce], 1
mov dword [0x4ea42c], edi
call fcn.004115f0
jmp 0x494a24
cmp byte [esp + 0x4e80], 0
jne 0x494966
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.004359e0
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0x72a4]
push edx
call fcn.004359e0
jmp 0x494a24
lea ecx, [esp + 0x1e34]
call fcn.00430300
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.00430740
test al, al
je 0x494a10
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.004359e0
push 0x10000
lea edx, [esp + 0x7290]
push edx
lea ecx, [esp + 0x1e3c]
call fcn.00431000
cmp eax, ebp
je 0x494a10
jmp 0x4949e0
push ebp
push ebp
push ebp
push ebp
push ebp
push eax
lea eax, [esp + 0x72a4]
push eax
call fcn.004359e0
push 0x10000
lea ecx, [esp + 0x7290]
push ecx
lea ecx, [esp + 0x1e3c]
call fcn.00431000
cmp eax, ebp
jne 0x4949e0
mov byte [esp + 0x17298], 1
lea ecx, [esp + 0x1e34]
call fcn.00430710
lea edx, [esp + 0x164]
push edx
lea ecx, [esp + 0x2a58]
call fcn.004644f0
test eax, eax
je 0x4944d0
mov eax, dword [0x5135d8]
mov byte [0x511c45], 0
cmp eax, ebp
je 0x494a6b
movzx ecx, byte [0x515c5e]
mov edx, dword [0x4e9b84]
push ecx
push eax
push edx
call fcn.00490aa0
mov dword [0x5135d8], ebp
push 0x270
mov byte [0x511c44], 0
call fcn.004611c0
push eax
mov eax, dword [0x4e9b84]
push 0x9b
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x4eac4c], 0
je 0x494aa6
mov ecx, dword [0x4e9b84]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x494aab
call fcn.00485fc0
cmp word [0x5125d8], bp
je 0x494ace
push 0x5125d8
mov ecx, 0x4f0478
call fcn.00444c80
cmp word [0x512dd8], bp
je 0x494af0
jmp 0x494ae1
cmp word [0x512dd8], bp
je 0x494aff
mov ecx, 0x4f0478
call fcn.00442a20
push 0x512dd8
mov ecx, 0x4f0478
call fcn.004446d0
push 0x511dd8
mov ecx, 0x4f0478
call fcn.00442b40
mov dword [esp + 0x17298], 0xffffffff
lea ecx, [esp + 0x2a54]
call fcn.00463c50
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.004a48d3
add esp, 0x17288
ret 4