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

Disassembly:
push 0xffffffffffffffff
push 0x4b6cd4
mov eax, dword fs:[0]
push eax
mov eax, 0x1727c
call fcn.004a4490
mov eax, dword [0x4ca3b0]
xor eax, esp
mov dword [esp + 0x17278], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ca3b0]
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 [0x513c58], 1
mov word [0x510dd0], ax
mov word [0x5105d0], cx
mov word [0x50fdd0], dx
jne 0x4936ab
or dword [0x513c58], 1
mov dword [esp + 0x17298], ebp
mov ecx, 0x513658
call fcn.0048fe60
push 0x4b7730
call fcn.004a65ea
add esp, 4
mov dword [esp + 0x17298], 0xffffffff
mov ecx, 0x513658
mov dword [0x5115d4], 0x513658
call fcn.0046a4c0
mov ecx, 0x513700
call fcn.0046a4c0
mov ecx, 0x5137a8
call fcn.0046a4c0
mov al, byte [0x4e7b89]
mov byte [0x513c56], al
cmp ebx, ebp
jne 0x49370c
mov ecx, dword [0x4e8cd4]
mov edx, dword [0x4d56b0]
push 0x513658
push 0x48d770
push ecx
push str.FINDFILES
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x493fc6
push 0x4905d0
push ebp
push ebp
push 7
call fcn.00487af0
push 0x4bf4ec
call fcn.004859a0
cmp ebx, ebp
je 0x4937f8
xor eax, eax
mov edi, edi
mov cl, byte [eax + 0x4f5fec]
mov byte [esp + eax + 0x4e80], cl
inc eax
test cl, cl
jne 0x493730
mov byte [0x513c50], cl
push 0x4b8efc
mov ecx, 0x5137a8
mov byte [0x513c52], 1
mov byte [0x513c51], 1
call fcn.0046a8b0
mov ecx, dword [0x4f781c]
call fcn.0046a460
push 0x400
lea eax, [esp + 0x5a90]
push eax
lea ecx, [esp + 0x5294]
push ecx
mov ecx, dword [0x4f781c]
call fcn.0046a980
test al, al
je 0x4938c9
jmp 0x4937a0
push 0x400
lea edx, [esp + 0x5a90]
push edx
mov eax, edx
push eax
lea ecx, [esp + 0x5298]
push ecx
call fcn.00451460
lea edx, [esp + 0x5a8c]
push edx
mov ecx, 0x513658
call fcn.0046a8b0
push 0x400
lea eax, [esp + 0x5a90]
push eax
lea ecx, [esp + 0x5294]
push ecx
mov ecx, dword [0x4f781c]
call fcn.0046a980
test al, al
jne 0x4937a0
jmp 0x4938c9
cmp byte [0x513850], 0
mov byte [esp + 0x4e80], 0
je 0x4938c9
cmp byte [0x513c53], 0
je 0x493832
lea edi, [esp + 0x4e80]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x493820
mov dx, word [0x4bf4e8]
mov word [edi], dx
cmp byte [0x513c54], 0
je 0x493854
lea edi, [esp + 0x4e80]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x493843
mov ax, word [0x4bf4e4]
mov word [edi], ax
cmp byte [0x513c55], 0
je 0x493877
lea edi, [esp + 0x4e80]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x493865
mov cx, word [0x4bf4e0]
mov word [edi], cx
lea edi, [esp + 0x4e80]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x493880
mov dx, word [str.htc]
mov eax, 0x513850
mov word [edi], dx
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4938a0
lea edi, [esp + 0x4e80]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4938b1
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 [0x4e7b89], 0
je 0x4938e9
push 0x400
lea eax, [esp + 0x6290]
push eax
mov ecx, 0x4eeda0
call fcn.00412f60
cmp byte [0x513c50], 0
mov dword [0x5115d0], ebp
mov byte [0x50fc3c], 0
mov byte [0x50fc3d], 1
mov edi, 2
je 0x493918
cmp byte [0x513c56], 0
jne 0x493918
mov ecx, edi
jmp 0x49391a
xor ecx, ecx
mov eax, 0x513700
cmp ebx, ebp
je 0x493925
mov eax, ebx
push ebp
push ebp
push ecx
push eax
lea ecx, [esp + 0x2a64]
call fcn.00463200
mov dword [esp + 0x17298], 1
lea ecx, [esp + 0xd78]
call fcn.0046d1b0
lea ecx, [esp + 0xd9c]
call fcn.0046d1b0
lea ecx, [esp + 0xdc0]
call fcn.0046d1b0
lea ecx, [esp + 0x164]
push ecx
lea ecx, [esp + 0x2a58]
call fcn.00463d50
test eax, eax
jne 0x493ef0
cmp byte [0x4e8c4c], 0
jne 0x493ef0
call fcn.00446a80
mov eax, dword [0x5115d0]
cmp eax, ebp
je 0x4939b5
movzx edx, byte [0x513c56]
push edx
push eax
mov eax, dword [0x4e7b84]
push eax
call fcn.0048ff40
mov dword [0x5115d0], ebp
cmp word [esp + 0x564], 0x2e
jne 0x4939d2
cmp word [esp + 0x566], 0x5c
lea ecx, [esp + 0x568]
je 0x4939d9
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 0x4939e0
push 0x50
lea ecx, [esp + 0x5a90]
push ecx
call fcn.00446650
push eax
push 0x523
call fcn.00460a30
push eax
lea edx, [esp + 0x6a94]
push edx
mov edx, 0x400
call fcn.0046b810
mov ecx, dword [0x4e7b84]
add esp, 0xc
lea eax, [esp + 0x6a8c]
push eax
push 0x9b
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x513c52], 0
je 0x493a83
mov ecx, 0x5137a8
call fcn.0046a460
mov ecx, 0x5137a8
call fcn.0046ab20
mov esi, eax
cmp esi, ebp
je 0x493a83
lea esp, [esp]
push ebp
lea edx, [esp + 0x568]
push edx
push esi
call fcn.00445f20
test al, al
jne 0x493adb
mov ecx, 0x5137a8
call fcn.0046ab20
mov esi, eax
cmp esi, ebp
jne 0x493a60
cmp byte [0x513c51], 0
je 0x493ed4
mov ecx, 0x513658
call fcn.0046a460
mov ecx, 0x513658
call fcn.0046ab20
cmp eax, ebp
je 0x493ed4
lea esp, [esp]
push 4
lea ecx, [esp + 0x568]
push ecx
push eax
call fcn.00445f20
test al, al
jne 0x493dd3
mov ecx, 0x513658
call fcn.0046ab20
cmp eax, ebp
jne 0x493ab0
jmp 0x493ed4
cmp word [esi], 0x2a
jne 0x493b10
cmp word [esi + 2], bp
jne 0x493b10
cmp byte [0x513c56], 0
jne 0x493b10
push 1
push ebp
push ebp
push ebp
push ebp
lea eax, [esp + 0x578]
push eax
mov ecx, 0x4eeda0
call fcn.00416aa0
test al, al
je 0x493a83
cmp byte [0x513c56], 0
mov dword [0x4e842c], edi
je 0x493b26
mov byte [0x4f02da], 1
cmp byte [esp + 0x4e80], 0
push 1
setne cl
movzx edx, cl
push edx
lea eax, [esp + 0x56c]
push eax
mov ecx, 0x4eeda0
call fcn.00416180
cmp eax, edi
jne 0x493b5f
call fcn.0044eed0
test al, al
je 0x493ef0
jmp 0x493ed4
cmp eax, 1
jne 0x493a83
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, 0x4eeda0
call fcn.00416aa0
lea ecx, [esp + 0x528c]
push ecx
lea edx, [esp + 0x568]
push edx
call fcn.00472b40
test eax, eax
je 0x493c42
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea eax, [esp + 0x528c]
push eax
call esi
cmp eax, 0xffffffff
jne 0x493ed4
push 0x4b8dc4
lea ecx, [esp + 0x5290]
push ecx
call fcn.00453570
lea edx, [esp + 0x528c]
push edx
lea eax, [esp + 0x568]
push eax
call fcn.00472b40
test eax, eax
je 0x493c04
lea ecx, [esp + 0x528c]
push ecx
call esi
cmp eax, 0xffffffff
jne 0x493ed4
push 0x4b8dcc
lea edx, [esp + 0x5290]
push edx
call fcn.00453570
lea eax, [esp + 0x528c]
push eax
lea ecx, [esp + 0x568]
push ecx
call fcn.00472b40
test eax, eax
je 0x493c42
lea edx, [esp + 0x528c]
push edx
call esi
cmp eax, 0xffffffff
jne 0x493ed4
cmp byte [esp + 0x4e80], 0
jne 0x493d12
push 1
lea eax, [esp + 0x1608]
push eax
mov ecx, 0x4eeda0
xor ebx, ebx
call fcn.00412630
test al, al
je 0x493ed4
mov edi, edi
cmp byte [0x4e8c4c], 0
jne 0x493ed4
inc ebx
test bl, 0x1f
jne 0x493c88
call fcn.00446a80
mov ecx, 0x513658
call fcn.0046a460
mov ecx, 0x513658
call fcn.0046ab20
cmp eax, ebp
je 0x493cf1
push 4
lea ecx, [esp + 0x1608]
push ecx
push eax
call fcn.00445f20
test al, al
jne 0x493cc4
mov ecx, 0x513658
call fcn.0046ab20
cmp eax, ebp
jne 0x493ca0
jmp 0x493cf1
mov edx, dword [esp + 0x1e14]
push 0x4b8a2e
push edx
call fcn.00431590
movzx eax, al
push eax
lea ecx, [esp + 0x160c]
push ecx
push ebp
lea edx, [esp + 0x574]
push edx
push ebp
call fcn.0048ad40
push 1
lea eax, [esp + 0x1608]
push eax
mov ecx, 0x4eeda0
call fcn.00412630
test al, al
jne 0x493c70
jmp 0x493ed4
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x4eeda0
call fcn.00412fb0
call fcn.00480dd0
push 0x400
push 0x4f701c
mov ecx, 0x4eeda0
call fcn.00412f80
mov edx, dword [esp + 0x94]
mov ecx, dword [0x4f781c]
mov dword [0x4f4fbc], edx
call fcn.0046a4c0
mov ecx, 0x513658
call fcn.0046a460
mov ecx, 0x513658
call fcn.0046ab20
cmp eax, ebp
je 0x493d8a
lea ebx, [ebx]
mov ecx, dword [0x4f781c]
push eax
call fcn.0046a8c0
mov ecx, 0x513658
call fcn.0046ab20
cmp eax, ebp
jne 0x493d70
lea eax, [esp + 0x4e80]
push eax
push 0x4bf4d8
push 0x4f5feb
mov byte [0x4f46da], 1
mov dword [0x4f467c], ebp
mov dword [0x4f46a0], ebp
call fcn.004a3c72
add esp, 0xc
mov ecx, 0x4eeda0
mov byte [0x4f5fcd], 1
mov dword [0x4e842c], edi
call fcn.00411490
jmp 0x493ed4
cmp byte [esp + 0x4e80], 0
jne 0x493e16
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.004354f0
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0x72a4]
push edx
call fcn.004354f0
jmp 0x493ed4
lea ecx, [esp + 0x1e34]
call fcn.004300b0
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.004304f0
test al, al
je 0x493ec0
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.004354f0
push 0x10000
lea edx, [esp + 0x7290]
push edx
lea ecx, [esp + 0x1e3c]
call fcn.00430da0
cmp eax, ebp
je 0x493ec0
jmp 0x493e90
push ebp
push ebp
push ebp
push ebp
push ebp
push eax
lea eax, [esp + 0x72a4]
push eax
call fcn.004354f0
push 0x10000
lea ecx, [esp + 0x7290]
push ecx
lea ecx, [esp + 0x1e3c]
call fcn.00430da0
cmp eax, ebp
jne 0x493e90
mov byte [esp + 0x17298], 1
lea ecx, [esp + 0x1e34]
call fcn.004304c0
lea edx, [esp + 0x164]
push edx
lea ecx, [esp + 0x2a58]
call fcn.00463d50
test eax, eax
je 0x493980
mov eax, dword [0x5115d0]
mov byte [0x50fc3d], 0
cmp eax, ebp
je 0x493f1b
movzx ecx, byte [0x513c56]
mov edx, dword [0x4e7b84]
push ecx
push eax
push edx
call fcn.0048ff40
mov dword [0x5115d0], ebp
push 0x270
mov byte [0x50fc3c], 0
call fcn.00460a30
push eax
mov eax, dword [0x4e7b84]
push 0x9b
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp byte [0x4e8c4c], 0
je 0x493f56
mov ecx, dword [0x4e7b84]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x493f5b
call fcn.00485530
cmp word [0x5105d0], bp
je 0x493f7e
push 0x5105d0
mov ecx, 0x4ee478
call fcn.004447a0
cmp word [0x510dd0], bp
je 0x493fa0
jmp 0x493f91
cmp word [0x510dd0], bp
je 0x493faf
mov ecx, 0x4ee478
call fcn.00442540
push 0x510dd0
mov ecx, 0x4ee478
call fcn.004441f0
push 0x50fdd0
mov ecx, 0x4ee478
call fcn.00442660
mov dword [esp + 0x17298], 0xffffffff
lea ecx, [esp + 0x2a54]
call fcn.004634b0
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.004a3c63
add esp, 0x17288
ret 4